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ększy, oparty na chmurze i mieć lepsze możliwości rozumowania.
W tym dokumencie używamy podsumowania, aby pokazać, jak można porównywać różne modele. W bonusie prezentujemy 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 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. 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 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ą poparte oryginalną treścią, na której się ono opiera.
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 o podzielenie dłuższego tekstu 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 treści: ś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 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 tekstem źródłowym.
Bogactwo
Bogactwo modelu obliczyliśmy, obliczając średnią liczbę instrukcji wygenerowanych przez model w przypadku każdego podsumowania.
Gemma 2 2B ma najwyższy wynik jakości (9,1), co oznacza, że jej podsumowania zawierają więcej szczegółów i kluczowych punktów. Model Gemini 1.5 Flash ma też wysokie wyniki bogactwa treści, przekraczające 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 ź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 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.
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 dla 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ś model LLM jako oceniający do oceny modeli? Udostępnij swoje odkrycia w tweetach na koncie @ChromiumDev lub na LinkedIn w grupie Chrome for Developers.