Umów prezentację

RAG (Retrieval Augmented Generation): co to jest i jak działa po polsku?

RAG, czyli retrieval augmented generation, to sposób pracy modelu językowego, w którym odpowiedź powstaje z fragmentów wyszukanych w wskazanym zbiorze dokumentów, a nie z pamięci modelu. Model dostaje znalezione fragmenty jako kontekst, odpowiada wyłącznie z nich i wskazuje, z czego korzystał.

Co znaczy RAG po polsku?

RAG znaczy dosłownie: generowanie wzbogacone wyszukiwaniem. Nazwa pochodzi z pracy „Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks” (Patrick Lewis i in., 2020), w której model generujący tekst połączono z wektorowym indeksem Wikipedii. Autorzy nazwali to połączeniem pamięci parametrycznej modelu i pamięci nieparametrycznej, czyli zewnętrznego zbioru tekstów.

Pamięć parametryczna to wszystko, co model zapamiętał w czasie trenowania: statystyka języka i wiedza ogólna z dnia zamknięcia zbioru uczącego. Pamięć nieparametryczna to zbiór, do którego model sięga w chwili pytania: w pracy z 2020 roku była to Wikipedia, w firmie są to jej własne procedury, instrukcje i artykuły.

Różnica jest praktyczna. Wiedzy parametrycznej nie da się poprawić bez ponownego trenowania modelu. Zbiór nieparametryczny poprawia się przez podmianę dokumentu: nowa wersja procedury działa od razu, bez dotykania modelu.

Jak działa architektura RAG krok po kroku?

Pytanie przechodzi przez cztery etapy: wyszukanie kandydatów w zbiorze źródeł, wybór najlepiej pasujących fragmentów, złożenie ich w kontekst dla modelu i wygenerowanie odpowiedzi z instrukcją, żeby trzymać się wyłącznie tego kontekstu. Na końcu odpowiedź wraca razem z listą użytych źródeł.

  1. 1

    Przygotowanie zbioru

    Dokumenty trafiają do indeksu i są dzielone na fragmenty. Fragment ma rozmiar, który mieści się w kontekście modelu, i nosi metrykę: tytuł, wersję, datę, właściciela.

  2. 2

    Wyszukanie

    Zapytanie użytkownika jest zamieniane w kryterium wyszukiwania. Dopasowanie po słowach kluczowych (klasyczny przykład to ranking BM25) szuka tych samych wyrazów. Dopasowanie po znaczeniu zamienia pytanie i fragmenty w wektory liczb i szuka najbliższych sobie, także wtedy, gdy nie mają wspólnych słów. Oba dają listę kandydatów z oceną trafności, a wiele wdrożeń łączy je w wyszukiwanie hybrydowe.

  3. 3

    Wybór kontekstu

    Z listy zostaje kilka najlepszych fragmentów. To jest miejsce, w którym decyduje się jakość odpowiedzi: model nie zobaczy niczego spoza tej garstki tekstu.

  4. 4

    Generowanie z ograniczeniem

    Model dostaje pytanie, fragmenty i polecenie: odpowiadaj tylko z tego, a gdy brakuje podstawy, powiedz, że nie wiesz. Odpowiedź wraca z odsyłaczem do fragmentów, z których powstała.

Czym RAG różni się od trenowania modelu na danych firmy?

RAG, inaczej niż trenowanie, nie zmienia modelu. Dane firmy zostają w firmowym zbiorze, a model tylko je czyta w chwili pytania. Dotrenowanie zapisuje wiedzę w wagach modelu, więc jej usunięcie albo poprawienie wymaga kolejnego treningu.

PytanieRAGDotrenowanie modelu
Aktualizacja wiedzyPodmiana dokumentu, efekt natychmiastKolejny trening
Skąd wzięła się odpowiedźWidać fragment i dokumentNie da się wskazać
Usunięcie treściUsunięcie dokumentu ze zbioruTrudne, wiedza jest w wagach
Koszt startuUporządkowanie dokumentówZbiór uczący i moc obliczeniowa
Typowe zastosowanieFakty, procedury, instrukcjeStyl i format wypowiedzi

Dlatego w firmie RAG jest domyślnym wyborem do pytań o fakty: „jaki mamy termin reklamacji”, „kto zatwierdza zakup powyżej progu”, „jak wygląda procedura przyjęcia towaru”. Dotrenowanie przydaje się tam, gdzie chodzi o formę, nie o treść.

Czy RAG usuwa halucynacje?

RAG nie usuwa halucynacji, ale przenosi problem w miejsce, w którym da się go zauważyć. Model wciąż może przekręcić zdanie, ale odpowiedź stoi obok źródła, więc każdy może sprawdzić, czy źródło faktycznie tak mówi. Bez źródła weryfikacja wymagałaby znajomości całej dokumentacji.

  • Zły dobór fragmentów. Wyszukiwarka znajduje nie to zdanie, a model odpowiada wiernie z nieodpowiedniego fragmentu.
  • Sprzeczne źródła. Dwie wersje tej samej procedury w zbiorze dają odpowiedź zależną od tego, którą wersję wybrała wyszukiwarka.
  • Pytanie spoza zbioru. Jeśli firma czegoś nie opisała, dobrze zbudowany system odmawia odpowiedzi, a źle zbudowany dopowiada z wiedzy ogólnej.
  • Fragment bez kontekstu. Zdanie wyjęte z wyjątku w procedurze potrafi brzmieć jak reguła.

