Data publikacji: 30 października 2024 r.
Tworzenie funkcji za pomocą dużych modeli językowych (LLM) różni się od konwencjonalnego inżynieriictwa 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 LLM-ów, 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 zamiast polegać na ludzkim osądzie, weryfikację modelu powierza się innemu LLM. 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 używamy podsumowania, aby pokazać, jak można porównywać różne modele. Jako bonus przedstawiamy też poprawę jakości w modelu Gemma 2 w porównaniu z modelem Gemma.
Wybieranie modeli do porównania i przygotowywanie danych
Oceniliśmy możliwości 3 modeli w zakresie podsumowywania. 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.
Użyliśmy zbioru danych z 2225 artykułów BBC, które obejmują takie obszary, jak biznes, rozrywka, polityka, sport i technologia. Wygenerowaliśmy podsumowanie każdego artykułu, korzystając z każdego z wybranych modeli. We wszystkich modelach użyto tego samego prompta:
Podsumuj artykuł w jednym 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 2B 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 treścią oryginalnego artykułu.
Wyodrębnianie stwierdzeń z podsumowań
Poprosimy Gemini 1.5 Flash, aby podzielił dłuższy tekst na osobne stwierdzenia. Na przykład:
Obrońca Evertonu David Weir bagatelizuje temat europejskich rozgrywek, mimo że jego drużyna zajmuje drugie miejsce w Premiership po zwycięstwie nad Liverpoolem.
Gemini 1.5 Flash podzielił 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 występów Evertonu w europejskich rozgrywkach piłkarskich”.
Sprawdzanie instrukcji
Następnie poprosiliśmy Gemini 1.5 Flash o przeanalizowanie oryginalnego zdania w porównaniu z poszczególnymi stwierdzeniami. Model zaklasyfikował wiarygodność każdego stwierdzenia jako:
- Tak: stwierdzenie jest zgodne z oryginalnym tekstem.
- 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: średnia liczba stwierdzeń zawartych w podsumowaniu wygenerowanym przez model.
Wyrównanie
Zgodność obliczono, zliczając liczbę podsumowań, w których co najmniej 1 oświadczenie zostało oznaczone jako „Nie”, i podzielając ją przez łączną liczbę podsumowań.
Model Gemini 1.5 Flash ma najwyższe wyniki dopasowania, przekraczające 92%. Oznacza to, że jest ona bardzo rzetelna i nie wymyśla faktów.
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 uwzględnianie informacji niezgodnych z tekstem źródłowym.
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 jakościowy (9,1), co oznacza, że jej podsumowania zawierają więcej szczegółów i kluczowych punktów. Model Gemini 1.5 Flash również osiąga wysokie wyniki bogactwa treści, przekraczające 8,4. Gemma 2B miała niższe wyniki bogactwa, co oznacza, że może nie zawierać tak wielu ważnych informacji z tekstu źródłowego.
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 streszczeń zgodnych z pierwotnym artykułem, zawierając przy tym znaczną ilość informacji. Należy jednak wziąć pod uwagę różnice w porównaniu z wymaganiami dotyczącymi wydajności aplikacji, prywatności i bezpieczeństwa oraz innymi pytaniami, które mogą pomóc w określeniu, czy warto tworzyć AI po stronie klienta.
Widać wyraźną ewolucję możliwości rodziny modeli Gemma, ponieważ Gemma 2 2B może generować bogatsze i bardziej dopasowane 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 przeglądać więcej danych, a wyniki mogą się różnić. Możesz na przykład ocenić pokrycie, używając promptu do identyfikowania kluczowych punktów artykułu, a następnie użyć innego promptu do weryfikacji, czy te kluczowe punkty są omawiane w każdym podsumowaniu.
Inne przypadki użycia, takie jak pisanie tekstu, przepisywanie tekstu czy generowanie rozszerzone na podstawie wyszukiwania, mogą dawać różne wyniki w przypadku tych samych danych lub wymagać użycia innych danych do oceny.
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 ramami, takimi jak DeepEval, które mogą już zawierać zestaw wskaźników odpowiednich do Twojego przypadku użycia.
Czy zastosowałeś/zaimplementowałeś LLM jako sędziego do oceny modeli? Udostępnij swoje odkrycia w tweetach na koncie @ChromiumDev lub na Chrome dla deweloperów na LinkedIn.