Faza 2: Embeddings i wyszukiwanie semantyczne

Wyszukiwanie słów kluczowych zawodzi, gdy słowa nie pasują do siebie dokładnie.

Jeśli w CV widnieje „zarządzanie zespołem”, a w opisie stanowiska wymagane jest „przywództwo”, podstawowe wyszukiwanie zwróci zero wyników. Słowa są inne, ale znaczenie jest to samo.

Faza 2 rozwiązuje ten problem, wykorzystując embeddings i wyszukiwanie semantyczne.

Jak to działa:

• Tokenizacja: Komputery nie czytają słów. Czytają liczby. Tokenizator dzieli tekst na małe fragmenty zwane tokenami i przekształca je w identyfikatory tokenów (Token IDs). Częste słowa stają się jednym tokenem. Rzadkie słowa są dzielone na wiele tokenów.

• Embeddings: Token ID to tylko etykieta. Warstwa embeddingów przekształca ten identyfikator w wektor. Wektor to długa lista liczb reprezentująca znaczenie. Zamiast jednej liczby, model używa wielu wymiarów do opisania pojęcia.

• Wymiary: Myśl o tych liczbach jak o współrzędnych. Jeden wymiar może reprezentować „frontend vs backend”. Inny może reprezentować „web vs systems”. Wektory wysokowymiarowe pozwalają modelowi umieścić „React” i „JavaScript” blisko siebie w przestrzeni matematycznej.

• Wyszukiwanie semantyczne: Gdy zadajesz pytanie, system przekształca je w wektor. Następnie porównuje Twój wektor z wektorami zapisanych dokumentów.

• Podobieństwo cosinusowe (Cosine Similarity): Mierzy ono kąt między dwoma wektorami. Jeśli wektory wskazują w tym samym kierunku, są do siebie podobne. Pozwala to systemowi znaleźć „wymagania dotyczące rezygnacji”, nawet jeśli szukałeś tylko „okresu wypowiedzenia”.

Kluczowe lekcje dla środowiska produkcyjnego:

  • Bazy danych wektorowych: Przeszukiwanie milionów wektorów jest wolne. Bazy danych takie jak Pinecone czy Qdrant wykorzystują indeksowanie, aby w ciągu milisekund znaleźć najbliższych sąsiadów.
  • Migracje modeli: Każdy model embeddingów używa innej przestrzeni matematycznej. Nie można porównać wektora z OpenAI z wektorem z Cohere. Jeśli zmieniasz modele, musisz ponownie wygenerować embeddingi dla wszystkich swoich danych.
  • Koszt vs ROI: Ponowne generowanie embeddingów dla milionów fragmentów (chunks) jest kosztowne. Firmy często zostają przy starszych modelach, chyba że wzrost dokładności uzasadnia koszt migracji.
  • Zawsze przechowuj surowe fragmenty tekstu. Jeśli później ulepszysz swój model, będziesz mógł użyć starego tekstu do stworzenia nowych wektorów.

Faza 2 to moment, w którym pojawia się inteligencja.

Source: https://dev.to/surajrkhonde/phase-2-embeddings-semantic-search-3lco

Optional learning community: https://t.me/GyaanSetuAi