Stąd trzy rzeczy, których warto wymagać od każdego wdrożenia: widoczne źródło przy odpowiedzi, sygnał pewności albo odmowa przy słabym dopasowaniu oraz jeden dokument jako jedyna obowiązująca wersja danego tematu.

Jak RAG działa w EXCORE?

W EXCORE w architekturze RAG pracuje asystent wiedzy: wiedza firmy jest indeksowana, a asystent szuka w niej hybrydowo, po znaczeniu i po słowach, i odpowiada wyłącznie ze znalezionych fragmentów. Pod odpowiedzią widać fragmenty, z których powstała, i poziom pewności: wysoki, średni albo niski.

  • Wyszukanie jest hybrydowe. Szukanie po znaczeniu trafia w pytania zadane innymi słowami niż procedura, a szukanie po słowach pilnuje nazw własnych, numerów i skrótów. Dopasowanie nie rozróżnia wielkości liter, polskich znaków ani końcówek, więc „przewoznika” trafia w „przewoźnika”.
  • Długie treści są dzielone na fragmenty, a do jednej odpowiedzi trafia kilka najlepiej dopasowanych. Opublikowana treść jest indeksowana automatycznie, więc poprawiona procedura działa bez ręcznego odświeżania.
  • Pewność jest wysoka, gdy najlepszy fragment mocno pasuje do pytania, średnia, gdy choć jeden przeszedł próg trafności, i niska, gdy nie przeszedł żaden. Wtedy lista źródeł jest pusta.
  • Gdy w źródłach nie ma potwierdzenia, asystent mówi wprost, że go nie znalazł. To nie jest awaria, tylko informacja, że brakuje opisanej procedury.
  • Źródłami są opublikowane procedury, artykuły bazy wiedzy, szkolenia, materiały onboardingu i pliki z modułu Dokumenty, które administrator wskazał w ustawieniach AI. Źródłem mogą być też checklisty.
  • Asystent odpowiada tylko z treści, do których pytający ma uprawnienia. Dwie osoby mogą więc dostać na to samo pytanie różne odpowiedzi, każda zgodną ze swoim zakresem dostępu.
  • Każde wywołanie AI zostaje w historii: kto, kiedy, w której funkcji, u którego dostawcy i z jakim skutkiem. Administrator widzi to w kokpicie AI, każdy swoją historię w ustawieniach konta.
  • EXCORE nie używa treści klienta do trenowania modeli. Dostawcę modelu wybiera administrator, firma może też wpiąć własny klucz.

Źródło pod odpowiedzią wskazuje konkretny fragment dokumentu, nie tylko jego tytuł, więc sprawdzenie polega na przeczytaniu jednego akapitu. Tytuł procedury nadal warto pisać jak pytanie pracownika, bo pomaga i wyszukiwaniu, i ludziom. Funkcje AI działają w firmach z dodatkiem AI i po ich włączeniu przez administratora. Wdrożenia prowadzimy dziś dla wybranych firm, kolejne wchodzą z listy oczekujących.

Pytania

RAG co to jest w AI, w jednym zdaniu?

To sposób odpowiadania, w którym model najpierw wyszukuje fragmenty we wskazanym zbiorze dokumentów, a potem pisze odpowiedź wyłącznie z nich i podaje, których fragmentów użył.

Czy RAG wymaga wektorów?

Nie. Wyszukiwanie może iść po słowach kluczowych albo po znaczeniu, czyli wektorowo. Architektura jest ta sama: wyszukaj, podaj modelowi kontekst, odpowiedz tylko z niego. Wektory poprawiają trafność przy pytaniach zadanych innymi słowami niż dokument, a słowa kluczowe lepiej trafiają w nazwy własne, numery i skróty. Asystent wiedzy w EXCORE łączy oba sposoby.

Czy dane firmy wychodzą na zewnątrz?

Do modelu trafia pytanie i fragmenty dobrane do odpowiedzi, a nie cała dokumentacja. W EXCORE te dane nie są używane do trenowania modeli, a każde wywołanie jest zapisane w historii. Reszta treści zostaje w bazie firmy.

Ile dokumentów trzeba, żeby to miało sens?

Kilkanaście dobrze napisanych procedur daje więcej niż kilkaset plików bez właściciela i daty. Jakość źródeł decyduje o jakości odpowiedzi, bo model nie zobaczy niczego poza tym, co wyszukiwarka mu poda.

Źródła

  1. P. Lewis i in., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (arXiv:2005.11401)
  2. V. Karpukhin i in., Dense Passage Retrieval for Open-Domain Question Answering (arXiv:2004.04906)
  3. S. Robertson, H. Zaragoza, The Probabilistic Relevance Framework: BM25 and Beyond (2009)

EXCORE jest otwierany dla pierwszych firm.

Zobaczmy, czy pasuje do Twojej organizacji. Zostaw kontakt, a umówimy prezentację.

Umów prezentację

Czytaj też