Dlaczego maszyny potrzebują wektorów?
Sieci neuronowe operują wyłącznie na liczbach. Nie rozumieją słów takich jak „kot", „bank" czy „miłość" w sposób symboliczny — przetwarzają ciągłe zmienne zmiennoprzecinkowe, na których można wykonywać operacje macierzowe niezbędne w uczeniu głębokim. Tradycyjne podejście, zwane one-hot encoding, reprezentowało każde słowo jako wektor zer z jedynką na pozycji odpowiadającej indeksowi słowa w słowniku. Przy słowniku 100 000 wyrazów oznaczało to wektory o 100 000 wymiarach, z których niemal wszystkie były zerowe. Taki zapis był nie tylko obliczeniowo marnotrawny, ale przede wszystkim semantycznie ślepy — iloczyn skalarny wektora „pies" i „kot" wynosił zero, jakby oba słowa nie miały ze sobą nic wspólnego.
Inną metodą było TF-IDF (Term Frequency-Inverse Document Frequency) — statystyczna waga słowa proporcjonalna do jego częstości w dokumencie i odwrotnie proporcjonalna do jego popularności w całym korpusie. TF-IDF przydaje się w klasycznym wyszukiwaniu, ale nadal ignoruje kolejność słów i relacje semantyczne.
Embedding rozwiązuje oba te problemy naraz. Każde słowo, zdanie lub dokument jest odwzorowywane na gęsty wektor liczb rzeczywistych o ustalonej długości — typowo 50 do kilku tysięcy wymiarów. W tej przestrzeni geometryczna bliskość wektorów odpowiada podobieństwu znaczeniowemu: słowa „kot" i „pies" leżą blisko siebie, a „bank" (instytucja) daleko od „bank" (brzeg rzeki).
Przestrzeń wektorowa embeddingów
Word2Vec: uczenie się znaczenia przez przewidywanie sąsiadów
Przełom nastąpił w 2013 roku wraz z publikacją Word2Vec przez Tomasa Mikolova i zespół Google. Ich kluczowy pomysł: zamiast ręcznie definiować relacje semantyczne, niech sieć nauczy się ich samodzielnie, przewidując słowa z kontekstu (lub kontekst ze słowa).
Word2Vec ma dwa warianty architektoniczne:
CBOW (Continuous Bag-of-Words): model przewiduje słowo centralne na podstawie otaczającego kontekstu. Dla zdania „The peon is ringing the bell" i okna o szerokości 2, model stara się przewidzieć „ringing" znając słowa [peon, is, the, bell].
Skip-Gram: odwrotnie — mając słowo centralne, model przewiduje słowa kontekstu. Formalnie minimalizuje funkcję straty będącą ujemnym logarytmem wiarygodności:
Po zakończeniu treningu nie interesuje nas sama zdolność przewidywania — liczy się „efekt uboczny": wagi warstwy wejściowo-ukrytej stanowią macierz embeddingów. To właśnie te wagi zawierają zakodowaną wiedzę semantyczną.
Słynnym dowodem na to, że embeddingi naprawdę „rozumieją" relacje, jest algebra wektorowa: wektor(„king") − wektor(„man") + wektor(„woman") ≈ wektor(„queen"). Odejmując wymiary odpowiadające za „męskość" i dodając „kobiecość", lądujemy niemal dokładnie przy słowie „królowa".
GloVe i FastText: globalne statystyki i morfologia
W tym samym roku na Uniwersytecie Stanforda powstało GloVe (Global Vectors for Word Representation). Autorzy Pennington, Socher i Manning postawili tezę: Word2Vec uchwytuje lokalny kontekst (okno kilku słów), ale pomija globalne statystyki współwystąpień w całym korpusie.
GloVe buduje gigantyczną macierz współwystąpień — ile razy każde dwa słowa pojawiają się w swoim sąsiedztwie w całym zbiorze danych — a następnie trenuje wektory tak, aby ich iloczyn skalarny aproksymował logarytm tych współwystąpień. Kluczowa innowacja: nie same częstości niosą semantykę, lecz stosunek prawdopodobieństw współwystąpień. Słowo „stały" współwystępuje z „lodem" często, ale rzadko z „parą" — ten stosunek ujawnia relację lód-para.
GloVe i Word2Vec mają wspólną słabość: nie radzą sobie ze słowami spoza słownika treningowego (OOV — Out-Of-Vocabulary) i ignorują morfologię języka. FastText (Facebook AI Research) rozwiązuje to, rozkładając słowa na n-gramy znakowe. Słowo „niezrozumiały" jest reprezentowane jako suma wektorów swoich fragmentów: <ni, nie, iez, ezr… Napotkawszy neologizm lub słowo z literówką, FastText potrafi zbudować sensowny wektor z już znanych n-gramów. To szczególnie ważne dla języków bogatych morfologicznie, takich jak polski.
BERT i embeddingi kontekstowe: rewolucja dwukierunkowości
Statyczne modele mają fundamentalną wadę: każde słowo ma dokładnie jeden wektor, niezależnie od kontekstu. Angielskie „bank" w zdaniach „I went to the bank to deposit money" i „I'll bank on your support" otrzymuje ten sam, uśredniony wektor — mimo że w pierwszym przypadku chodzi o instytucję finansową, a w drugim o poleganie na kimś.
Architektura Transformer (2017, „Attention Is All You Need") i oparty na niej BERT (Bidirectional Encoder Representations from Transformers) rozwiązały ten problem. BERT generuje wektory dynamicznie, przez mechanizm self-attention uwzględniający wszystkie inne słowa w zdaniu — jednocześnie te po lewej i po prawej stronie (stąd „dwukierunkowy"). Reprezentacja „apple" w zdaniu o owocach zupełnie nie przypomina reprezentacji w zdaniu o marce komputerowej.
Rozwinięciem jest Sentence-BERT (SBERT) — model zakodowujący całe zdania w jeden gęsty wektor. Umożliwia błyskawiczne wyszukiwanie semantyczne: zamiast porównywać zdanie ze zdaniem słowo po słowie, wystarczy obliczyć odległość między ich wektorami. Współczesne API, jak OpenAI text-embedding-3, osadzają dokumenty korporacyjne w chmurze w milisekundach.
Matematyka podobieństwa: kosinus jako miara sensu
W wielowymiarowej przestrzeni wektorowej potrzebujemy metryki „bliskości". Dwie dominują:
Odległość euklidesowa: fizyczna odległość między punktami. Prosta, lecz wrażliwa na długość wektorów — faworyzuje krótkie dokumenty.
Podobieństwo kosinusowe (Cosine Similarity): mierzy kąt między wektorami, ignorując ich długość:
Wartość 1.0 oznacza identyczny kierunek (pełne podobieństwo), 0 — prostopadłość (brak relacji), −1 — przeciwność. Podobieństwo kosinusowe jest lekkie obliczeniowo i dominuje w bazach wektorowych — to podstawowa operacja każdego silnika RAG.
Badania wykazały, że struktury wektorów GloVe, Word2Vec i BERT, mimo różnych metod treningu, można na siebie odwzorować za pomocą macierzy Procrustesa — co sugeruje, że wszystkie odkryły zbliżone regularności lingwistyczne.
Ciemna strona embeddingów: bias wbudowany w wektory
Embeddingi uczą się na danych wytworzonych przez ludzi — a ludzie mają uprzedzenia. Klasyczne modele ujawniają niepokojące wzorce: wektor(„man") − wektor(„computer programmer") + wektor(„woman") ≈ wektor(„homemaker"). Podobnie: ojciec : lekarz :: matka : pielęgniarka.
Te matematycznie zakodowane stereotypy mogą wpływać na algorytmy rekrutacyjne, wyszukiwarki pracy czy systemy rekomendacji. Trwają intensywne prace nad debiasowaniem przestrzeni wektorowych — geometrycznym neutralizowaniem wymiarów związanych z płcią dla zawodów, które powinny być neutralne. Problem pozostaje otwarty i ważny z punktu widzenia etyki AI.
RAG: jak embeddingi leczą halucynacje LLM
Duże modele językowe (GPT, Claude, Llama) mają dwie strukturalne słabości: są „zamrożone" w czasie (nie znają zdarzeń po dacie cut-off) i halucynują — generują przekonująco brzmiące, lecz fałszywe fakty. Retrieval-Augmented Generation (RAG) to architektura eliminująca oba problemy przez połączenie LLM z wektorowym silnikiem wyszukiwania.
Pipeline RAG działa w sześciu krokach:
Chunking: dokumenty wiedzy (manuały, polityki, ustawy) są dzielone na małe, samodzielne fragmenty — „chunki".
Embedding: każdy chunk jest przekształcany przez model embeddingów (np. E5, BGE, SBERT) w wektor liczbowy.
- Baza wektorowa: wektory są przechowywane w specjalistycznej bazie (Pinecone, ChromaDB, FAISS), zoptymalizowanej pod kątem szybkich operacji matematycznych.
Query embedding: pytanie użytkownika jest embeddowane tym samym modelem, co dokumenty.
Semantic search: system szuka top-k chunków o najwyższym podobieństwie kosinusowym do wektora pytania.
Generacja: LLM otrzymuje pytanie razem z wyciągniętymi chunkami i formułuje odpowiedź — bez halucynowania, z możliwością cytowania źródeł.
Bazy wektorowe nie porównują każdego wektora z każdym (brute-force). Stosują algorytmy przybliżonych najbliższych sąsiadów (ANN) — np. HNSW (Hierarchical Navigable Small World) — które przeszukują miliardy wektorów w dziesiątkach milisekund.
RAG Pipeline — schemat działania
Jak wybrać model embeddingów? Benchmark MTEB
Nie istnieje jeden model embeddingów dobry do wszystkiego. Na platformie Hugging Face działa MTEB (Massive Text Embedding Benchmark) — ranking dziesiątek modeli ocenianych pod kątem klasteryzacji, klasyfikacji, wyszukiwania i podobieństwa semantycznego.
Czołówka rankingu (2024–2025) to m.in.:
intfloat/multilingual-e5-large-instruct — wielojęzyczny, świetny do RAG po polsku
Alibaba-NLP/gte-Qwen2-7B-instruct — 7 mld parametrów, najwyższa jakość
jinaai/jina-embeddings-v2-base-code— 137 mln parametrów, okno kontekstowe 8192 tokenów, dedykowany kodowi
BAAI/bge-base-en-v1.5 — mały, szybki, dobry punkt startowy
Praktyczna zasada: zacznij od modeli poniżej 500 mln parametrów. Większe modele dają lepszą jakość, ale wolniejszą inferencję i wyższe koszty serwera. Ważna jest też domena: model medyczny zakoduje frazę „scrubbed" inaczej niż model ogólny.
Embeddingi multimodalne i przyszłość reprezentacji
Embeddingi nie ograniczają się do tekstu. Vision Transformers (ViT) dzielą obrazy na patche traktowane jak tokeny — i osadzają je w tej samej przestrzeni wektorowej co tekst. Modele jak CLIP (OpenAI) uczą się wspólnej przestrzeni tekst-obraz, co umożliwia wyszukiwanie obrazów za pomocą opisów słownych.
W genomice i farmakologii struktury molekularne reprezentowane są jako grafy embeddowane przez sieci GNN. W biometrii wektory odcisków palców i twarzy służą do identyfikacji. Technika textual inversion w Stable Diffusion pozwala tworzyć embedding dla nowej koncepcji wizualnej — i przypisać jej nowe słowo kluczowe do generowania obrazów.
Rozwijają się też podejścia Embedding-Free RAG — systemy, w których LLM sam wnioskuje o ścieżkach wyszukiwania bez baz wektorowych. Na razie sprawdzają się w wąskich domenach specjalistycznych, ale wskazują kierunek: granica między wyszukiwaniem a rozumowaniem zaciera się.
Podsumowanie
Embeddingi to most między symbolicznym językiem ludzkim a numerycznym światem maszyn. Droga od one-hot encoding przez Word2Vec i GloVe do kontekstowych BERT-ów i wielomodalnych modeli CLIP to jedna z najważniejszych trajektorii w historii AI. Dziś wektory osadzeń napędzają wyszukiwarki semantyczne, systemy rekomendacji, tłumaczenia maszynowe i architektury RAG, które pozwalają LLM odpowiadać na pytania na podstawie aktualnych, weryfikowalnych źródeł. Ich matematyczna elegancja — prosty kąt między wektorami jako miara sensu — sprawia, że embedding stał się fundamentem całego współczesnego NLP i AI konwersacyjnej.
Źródła
- Mikolov et al. (2013). Efficient Estimation of Word Representations in Vector Space. arXiv:1301.3781
- Mikolov et al. (2013). Distributed Representations of Words and Phrases and their Compositionality. arXiv:1310.4546
- Pennington et al. (2014). GloVe: Global Vectors for Word Representation. EMNLP 2014. nlp.stanford.edu/projects/glove/
- Devlin et al. (2018). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805
- Vaswani et al. (2017). Attention Is All You Need. arXiv:1706.03762
- Lewis et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401
