Opublikowano: 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 modeli LLM, a także określanie ich ważności i jakości, zajmuje dużo czasu. Deweloperzy często uzgadniają wyniki zbiorczo, używając różnych danych wejściowych, a potem sprawdzają je ręcznie.
Bardziej skalowalne podejście do oceny wyników różnych modeli i promptów to technika LLM jako sędzia. Dzięki tej metodzie walidacja modelu jest przekazywana do innego LLM, zamiast polegać na ocenie ludzkiej. 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. 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ą zgodne z pierwotnymi treściami, na których jest ono oparte.
Podzieliliśmy proces oceny na dwa etapy. Najpierw poprosiliśmy model o podzielenie każdego podsumowania na osobne instrukcje. Następnie poprosiliśmy model o oznaczenie, czy każde stwierdzenie jest poparte treścią oryginalnego artykułu.
Wyodrębnianie stwierdzeń z podsumowań
Poprosiliśmy Gemini 1.5 Flash o podzielenie dłuższego tekstu na osobne stwierdzenia. Na przykład:
Obrońca Evertonu, David Weir, często mówi o europejskim futbolu, mimo że jego drużyna pokonała Liverpoolu na drugim miejscu w Premierze.
Gemini 1.5 Flash podzieliło to zdanie na te stwierdzenia:
- „David Weir gra obrońcę Evertona”.
- „Everton jest obecnie na drugim miejscu w Premierze”.
- „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: stwierdzenie jest zgodne z oryginalnym tekstem.
- Nie. Wypowiedź jest sprzeczna z oryginalnym tekstem.
- IdK. Nie można sprawdzić, czy dane stwierdzenie jest obsługiwane lub czy 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 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. Chociaż modele działające w chmurze, takie jak Gemini 1.5 Flash, doskonale nadają się do tworzenia podsumowań, które są zgodne z oryginalnym artykułem i zawierają sporą ilość informacji. Różnice te należy wziąć pod uwagę także z potrzebami dotyczącymi wydajności aplikacji, prywatności i bezpieczeństwa oraz innymi pytaniami, jakie warto sobie zadać przy określaniu, czy należy stworzyć 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 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 czy generowanie rozszerzone na podstawie wyszukiwania, mogą dawać różne wyniki dla tych samych danych lub wymagać użycia innych danych do oceny.
Wdrażając to podejście, zastanów się, jak człowiek mógłby ocenić wyniki, aby określić, które wskaźniki będą najlepsze w Twoich przypadkach użycia. 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.