Data publikacji: 30 października 2024 r.
Tworzenie funkcji za pomocą dużych modeli językowych (LLM) znacznie różni się od tradycyjnej inżynierii oprogramowania. Deweloperzy muszą nauczyć się tworzyć prompty, aby obsługiwać wyniki niedeterministyczne, wstępną obróbkę danych wejściowych oraz post-processing wyników.
Jednym z wyzwań, o którym nam powiedziałeś/powiedziałaś, jest to, że testowanie danych wyjściowych z modeli LLM, a także określanie ich ważności i jakości, zajmuje dużo czasu. Deweloperzy często generują dane zbiorczo, korzystając z różnych danych wejściowych, a potem weryfikują je ręcznie.
Bardziej skalowalne podejście do oceny wyników różnych modeli i promptów to technika LLM jako sędzia. W ramach tej techniki weryfikacja modelu jest delegowana do innego modelu LLM, a nie opiera się na ludzkim osądzie. Drugi model LLM musi być większym modelem LLM działającym w chmurze, który prawdopodobnie ma lepsze możliwości rozumowania.
W tym dokumencie korzystamy z podsumowań, aby zademonstrować podejście do porównywania modeli oraz dodatkowo pokazać poprawę jakości z Gemmy do Gemma 2.
Wybierz modele do porównania i przygotuj dane
W podsumowaniu oceniliśmy możliwości 3 modeli. Porównaliśmy wyniki 2 otwartych modeli Google, które mogą działać po stronie klienta: Gemma i Gemma 2, oba o rozmiarze 2 mld parametrów. W przeciwieństwie do tego przetestowaliśmy też większy, bardziej zaawansowany model działający w chmurze: Gemini 1.5 Flash.
Wykorzystaliśmy zbiór danych obejmujący 2225 artykułów BBC dotyczących takich obszarów jak biznes, rozrywka, polityka, sport i technologia. Na podstawie każdego z wybranych modeli wygenerowaliśmy podsumowanie każdego artykułu. W przypadku wszystkich modeli użyto tego samego prompta:
Podsumuj artykuł w 1 akapicie.
Oryginalne artykuły i wygenerowane podsumowania zostały zapisane w bazie danych, aby można było łatwo uzyskać do nich dostęp na każdym etapie.
Wybierz sędziego, który będzie analizować i oceniać podsumowania
Aby przeanalizować jakość podsumowania, użyliśmy modelu Gemini 1.5 Flash do oceny podsumowań utworzonych przez Gemma 2 i Gemma 2 2B. Nasze podejście opiera się na dopasowaniu, które jest częścią metryki podsumowującej DeepEval.
Zgodność to dane, które mierzą, jak często stwierdzenia zawarte w podsumowaniu są zgodne z pierwotnymi treściami, na których jest ono oparte.
Proces oceny podzieliliśmy na 2 etapy. Najpierw poprosiliśmy model o podzielenie każdego podsumowania na osobne stwierdzenia. Następnie poprosiliśmy model o określenie, czy każde stwierdzenie jest poparte oryginalnym tekstem artykułu.
Wyodrębnianie stwierdzeń z podsumowań
Poprosimy Gemini 1.5 Flash o podzielenie dłuższego tekstu na osobne stwierdzenia. Na przykład:
Obrońca Evertonu David Weir bagatelizuje szanse na europejskie puchary, mimo że jego drużyna zajmuje drugie miejsce w Premiership po zwycięstwie nad Liverpoolem.
Gemini 1.5 Flash podzieliło to zdanie na te stwierdzenia:
- „David Weir gra na pozycji obrońcy w Evertonie”.
- „Everton zajmuje obecnie drugie miejsce w Premier League”.
- „Everton pokonał Liverpool w ostatnim meczu”.
- „David Weir ograniczył dyskusję na temat gry Evertona w europejskim futbolu”.
Sprawdzanie instrukcji
Następnie poprosiliśmy Gemini 1.5 Flash o przeanalizowanie oryginalnego zdania w porównaniu z poszczególnymi stwierdzeniami. Model sklasyfikował wiarygodność każdego stwierdzenia jako:
- Tak: wyrażenie jest poparte tekstem oryginalnym.
- Nie. Wypowiedź jest sprzeczna z oryginalnym tekstem.
- Idk. Nie można sprawdzić, czy oświadczenie jest poparte dowodami, czy też jest sprzeczne z oryginalnym tekstem.
Analiza wyników
W wyniku tego procesu powstały 2 rodzaje danych, które można wykorzystać do porównania modeli:
- Dopasowanie: jak często model wygenerował podsumowania zawierające stwierdzenia, które są poparte oryginalnym tekstem.
- Bogactwo treści: średnia liczba stwierdzeń zawartych w podsumowaniu wygenerowanym przez model.
Wyrównanie
Dopasowanie obliczamy, dzieląc liczbę podsumowań z co najmniej 1 informacją „Nie” przez łączną liczbę podsumowań.
Model Gemini 1.5 Flash ma najwyższe wyniki dopasowania, przekraczające 92%. Oznacza to, że bardzo dobrze trzyma się faktów i nie wymyśla rzeczy.
Gemma 2 2B ma przyzwoity wynik 78,64%, co wskazuje na dobry poziom dokładności. Wcześniejsza wersja Gemma 2B ma niższy wynik dopasowania, co oznacza, że jest bardziej podatna na zawieranie informacji niezgodnych z oryginalnym tekstem.
Bogactwo
Bogactwo modelu obliczyliśmy, obliczając średnią liczbę stwierdzeń wygenerowanych przez model w przypadku każdego podsumowania.
Gemma 2 2B ma najwyższy wynik bogactwa treści (9,1), co oznacza, że jej podsumowania zawierają więcej szczegółów i kluczowych punktów. Model Gemini 1.5 Flash ma też wysoką ocenę bogactwa, przekraczającą 8,4. Gemma 2B uzyskała niższe wyniki bogactwa treści, co oznacza, że może nie zawierać tak wielu ważnych informacji z tekstu oryginalnego.
Podsumowanie
Ustaliliśmy, że mniejsze modele, które można uruchamiać po stronie klienta, takie jak Gemma 2 2B, mogą generować wyniki o wysokiej jakości. Modele oparte na chmurze, takie jak Gemini 1.5 Flash, świetnie sprawdzają się w generowaniu podsumowań zgodnych z pierwotnym artykułem, zawierając przy tym znaczną ilość informacji. Należy jednak wziąć pod uwagę różnice w wydajności aplikacji, potrzebach związanych z prywatnością i bezpieczeństwem oraz inne pytania, które mogą się pojawić podczas podejmowania decyzji, czy tworzyć AI po stronie klienta.
Możliwości rodziny modeli Gemma znacznie się zmieniły, ponieważ Gemma 2 2B generuje bogatsze i bardziej spójne podsumowania niż Gemma 2B.
Ocena przypadków użycia
Ten dokument tylko zarysowuje możliwości, jakie daje wykorzystanie LLM jako techniki oceny. Nawet po podsumowaniu możesz zobaczyć więcej danych, a wyniki mogą się różnić. Możesz np. ocenić zasięg za pomocą promptów, aby zidentyfikować najważniejsze punkty z artykułu, a potem użyć innego promptu, aby sprawdzić, czy te najważniejsze punkty są uwzględnione w poszczególnych podsumowaniu.
Inne przypadki użycia, takie jak pisanie tekstu, przepisywanie tekstu lub generowanie rozszerzone przez pobieranie (RAG), mogą dawać inne wyniki w przypadku tych samych danych lub podczas oceniania powinny być stosowane inne dane.
Stosując to podejście, zastanów się, jak człowiek oceniłby dane wyjściowe, aby określić, które dane są najlepsze do Twoich zastosowań. Warto też zapoznać się z dotychczasowymi rozwiązaniami, takimi jak DeepEval, które mogą już zawierać zestaw wskaźników odpowiednich do Twojego przypadku użycia.
Czy zastosowałeś/zaimplementowałeś model LLM jako oceniający do oceny modeli? Udostępnij swoje odkrycia w twecie na koncie @ChromiumDev lub na LinkedIn na stronie Chrome for Developers.