Odpowiedź modelu językowego (LLM) jest zawsze obarczone pewną niepewnością, podobnie jak każdej innej głębokiej sieci neuronowej i klasycznych modeli uczenia maszynowego. LLM generując odpowiedź na zapytanie (prompt) dobiera kolejne tokeny, czyli słowa i znaki interpunkcyjne, w oparciu o prawdopodobieństwo ich występowania. Ta niepewność powinna ograniczać nasze zaufanie do wyników działania modeli językowych o ile jesteśmy świadomi jej istnienia. Z drugiej strony w zależności od zastosowania różna jest też nasza tolerancja na błędy LLM’ów. W niniejszym artykule chciałem osiągnąć dwa cele. Pierwszym było porównanie odpowiedzi LMM dla obszarów, które znacząco różnią się zasobem wiedzy, na której uczono model językowy. Drugim celem było porównanie możliwości testów narzędziami offline oraz z użyciem OpenAI, co tym przypadku wiąże się ze ponoszeniem dodatkowych kosztów wysyłanych zapytań i kontekstu. Testy Porównałem dwa opisy fotosyntezy, które wybrałem nieprzypadkowo: O procesie fotosyntezy w ujęciu klasycznym uczymy się w szkole podstawowej i istnieje ogromna ilość literatury na ten temat. Na drugim końcu zagadnienia znajdują się efekty kwantowe występujące w fotosyntezie, które zostały potwierdzone badaniami dopiero kilkanaście lat temu, a temat jest wciąż bardzo mało „popularny” z powodu mechaniki kwantowej, a więc trudności i kosztów badań naukowych. Literaturę zamieściłem na końcu artykułu. Do testów wybrałem model GPT-4.1-nano. dla wszystkich z obszarów wykonałem po 100 identycznych zapytań dla dwóch ustawień temperatury równym 0.2 i 0.7. Temperatura, podobnie jak w fizyce, odpowiada za poziom chaosu lub… kreatywności. W LLM’ach temperatura definiuje poziom „kreatywności” przy generowaniu danych, co skutkuje również wzrostem chaosu, czyli „halucynacji”. Wyższa temperatura odpowiadana większej różnorodności odpowiedzi, ale też większej umiejętności generowania błędnych stwierdzeń, czyli „halucynowania”. Odpowiedzi miały ograniczenie 300 tokenów. Lokalnie odpowiedzi testowałem dzięki biblioteki SentenceTransformer (Hugging Face) i modelu all-MiniLM-L6-v2 porównując podobieństwo (similarity), czyli odległość osadzeń (embedings) jako cosinus kąta między wektorem odpowiedzi a odpowiedzią referencyjną. Testy online z użyciem DeepEval i OpenAI wykorzystywały trzy metryki: Oprócz zapytania, testowanej odpowiedzi i odpowiedzi referencyjnej w testach DeepEval potrzebne były jeszcze dwa dodatkowe konteksty. Więcej o tych metrykach przeczytacie u źródła. Kod źródłowy i dane Kod źródłowy w Jupyter Notebook i dane w plikach csv (dataframe’y) znajdują się w repozytorium GitHub. Ze względu na trudności operacyjne z używaniem OpenAI i DeepEval zdecydowałem się zrobić osobną kopię Notebook’a używanego do zbierania danych. Do analizy danych jest osobny Notebook: LMM Prompt Result Analysis.ipynb Analiza Czy LLM jest sędzią we własnej sprawie? Warto zaznaczyć, iż testując odpowiedzi dzięki LLM’a jest on poniekąd trochę sędzią we własnej sprawie, choćby jeżeli używamy innego modelu. Dlatego użycie metody Monte Carlo, gdzie sprawdzamy wielokrotnie różne odpowiedzi na to samo pytanie, pozwala lepiej ocenić stopień poprawności i halucynacji modelu. UWAGA! Nie udało się przeprowadzić testów DeepEval dla temperatury T=0.2 dla klasycznego opisu fotosyntezy z powodu błędów zwracanych przez OpenAI. Długość odpowiedzi (length) Jak można zaobserwować na wykresach rozkład długości odpowiedzi znacznie się różni w zależności od definicji zagadnienia. Długości odpowiedzi na zapytanie o kwantowe efekty w fotosyntezie są znacznie bardziej skupione, mają mały rozrzut, co widać zresztą po małej wariancji. Natomiast zapytanie o klasyczna definicję fotosyntezy ma znacznie większy wachlarz długości wygenerowanych odpowiedzi. Temperatura zapytania nie wpływa jakoś znacząco na rozkład długości. Podobieństwo osadzeń (simillarity) Podobieństwo osadzeń (embeddings) jest wyłącznie podobieństwem semantycznym, a nie oceną faktów czy spójności logicznej. Zaletą tej metody jest możliwość uruchomienia lokalnie i niski koszt przy dużej próbie. Porównując rozkład podobieństwa odpowiedzi do wzorca między klasycznym a kwantowym zagadnieniem można zauważyć, iż klasyczne zagadnienie jest bardziej skupione, co zresztą pokazuje wariancja (var), niż zagadnienie kwantowe. Obserwujemy tu odrotną zależność w porównaniu do rozkładu długości. Wariancja pokazuje również, iż wzrost temperatury w zapytaniu niezależnie od typu zagadnienia zwiększa rozrzut podobieństwa powodując stworzenie zarówno mniej jak i bardziej podobnych semantycznie odpowiedzi do wzorca. Warto też zauważyć, iż to lewy ogon rozkładu bardziej się wydłuża w kierunku niższego prawdopodobieństwa niż prawy. Poprawność wg DeepEval (correctness) Metryka Correctness sprawdza na ile odpowiedź z modelu językowego jest zgodna z odpowiedzią referencyjną zadając to pytanie samemu LLM’owi. Rozkłady poprawności obu zagadnień bardzo od siebie odbiegają, wręcz widać jak rozkłady „rozjeżdżają” się w dwa końce skali. Mediana poprawności klasycznej definicji wynosi 0,74, natomiast dla efektów kwantowych zaledwie 0,47. Być może lepsze dobranie odpowiedzi referencyjnej poprawiłoby wynik tej metryki. Wzrost temperatury dla kwantowego opisu powoduje niewielki wzrost wariancji poprawności, ale równocześnie przesuwa nieco rozkład poprawności w kierunku wyższych wartości. Trafność odpowiedzi wg DeepEval (answer relevancy) Metryka Answer Relevancy sprawdza na ile odpowiedź z modelu językowego jest zgodna z zadanym pytaniem zadając to pytanie samemu LLM’owi. Dla klasycznego opisu fotosyntezy trafność jest prawie 99%. Natomiast dla efektów kwantowych w fotosyntezie jest nieco niższa i w zależności od temperatury waha się od 95-97 %. Można zaobserować, iż wzrost temperatury poprawia w przypadku kwantów trafność odpowiedzi. Halucynacje wg DeepEval (hallucination) Metryka Hallucination sprawdza czy LLM nie halucynuje, czy odpowiedź zawiera informacje, których nie ma w kontekście wejściowym zadając to pytanie modelowi językowemu. Dla klasycznego opisu fotosyntezy halucynacje nie zostały wykryte. Natomiast dla zagadnienia efektów kwantowych w fotosyntezie metryka uznała, iż dla temperatury T= 0.2 na 100 odpowiedzi 10 zawiera halucynacje. Przy wzroście temperatury do T=0.7 liczba odpowiedzi ocenianych jako halucynacje wzrosła do 13 na 100. Podsumowanie Niniejszy artykuł jest jedynie próbą przyjrzenia się kwestii testów odpowiedzi modeli językowych i wiele tematów zostało potraktowanych pobieżnie. Proste testy wykazały, iż istnieje zależność pomiędzy dostępną dla LLM’a wiedzą a poprawnością generowanych odpowiedzi. Nie należy jednak wyciągać pochopnych wniosków co do konkretnych metryk i testów, gdyż bardzo dużo zależy od dziedziny i kontekstu w jakim działamy. Jedno natomiast jest pewne – należy mierzyć, by móc cokolwiek powiedzieć o skuteczności naszych rozwiązań opartych o AI. Co więcej trzeba monitorować i mierzyć działanie w trakcie życia produktu, ponieważ z czasem skuteczność będzie się zmieniać ze względu na dryf rzeczywistości, danych i kontekstu. Literatura