AI EducademyAIEducademy
🌳

Fondations IA

🌱
AI Seeds

Partez de zéro

🌿
AI Sprouts

Construisez les fondations

🌳
AI Branches

Mettez en pratique

🏕️
AI Canopy

Approfondissez

🌲
AI Forest

Maîtrisez l'IA

🔨

Maîtrise IA

✏️
AI Sketch

Partez de zéro

🪨
AI Chisel

Construisez les fondations

⚒️
AI Craft

Mettez en pratique

💎
AI Polish

Approfondissez

🏆
AI Masterpiece

Maîtrisez l'IA

🚀

Prêt pour la Carrière

🚀
Rampe de lancement entretien

Commencez votre parcours

🌟
Maîtrise comportementale

Maîtrisez les compétences relationnelles

💻
Entretiens techniques

Réussissez l'épreuve de code

🤖
Entretiens IA et ML

Maîtrisez l'entretien ML

🏆
Offre et au-delà

Décrochez la meilleure offre

Voir tous les programmes→

Labo

7 expériences chargées
🧠Terrain de jeu neuronal🤖IA ou humain ?💬Labo de prompts🎨Generateur d'images😊Analyseur de sentiment💡Constructeur de chatbot⚖️Simulateur d'ethique
🎯Entretien simuléEntrer dans le labo→
ParcoursBlog
🎯
À propos

Rendre l'éducation en IA accessible à tous, partout

❓
FAQ

Common questions answered

✉️
Contact

Get in touch with us

⭐
Open Source

Construit publiquement sur GitHub

Commencer gratuitement
AI EducademyAIEducademy

Licence MIT. Open Source

Apprendre

  • Programmes
  • Leçons
  • Labo

Communauté

  • GitHub
  • Contribuer
  • Code de conduite
  • À propos
  • FAQ

Soutien

  • Offrez-moi un café ☕
  • Conditions d'utilisation
  • Politique de confidentialité
  • Contact
Programmes d'IA et d'ingénierie›🌿 AI Sprouts›Leçons›Embeddings et bases de données vectorielles
🧭
AI Sprouts • Intermédiaire⏱️ 16 min de lecture

Embeddings et bases de données vectorielles

Embeddings - Comment l'IA comprend le sens

Après la tokenisation, chaque token n'est qu'un nombre - un indice dans un vocabulaire. Mais l'indice 4 821 ne dit rien au modèle sur le sens. Comment l'IA sait-elle que « roi » et « reine » sont liés, ou que « banque » peut désigner une rive ou un établissement financier ? La réponse réside dans les embeddings.

Le problème de l'encodage one-hot

L'approche naïve représente chaque mot comme un vecteur avec un seul 1 et des milliers de 0. « Chat » pourrait être [0, 0, 1, 0, ..., 0] et « chien » [0, 0, 0, 1, ..., 0].

Cela présente deux défauts majeurs :

  • Aucune similarité : « Chat » et « chien » sont aussi éloignés l'un de l'autre que « chat » et « démocratie ». L'encodage ne capture aucune information sémantique.
  • Taille massive : Avec un vocabulaire de 50 000 mots, chaque mot nécessite un vecteur de 50 000 dimensions. Terriblement inefficace.

Embeddings de mots - Le sens comme géométrie

Un embedding associe chaque token à un vecteur dense de, disons, 256 ou 768 dimensions. Contrairement aux vecteurs one-hot, ces dimensions sont apprises pendant l'entraînement et encodent le sens.

Les mots utilisés dans des contextes similaires se retrouvent proches dans cet espace. « Chiot » se retrouve près de « chaton ». « Londres » se retrouve près de « Paris ». La géométrie de l'espace est le sens.

Une projection 2D d'embeddings de mots montrant des groupes : animaux (chat, chien, poisson) regroupés ensemble, villes (Londres, Paris, Tokyo) regroupées ensemble, et la célèbre analogie roi-reine sous forme d'arithmétique vectorielle
Dans l'espace des embeddings, le sens devient géométrie. Les concepts similaires se regroupent.

Word2Vec - Roi − Homme + Femme = Reine

L'article Word2Vec de 2013 a montré quelque chose de remarquable. Entraînés sur de grands corpus de texte, les vecteurs appris présentent des relations arithmétiques :

vecteur("roi") − vecteur("homme") + vecteur("femme") ≈ vecteur("reine")

Leçon 9 sur 160% terminé
←Tokenisation

Discussion

Sign in to join the discussion

Suggérer une modification de cette leçon

La direction allant de « homme » à « femme » capture le concept de genre. En l'ajoutant à « roi », on arrive à « reine ». Ce n'est pas programmé - cela émerge des motifs du langage.

Autres exemples : Paris − France + Italie ≈ Rome, plus grand − grand + petit ≈ plus petit.

🤯

Word2Vec a été créé par Tomáš Mikolov chez Google en 2013. L'article compte plus de 40 000 citations et est considéré comme l'un des articles de NLP les plus influents jamais publiés. Il a démontré que de simples réseaux de neurones entraînés sur du texte brut pouvaient apprendre des relations sémantiques stupéfiantes.

Dimensions des embeddings

Les modèles modernes utilisent différentes tailles d'embeddings :

| Modèle | Dimensions des embeddings | |--------|--------------------------| | Word2Vec | 100–300 | | BERT | 768 | | GPT-3 | 12 288 | | OpenAI text-embedding-3-large | 3 072 |

Plus de dimensions capturent des distinctions plus fines mais nécessitent plus de mémoire et de calcul. Pensez-y comme décrire une personne : 3 dimensions (taille, poids, âge) donnent une esquisse grossière ; 768 dimensions peignent un portrait détaillé.

