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. Aby maszyna mogła w ogóle „policzyć" znaczenie, każde słowo trzeba najpierw zamienić na wektor — po prostu listę liczb, którą można sobie wyobrazić jako punkt w przestrzeni. Reguła jest intuicyjna: im bliżej siebie leżą dwa punkty, tym bardziej podobne są słowa, które reprezentują.
Najprostszy pomysł, zwany one-hot encoding, zupełnie tę regułę ignorował. Każde słowo dostawało wektor zer z jedną jedynką na pozycji odpowiadającej jego numerowi w słowniku — przy słowniku 100 000 wyrazów oznaczało to wektory o 100 000 pozycji, niemal w całości wypełnione zerami. Problem nie polegał jednak tylko na rozrzutności. Żeby sprawdzić, jak podobne są dwa słowa, liczymy iloczyn skalarny ich wektorów — najprostszą miarę tego, jak bardzo pokrywają się ich kierunki. Dla one-hot wynik dla „psa" i „kota" zawsze wynosi zero, jakby te słowa nie miały ze sobą absolutnie nic wspólnego.
Prześledźmy to na malutkim, pięciowyrazowym słowniku:
Inną metodą było TF-IDF (Term Frequency-Inverse Document Frequency) — liczba mówiąca, jak charakterystyczne jest dane słowo dla konkretnego tekstu. Wysoką wagę dostają słowa, które w tym jednym dokumencie pojawiają się często, ale w innych tekstach są rzadkie — to one najlepiej go opisują. Słowa obecne niemal wszędzie (jak „i" czy „oraz") dostają niską wagę, bo nie odróżniają jednego tekstu od drugiego. TF-IDF przydaje się w klasycznym wyszukiwaniu, ale wciąż ignoruje kolejność słów i powiązania znaczeniowe między nimi.
Embedding rozwiązuje oba te problemy naraz. Każde słowo, zdanie lub dokument jest odwzorowywane na gęsty wektor (dense vector) liczb rzeczywistych o ustalonej długości. W tej przestrzeni geometryczna bliskość wektorów odpowiada podobieństwu znaczeniowemu: słowa „kot" i „pies" leżą blisko siebie. W idealnej przestrzeni semantycznej różne znaczenia słowa „bank" powinny być z kolei rozdzielone. Klasyczne embeddingi (Word2Vec, GloVe, FastText) nie potrafią tego zrobić — przypisują słowu jeden uśredniony wektor. Dopiero modele kontekstowe, takie jak BERT, generują różne reprezentacje zależnie od użycia słowa w zdaniu (do tego wątku wrócimy w dalszej części).
Ten diagram pokazuje sedno embeddingu: każde słowo to punkt w wielowymiarowej przestrzeni, a odległość między punktami odpowiada podobieństwu znaczeń. Słowa o zbliżonym sensie samoczynnie skupiają się w klastry — emocje, zwierzęta, jedzenie, pojęcia techniczne — choć model nigdy nie dostał etykiet tych kategorii. Wyłonił je sam z kontekstów, w jakich słowa pojawiają się w tekstach.
Wektory nie służą tylko tekstowi
Choć embeddingi najczęściej kojarzą się z przetwarzaniem języka naturalnego (NLP), sama idea jest uniwersalna: dowolny typ danych można odwzorować na gęsty wektor w wielowymiarowej przestrzeni, w której bliskość oznacza podobieństwo. To samo narzędzie opisuje obraz, dźwięk, film, a nawet stan robota.
Przykłady:
| Dane | Embedding |
|---|---|
| Tekst | wektor zdania |
| Obraz | wektor cech obrazu |
| Dźwięk | wektor fonemów |
| Film | wektor sceny |
| Robot | wektor stanu świata |
W NLP embeddingi stały się jednak szczególnie ważne — to tutaj powstały przełomowe metody, które ukształtowały całą dziedzinę.
Word2Vec: uczenie się znaczenia przez przewidywanie sąsiadów
Skąd słowa biorą znaczenie
Zanim wyjaśnimy mechanizm, warto poznać obserwację, na której wszystko się opiera: słowa używane w podobnych kontekstach mają zwykle podobne znaczenie. To tak zwana hipoteza dystrybucyjna — „poznasz słowo po towarzystwie, w jakim występuje".
Jeśli „kot" i „pies" często pojawiają się obok słów takich jak „karma", „weterynarz", „ogon" czy „spacer", model może wywnioskować, że reprezentują podobne pojęcia — mimo że nigdy nie powiedziano mu wprost, czym są. To właśnie dlatego przewidywanie sąsiadów prowadzi do znaczenia: ucząc się przewidywać kontekst, model jest zmuszony zakodować to, co słowa mają ze sobą wspólnego. To jest fundament Word2Vec. Bez tej obserwacji cały mechanizm wydaje się magiczny.
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 person is ringing the bell" i okna o szerokości 2, model stara się przewidzieć „ringing" znając słowa
[person, 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".
Każde słowo na diagramie jest punktem w przestrzeni embeddingów. Zmieniając składniki równania, możesz wykonywać arytmetykę na znaczeniach: odejmować jedne relacje i dodawać inne. Jeśli wynik nie trafi dokładnie w istniejące słowo, system pokaże najbliższy punkt w przestrzeni. To właśnie na tej geometrii opierają się nowoczesne wyszukiwarki semantyczne, systemy rekomendacji i modele językowe.
GloVe i FastText: globalne statystyki i morfologia
GloVe — globalne statystyki współwystąpień
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.
FastText — morfologia i słowa spoza słownika
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ś.
Na koniec rzecz kluczowa: prawdziwe embeddingi nie mają dwóch wymiarów, lecz setki albo tysiące. Każdy wymiar to ukryta „oś znaczenia”, wzdłuż której model rozkłada cechy słów — część z nich daje się zinterpretować (czas, płeć, sentyment), większość pozostaje abstrakcyjna. To, co oglądamy na płaskich diagramach, jest jedynie cieniem tej wielowymiarowej przestrzeni rzuconym na kartkę.
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.
Ten diagram tłumaczy, jak właściwie mierzymy bliskość dwóch embeddingów. Liczy się nie długość wektorów, lecz kąt między nimi — im mniejszy, tym bardziej podobne znaczenie. Podobieństwo kosinusowe zwraca wartość od 1 (ten sam kierunek, tożsame znaczenie) przez 0 (brak związku) do −1 (przeciwny kierunek). To dokładnie ta miara, której wyszukiwarki semantyczne i systemy RAG używają do dopasowywania zapytań do dokumentów.
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.
Interaktywna symulacja RAG: prześledź drogę pytania przez pipeline, zobacz wpływ rozmiaru chunka na trafność i porównaj odpowiedź modelu z RAG oraz bez RAG.
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) obejmuje modele o bardzo różnej skali — od kilkuset milionów do kilku miliardów parametrów — i różnym przeznaczeniu:
| Model | Parametry | Najlepsze zastosowanie |
|---|---|---|
| intfloat/multilingual-e5-large-instruct | ~560 mln | wielojęzyczny, RAG po polsku |
| Alibaba-NLP/gte-Qwen2-7B-instruct | 7 mld | najwyższa jakość reprezentacji |
| jinaai/jina-embeddings-v2-base-code | 137 mln | kod, okno kontekstowe 8192 tokenów |
| BAAI/bge-base-en-v1.5 | 109 mln | mały i szybki, dobry punkt startowy |
Dobór modelu jest kompromisem między jakością a kosztem. Architektury poniżej 500 mln parametrów zwykle wyznaczają rozsądny punkt równowagi — większe modele poprawiają trafność reprezentacji, lecz płaci się za to wolniejszą inferencją i wyższymi kosztami infrastruktury. Nie mniej istotna jest domena danych treningowych: model wytrenowany na tekstach medycznych umieści słowo „ostry” obok terminów takich jak „zapalenie” czy „dyżur”, podczas gdy model ogólny powiąże je ze smakiem potrawy lub krawędzią ostrza. Specjalizacja korpusu przekłada się więc wprost na geometrię przestrzeni wektorowej.
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 takie 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 multimodalnych 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.
W jednym zdaniu: embedding to matematyczny sposób zamiany znaczenia na współrzędne. Dzięki temu komputer może wykonywać na pojęciach operacje geometryczne — mierzyć podobieństwo, grupować informacje, wyszukiwać wiedzę i przekazywać ją modelom AI.
Ź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
