Des embeddings statiques ont traité 32,9 millions de textes sur un ordinateur portable en 35 minutes
La vectorisation du corpus est la partie la plus lente de la recherche vectorielle : les transformeurs sont précis, mais sur CPU, ils mettent des jours à calculer. Le modèle statique potion-base-8M n'est qu'une table « token → vecteur » : le texte est découpé en tokens, les vecteurs sont lus dans la table puis moyennés. C'est ainsi que 32,9 millions de fragments ont été traités sur un ordinateur portable en 35 minutes, là où un transformeur aurait eu besoin d'environ 53 jours. Le prix à payer : la qualité de la recherche, car les tokens n'exercent aucune influence les uns sur les autres.
Traité par IA depuis Qdrant Articles ; édité par Hamidun News
Quiconque a construit une recherche vectorielle sur un grand corpus connaît ce moment. Les données sont collectées, la base vectorielle est prête, puis on découvre que la transformation des textes en embeddings prend des jours. Les modèles de type transformeur saisissent très bien le sens, mais ils sont lourds sur CPU. Il ne reste qu'à attendre ou à payer pour des GPU. L'équipe de Qdrant montre une troisième voie : ne pas lancer de réseau de neurones du tout.
Comment fonctionne un modèle sans réseau de neurones
Le modèle statique est d'une simplicité presque comique. C'est un dictionnaire dans lequel chaque token du vocabulaire du modèle est associé à l'avance à un vecteur. Pour obtenir l'embedding d'un texte, il suffit de trois étapes :
- Découper le texte en tokens.
- Récupérer dans la table le vecteur de chaque token.
- Faire la moyenne de ces vecteurs.
Il n'y a ni couches d'attention ni multiplications matricielles à chaque requête : tout le travail se réduit à des opérations rapides sur la mémoire. C'est pourquoi la vitesse relève d'un autre ordre de grandeur.
Les chiffres de l'expérience. Avec le modèle potion-base-8M, les auteurs ont vectorisé 32,9 millions de fragments de texte sur le CPU d'un ordinateur portable ordinaire en 35 minutes. Un modèle de type transformeur aurait eu besoin d'environ 53 jours. Au final, l'écart est d'environ 2 000 fois. Ce qui exigeait auparavant un cluster ou la location de cartes graphiques peut désormais se faire le temps d'une pause déjeuner.
Où est le piège
Il n'y a pas de repas gratuit, et les auteurs nomment franchement le prix : la qualité de la recherche baisse. La cause tient à la conception même du modèle. Dans un transformeur, chaque token « regarde » ses voisins, et le vecteur d'un mot dépend du contexte. Dans un modèle statique, un mot a un seul vecteur pour tous les usages.
Un exemple simple. Le mot « ключ » (clé) dans les requêtes « ключ от квартиры » (clé d'appartement) et « ключ API » (clé d'API) recevra exactement le même vecteur. Un transformeur distinguerait ces sens grâce à l'environnement, pas une moyenne. Autre souci : la moyenne perd l'ordre des mots. Les phrases « la banque a accordé un crédit au client » et « le client a accordé un crédit à la banque » deviennent presque indiscernables.
L'article ne donne pas de chiffres précis sur la perte de qualité ; ils sont absents du fragment source. On ne peut donc pas se contenter de penser que « ça ira ». Il faut mesurer sur ses propres données et ses propres requêtes.
Que faire en pratique
Les embeddings statiques ne remplacent pas les transformeurs partout, mais ils répondent bien à plusieurs situations typiques :
- Prototypes et expérimentations. Quand il faut vérifier rapidement une idée de recherche sur des millions de documents plutôt que d'attendre une semaine, une vectorisation peu coûteuse fait gagner du temps et de l'argent.
- Corpus gigantesques à budget limité. Si les GPU sont indisponibles ou économiquement injustifiés, on peut obtenir un index fonctionnel sur du matériel ordinaire.
- Recherche en deux étapes. Un modèle statique rapide sélectionne les candidats, tandis qu'un reranker lourd ou un transformeur ordonne la courte liste. La rudesse de la première étape est alors compensée par la seconde.
- Réindexations fréquentes. Si le corpus est mis à jour, la vitesse n'est plus un bonus mais une exigence.
L'algorithme pratique est le suivant. Prenez un échantillon représentatif de requêtes dont les bonnes réponses sont connues. Passez-le dans le modèle statique et dans le modèle de type transformeur, puis comparez les métriques de recherche. Si l'écart est acceptable pour votre produit, le gain en coût et en vitesse sera rentabilisé. Sinon, utilisez les vecteurs statiques comme première étape, pas comme étape finale.
La conclusion principale : un modèle « intelligent » n'est pas toujours nécessaire à chaque étape du pipeline. Une partie du travail peut être confiée à la table la plus simple, en économisant des jours de calcul ; l'essentiel est de mesurer honnêtement ce que vous payez en échange.
- 30 oct. 2026243 000 textes pour un petit modèle de 29 millions de paramètres : comment l'auteur a sélectionné des données de Wikipédia et de livres de psychologie
- 12 oct. 2026STAPLE ajoute des milliards de paramètres à OLMo-2 et décode deux fois plus vite que le MoE
- 30 avr. 2026Meta FAIR lance NeuralSet, un paquet Python qui relie données neuronales et modèles d'IA
- 13 oct. 2026Machine Learning Mastery montre comment monter un RAG avec scikit-learn, sans base vectorielle
Questions clés sur cet article
Comment fonctionne un modèle sans réseau de neurones?
Le modèle statique est d'une simplicité presque comique. C'est un dictionnaire dans lequel chaque token du vocabulaire du modèle est associé à l'avance à un vecteur. Pour obtenir l'embedding d'un texte, il suffit de trois étapes : Découper le texte en tokens. Récupérer dans la table le vecteur de chaque token. Faire la moyenne de ces vecteurs. Il n'y a ni couches d'attention ni multiplications matricielles à chaque requête : tout le travail se réduit à des opérations rapides sur la mémoire.
Que sait-on sur Où est le piège ?
Il n'y a pas de repas gratuit, et les auteurs nomment franchement le prix : la qualité de la recherche baisse. La cause tient à la conception même du modèle. Dans un transformeur, chaque token « regarde » ses voisins, et le vecteur d'un mot dépend du contexte. Dans un modèle statique, un mot a un seul vecteur pour tous les usages. Un exemple simple. Le mot « ключ » (clé) dans les requêtes « ключ от квартиры » (clé d'appartement) et « ключ API » (clé d'API) recevra exactement le même vecteur.
Que sait-on sur Que faire en pratique ?
Les embeddings statiques ne remplacent pas les transformeurs partout, mais ils répondent bien à plusieurs situations typiques : Prototypes et expérimentations. Quand il faut vérifier rapidement une idée de recherche sur des millions de documents plutôt que d'attendre une semaine, une vectorisation peu coûteuse fait gagner du temps et de l'argent. Corpus gigantesques à budget limité. Si les GPU sont indisponibles ou économiquement injustifiés, on peut obtenir un index fonctionnel sur du matériel ordinaire.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
L'essentiel de l'IA — une fois par semaine
Sept actus qui ont vraiment compté, choisies à la main. Sans bruit ni communiqués.
C'est fait ! Vérifiez votre boîte mail pour la confirmation.