Co to jest embedding w AI? Wektory i podobieństwo semantyczne
Embedding to zamiana tekstu (lub obrazu, dźwięku) na wektor liczb, który reprezentuje jego znaczenie. Dwa semantycznie podobne zdania mają bliskie wektory — to podstawa wyszukiwania semantycznego i RAG.
Zastanawiałeś się kiedyś jak Spotify "wie", że jeśli lubisz Radiohead, to spodoba Ci się też Portishead? Albo jak Google rozumie, że pytanie "jak naprawić psa" dotyczy zabawki, nie zwierzęcia, jeśli wcześniej szukałeś sklepu z zabawkami? Odpowiedź to embedding — i jest to jeden z najsprytniejszych pomysłów w całym AI.
Adres znaczenia
Embedding to zamiana słowa, zdania lub dokumentu na listę liczb — na przykład 1536 liczb w przypadku modeli OpenAI. Te liczby to "adres" znaczenia w przestrzeni matematycznej.
I tu dzieje się magia: słowa o podobnym znaczeniu mają podobne adresy. "Pies" i "szczeniak" są blisko siebie. "Bank" w sensie finansowym i "bank" w sensie rzeki — daleko od siebie. "Król" minus "mężczyzna" plus "kobieta" daje w przybliżeniu "Królową". To naprawdę działa.
Do czego służą embeddingi w praktyce?
- Wyszukiwanie semantyczne — "znajdź dokumenty podobne do tego pytania", nawet jeśli nie zawierają tych samych słów
- RAG — serce systemu: zanim model odpowie, retriever szuka semantycznie podobnych fragmentów w bazie
- Rekomendacje — artykuły, produkty, filmy podobne do tych, które lubisz
- Klasyfikacja — spam/nie-spam, sentymenty, kategorie tematyczne
- Wykrywanie duplikatów — artykuły o tym samym temacie, nawet inaczej napisane
Jak mierzy się "podobieństwo"?
Cosine similarity — brzmi technicznie, ale intuicja jest prosta: dwa wektory wskazujące w podobnym kierunku są podobne. Wynik 1.0 = identyczne, 0.0 = brak związku. W praktyce większość par tekstów leży między 0.6 a 0.9 dla podobnych, i poniżej 0.5 dla niepowiązanych.
Często zadawane pytania
Czy embeddingi działają po polsku?
Nowoczesne modele multilingual (szczególnie E5-multilingual, BGE-M3) działają dobrze. Starsze modele trenowane głównie na angielskim dają słabsze wyniki dla języków słowiańskich — warto to testować przy wyborze.
Co to jest vector database i dlaczego potrzebuję jej do RAG?
Zwykła baza danych (SQL, MongoDB) nie potrafi efektywnie szukać "podobnych wektorów". Vector database (Pinecone, Qdrant, Weaviate, pgvector) jest zoptymalizowana pod ANN (approximate nearest neighbor search) — znajdź 10 najbardziej podobnych wektorów spośród miliona w milisekundach.
Ile kosztują embeddingi?
OpenAI text-embedding-3-small: $0.02 per milion tokenów — bardzo tanio. Cohere, Voyage AI mają porównywalne ceny. Open source (e5-small, BGE) można uruchomić lokalnie za darmo, kosztem własnej infrastruktury.
Embedding to dense vector representation tekstu lub innych modalności w przestrzeni ℝⁿ, generowany przez encoder-only lub bi-encoder model (BERT-family, E5, BGE, OpenAI ADA). Główna właściwość: semantyczna bliskość w przestrzeni euklidesowej odpowiada bliskości znaczeniowej w języku naturalnym.
Modele embeddingowe (2025–2026)
- OpenAI text-embedding-3-large: 3072 dim, MTEB state-of-the-art dla angielskiego
- Cohere embed-v3: 1024 dim, multilingual, dobry dla retrieval z tłumaczeniami
- BGE-M3: open source, multilingual, 1024 dim, działa na własnym GPU
- E5-mistral-7b: LLM jako encoder — state-of-the-art ale kosztowny obliczeniowo
Metryki podobieństwa
- Cosine similarity: dominująca; normalizuje magnitude, mierzy kierunek wektora
- Dot product: szybszy, wymaga normalizacji wektorów do poprawnego działania
- Euclidean distance: rzadziej używana w NLP ze względu na curse of dimensionality
ANN w vector databases
Exact nearest neighbor search skaluje liniowo — nieefektywne przy milionach wektorów. ANN (HNSW, IVF-PQ, ScaNN) osiągają recall >95% przy latencji 1–10ms. Trade-off: recall vs. speed vs. memory. HNSW dominuje w zastosowaniach RAG (Qdrant, Weaviate), IVF-PQ przy dużych zbiorach (Faiss, Milvus).
Często zadawane pytania
Kiedy używać sparse retrieval (BM25) zamiast dense?
BM25 przewyższa embeddingi przy exact keyword match — nazwy własne, kody produktów, numery serii. Hybrid retrieval (np. Reciprocal Rank Fusion łączące BM25 i dense) daje najlepsze wyniki ogólne. Qdrant i Weaviate mają wbudowane hybridowe wyszukiwanie.
Jak embeddingi działają w multimodal AI?
CLIP, ImageBind — modele wyrównujące przestrzenie embeddingowe tekstu i obrazu/audio. Umożliwiają wyszukiwanie "znajdź obrazy podobne do tego opisu tekstowego". OpenAI CLIP embedding: 512 dim, wspólna przestrzeń dla tekstu i obrazów.