$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Duże modele językowe (LLM), takie jak ChatGPT firmy OpenAI lub Lama firmy Meta AI, szybko stały się popularnym źródłem do generowania tekstu odpowiadającego na pytanie użytkownika. Modele te, pierwotnie funkcjonujące w celu przewidywania kolejnych elementów leksykalnych w sekwencji, ewoluowały, aby rozumieć kontekst, kodować informacje kliniczne i wykazywać wysoką wydajność w różnych zadaniach1,2,3,4. Chociaż modele językowe wyprzedzają takie możliwości i ich obecny poziom popularności o dziesięciolecia5, ostatnie postępy w głębokim uczeniu i możliwościach obliczeniowych sprawiły, że wstępnie wyszkolone, wysokiej jakości komercyjne LLM stały się szeroko dostępne dla użytkowników za pośrednictwem technologii internetowych i interfejsów programowania aplikacji (API)6. Istnieje jednak kilka znaczących ograniczeń w korzystaniu z LLM w tym formacie.
Wyzwanie 1: Statyczny korpus treningowy
LLM są trenowane na ogromnym (np. dwa biliony tokenów w przypadku Llama 27), ale statycznym korpusie danych tekstowych. Stanowi to wyzwanie w uzyskaniu trafnych odpowiedzi dotyczących dziedzin podlegających szybkiemu rozwojowi lub zmieniającej się literaturze. W tym statycznym podejściu LLM wymagałyby częstego przekwalifikowania, aby nadążyć za najnowszymi danymi, co nie jest ani praktyczne, ani skalowalne. Co więcej, podpowiedzi, które wymagają odpowiedzi na podstawie informacji nieobecnych w danych treningowych, mogą uniemożliwić wygenerowanie użytecznego tekstu lub prowadzić do halucynacji8. Przypadki halucynacji lub fabrykowania faktów budzą poważne obawy co do wiarygodności LLM, szczególnie w ustawieniach, w których dokładność informacji jest krytyczna9.
Wyzwanie 2: Brak specyfiki domeny
Wstępnie wytrenowane modele są często tworzone do użytku ogólnego, podczas gdy użytkownicy mogą wymagać modelu specjalnie zoptymalizowanego pod kątem wydajności w określonej domenie. Ponadto zasoby obliczeniowe i dane wymagane do trenowania modelu de novo lub wykonywania znacznych dostrajań są zaporowe dla wielu użytkowników.
Wyzwanie 3: Brak prywatności
Użytkownicy korzystający z aplikacji zawierających poufne dane lub informacje zastrzeżone mogą nie chcieć lub nie być w stanie korzystać z niektórych usług LLM, ponieważ brakuje im informacji o tym, jak dane mogą być przechowywane lub wykorzystywane.
Wyzwanie 4: Brak gwarantowanej stabilności
Usługi z zastrzeżonymi LLM mogą zmieniać dostępne modele lub zmieniać zachowanie w dowolnym momencie, co sprawia, że stabilność jest problemem dla implementacji aplikacji opartych na tych usługach.
Retrieval-augmented generation (RAG) to technika opracowana w celu poprawy wydajności LLM, szczególnie w przypadku zapytań związanych z informacjami spoza korpusu treningowego modelu10,11. Systemy te rozszerzają LLM, włączając informacje kontekstowe, które należy wziąć pod uwagę podczas generowania odpowiedzi na zapytanie użytkownika. W różnych ostatnich pracach opisano zastosowania systemów RAG i ich potencjalne zalety12,13,14.
Celem metody opisanej w tej pracy jest zademonstrowanie budowy takiego systemu i dostarczenie ram dla badaczy do szybkiego eksperymentowania na specyficznych dla domeny, rozszerzonych LLM. Ta metoda ma zastosowanie dla użytkowników, którzy chcą rozszerzyć LLM o zewnętrzne źródło danych tekstowych. W szczególności nadrzędnym celem tego protokołu jest dostarczenie kodu krok po kroku, który można rozszerzyć na różne praktyczne eksperymenty LLM i RAG bez konieczności posiadania znaczącej wiedzy technicznej w dziedzinie modelowania języka, chociaż wymagana jest praktyczna znajomość Pythona, aby zastosować to podejście bez modyfikacji. Aby zmaksymalizować kontrolę użytkowników, przejrzystość, przenośność i przystępność cenową rozwiązań, wykorzystywane są publicznie dostępne narzędzia typu open source. Proponowany system rozwiązuje wcześniej wymienione problemy w następujący sposób:
Rozwiązania 1 i 2: Statyczny korpus szkoleniowy i brak specyficzności domeny
Dostarczona metodologia wykorzystuje podejście RAG, wykorzystując osadzanie w celu dostarczania informacji specyficznych dla domeny, które nie zostały uwzględnione w oryginalnych danych treningowych. Na wysokim poziomie modele osadzania przekształcają tekst lub inne dane w reprezentację w postaci wektora lub jednowymiarowej tablicy liczb. Ta technika jest korzystna, ponieważ konwertuje informacje semantyczne zawarte w tekście na gęstą, liczbową formę. Rzutując zapytanie użytkownika w tę samą przestrzeń osadzania, można użyć różnych algorytmów do obliczenia odległości15, a tym samym przybliżonego podobieństwa semantycznego między zapytaniem użytkownika a sekcjami dokumentów tekstowych. W związku z tym utworzenie bazy danych takich wektorów z dokumentów podzielonych na odrębne sekcje może ułatwić przeszukiwanie znacznej liczby dokumentów w poszukiwaniu tekstu najbardziej istotnego dla zapytania użytkownika (Rysunek 1). Takie podejście można rozszerzyć na dowolny dokument tekstowy. Podczas gdy inne podejścia, takie jak możliwości wyszukiwania online, zaczynają być wdrażane w celu rozszerzenia LLM, podejście to pozwala użytkownikom wybrać źródła uważane za wystarczająco wysokiej jakości dla ich przypadku użycia.
Rozwiązanie 2: Brak prywatności
W tej implementacji do hostingu wykorzystano bezpieczne środowisko chmurowe, bez podpowiedzi użytkownika, generowanych odpowiedzi ani innych danych opuszczających ten ekosystem. Cały kod jest jednak napisany w sposób niezależny od platformy, aby zapewnić możliwość zastąpienia go innym dostawcą chmury lub lokalnym sprzętem.
Rozwiązanie 3: Brak gwarantowanej stabilności
To podejście wykorzystuje biblioteki typu open source i koncentruje się na rozszerzaniu LLM o publicznie dostępne wagi, co pozwala na wyższy stopień przezroczystości, stabilności i wersjonowania, jeśli jest to wymagane.
Pełny schemat proponowanego przez nas systemu jest pokazany w Rysunek 2, a szczegółowe instrukcje dotyczące replikacji tego lub podobnego systemu są przedstawione w sekcji protokołu. Dodatkową kwestią, którą należy wziąć pod uwagę podczas zmieniania zachowania modelu poprzez dostrajanie lub rozszerzanie, jest ocena wydajności. W modelach generujących język stanowi to wyjątkowe wyzwanie, ponieważ wiele tradycyjnych metryk uczenia maszynowego nie ma zastosowania. Chociaż istnieje wiele różnych technik16, w tym badaniu wykorzystano pytania wielokrotnego wyboru (MCQ) napisane przez ekspertów do oceny dokładności i porównania wydajności przed i po augmentacji, a także z popularnymi alternatywnymi LLM.