🧠Vérification rapide

Que démontre la célèbre équation 'roi − homme + femme ≈ reine' ?

Des mots aux phrases

Les embeddings de mots représentent des mots individuels, mais nous avons souvent besoin de comparer des phrases ou des documents entiers. Les embeddings de phrases (issus de modèles comme Sentence-BERT ou l'API d'embeddings d'OpenAI) compriment un passage entier en un seul vecteur.

« Comment réinitialiser mon mot de passe ? » et « J'ai oublié mes identifiants de connexion » auraient des embeddings de phrases très similaires, même s'ils ne partagent presque aucun mot. L'embedding capture l'intention, pas seulement le vocabulaire.

Mesurer la similarité - Similarité cosinus

Pour comparer deux embeddings, on utilise la similarité cosinus - le cosinus de l'angle entre deux vecteurs. Elle varie de −1 (opposés) à +1 (même direction).

  • « Heureux » et « joyeux » : cosinus ≈ 0,85 (très similaires).
  • « Heureux » et « table » : cosinus ≈ 0,10 (sans rapport).
  • « Amour » et « haine » : cosinus peut être ≈ 0,40 (liés mais opposés).

La similarité cosinus ignore la magnitude des vecteurs, se concentrant uniquement sur la direction - là où réside le sens.

🤔
Think about it:

« Amour » et « haine » sont des antonymes mais pourraient avoir une similarité cosinus modérée parce qu'ils apparaissent dans des contextes similaires (émotions, relations). Qu'est-ce que cela nous dit sur les limites des embeddings entraînés uniquement sur la cooccurrence des mots ?

Bases de données vectorielles - La recherche par le sens

Une base de données vectorielle stocke des millions d'embeddings et récupère les plus similaires à une vitesse fulgurante. Au lieu de la correspondance par mots-clés (« trouver les documents contenant 'apprentissage automatique' »), on effectue une recherche par sens (« trouver les documents sur l'éducation en IA »).

Les bases de données vectorielles populaires incluent :

  • Pinecone - entièrement gérée, s'adapte sans effort.
  • Weaviate - open source avec recherche hybride (vecteurs + mots-clés).
  • ChromaDB - légère, idéale pour le prototypage.
  • pgvector - ajoute la recherche vectorielle à PostgreSQL.

Ces bases de données utilisent des algorithmes comme HNSW (Hierarchical Navigable Small World) pour rechercher parmi des milliards de vecteurs en quelques millisecondes.

🧠Vérification rapide

Quel avantage la recherche vectorielle a-t-elle par rapport à la recherche traditionnelle par mots-clés ?

RAG - Génération augmentée par récupération

RAG est l'un des patterns les plus importants de l'IA moderne. Il combine la recherche vectorielle avec les modèles de langage :

  1. Convertir vos documents en embeddings et les stocker dans une base de données vectorielle.
  2. Lorsqu'un utilisateur pose une question, convertir la requête en embedding.
  3. Récupérer les fragments de documents les plus similaires via la recherche vectorielle.
  4. Fournir ces fragments au modèle de langage comme contexte.
  5. Le modèle génère une réponse ancrée dans vos données.

RAG permet aux modèles de langage de répondre à des questions sur vos données spécifiques - documents d'entreprise, catalogues de produits, articles de recherche - sans avoir à les réentraîner. Il réduit considérablement les hallucinations car le modèle dispose de vraies sources à référencer.

🧠Vérification rapide

Dans un système RAG, quel rôle joue la base de données vectorielle ?

Applications pratiques

Les embeddings alimentent d'innombrables systèmes du monde réel :

  • Recherche sémantique - trouver des résultats pertinents indépendamment de la formulation exacte.
  • Recommandations - « les utilisateurs qui ont aimé ceci ont aussi aimé… » via la similarité des embeddings.
  • Regroupement (clustering) - grouper automatiquement des tickets de support, des avis ou des documents similaires.
  • Détection d'anomalies - repérer les valeurs aberrantes éloignées de tout groupe.
  • Détection de doublons - trouver du contenu quasi identique dans de grands corpus.
🤯

Spotify utilise des embeddings audio pour recommander des chansons. Chaque morceau est encodé en embedding en fonction de ses caractéristiques acoustiques, et les recommandations proviennent de la recherche de vecteurs proches - des chansons qui « sonnent de manière similaire » dans l'espace des embeddings.

🤔
Think about it:

Si vous convertissiez chaque produit d'une boutique en ligne en embedding, comment pourriez-vous construire un système de recommandation qui dit « les clients qui ont consulté cet article pourraient aussi aimer… » sans vous appuyer sur l'historique des achats ?

Points clés à retenir

  • Les embeddings sont des représentations vectorielles denses où le sens devient géométrie.
  • Les concepts similaires se regroupent ; les relations apparaissent sous forme de directions.
  • La similarité cosinus mesure la proximité entre deux significations.
  • Les bases de données vectorielles permettent la recherche par le sens à grande échelle.
  • RAG combine la recherche vectorielle avec les modèles de langage pour répondre à des questions à partir de vos propres données.

📚 Pour aller plus loin

  • Jay Alammar - The Illustrated Word2Vec - Présentation visuelle et intuitive du fonctionnement des embeddings de mots
  • Pinecone Learning Centre - What Are Embeddings? - Guide pratique sur les embeddings et la recherche vectorielle
  • OpenAI Embeddings Guide - Comment générer et utiliser des embeddings avec l'API OpenAI