MVP DevelopmentMVP Development
Powrót do zasobów

Metryki ewaluacji LLM: jak udowodnić, że funkcja AI działa

MVP Development••10 min minimalny czas czytania

Wydanie funkcji LLM przez weekend to dziś łatwa część. Wiedza, czy naprawdę działa, na pytaniach, które zadają prawdziwi użytkownicy, a nie na pięciu, które sam wypróbowałeś, to, co decyduje, czy przeżyje kontakt z produkcją. Po to są metryki ewaluacji LLM: sposób sprawdzenia wyjścia modelu wobec czegoś bardziej wiarygodnego niż przeczucie foundera po dobrym demie. Większość zespołów pomija ten krok, aż coś psuje się przed klientem, a wtedy naprawa kosztuje ticket wsparcia, zwrot albo gorzej, nagłówek. Realny układ ewaluacji może zostać lekki. Musi istnieć przed startem i musi uruchamiać się znów za każdym razem, gdy prompt albo model pod nim się zmienia.

Dlaczego metryki ewaluacji LLM decydują o jakości produktu

Founder, który właśnie wydał MVP w kilka dni, zna to uczucie: demo zadziałało, wszystkim ulżyło, a nikt jeszcze nie próbował go złamać. Nasz przewodnik po budowie 2-dniowego MVP z inżynierią AI omawia, jak zespoły poruszają się tak szybko. Szybkość na etapie buildu nie mówi nic o dokładności na etapie wyjścia. Metryki ewaluacji LLM istnieją, bo model językowy nie zawodzi tak, jak zawodzi zwykłe oprogramowanie. Zepsuty przycisk albo działa, albo nie. Model może dobrze odpowiedzieć na osiem z dziesięciu pytań i po cichu spartaczyć pozostałe dwa w sposób, którego nikt nie pomyślał przetestować. Ręczne wyrywkowe sprawdzanie wyłapuje oczywiste porażki, potem rozpada się poza garstką przykładów, bo dwóch recenzentów często nie zgadza się, czy odpowiedź przeszła. Ewaluacja należy do wnętrza buildu, od pierwszego prototypu. Funkcja, której nikt nie zmierzył, to funkcja, której ufasz na wiarę.

Demo, które robi wrażenie na Twoim zespole, dowodzi, że model potrafi wyprodukować jedną dobrą odpowiedź w przyjaznych warunkach. To inne twierdzenie niż 'działa'. Wydawaj na podstawie wyników z realnego zbioru ewaluacyjnego, zbudowanego z pytań, których Twój zespół nie wybrał ręcznie, żeby dobrze wyglądały.

Metryki offline, które mają znaczenie

Metryki offline działają wobec stałego zbioru przykładów, zanim cokolwiek dotrze do użytkownika, podzielone na kilka realnych rodzin, każda odpowiadająca na inne pytanie o wyjście. Scoring exact-match i podobieństwa sprawdza, jak blisko odpowiedź jest do referencji, użyteczny dla etykiety kategorii albo wyodrębnionego pola, słabszy, gdy odpowiedzi mogą wyglądać zupełnie inaczej i obie wciąż być poprawne. Metryki wierności i osadzenia mają największe znaczenie, gdy funkcja wciąga zewnętrzny kontekst: bot wsparcia czytający Twoje dokumenty, narzędzie cytujące raport. Sprawdzają, czy odpowiedź trzyma się tego, co pobrała, zamiast dryfować w coś prawdopodobnie brzmiącego, czego nigdy nie było w źródle. Nasz przewodnik RAG vs fine tuning omawia, jak ten wybór architektury zmienia to, co model widzi, gdy odpowiada. Warto powiedzieć wprost: wynik publicznego benchmarku, liczby z leaderboardów w stylu MMLU, które publikują dostawcy, mówi Ci niemal nic o Twoim zadaniu. Te benchmarki mierzą ogólną zdolność na pytaniach, których nikt Cię nie prosił rozwiązać. Zbiór ewaluacyjny zbudowany z realnych pytań Twoich użytkowników bije ranking leaderboardu.

Rodzina metrykCo mierzyGdzie się załamuje
Exact-match / podobieństwoJak blisko wyjście jest do referencyjnej odpowiedzi albo etykietyKarze poprawną odpowiedź sformułowaną inaczej
Wierność / osadzenieCzy odpowiedź trzyma się pobranego albo dostarczonego kontekstuUżyteczna dopiero, gdy funkcja pobiera zewnętrzny kontekst
LLM-jako-sędziaDrugi model ocenia wyjście wobec rubrykiFaworyzuje dłuższe, pewne odpowiedzi i własną rodzinę modeli
Przegląd przez człowiekaOsoba ocenia wyjście wobec realnej intencjiWolny i kosztowny na skalę, a recenzenci często się nie zgadzają

Przegląd przez człowieka i LLM-jako-sędzia

Przegląd przez człowieka to najbardziej wiarygodny sygnał, jaki masz, i najmniej skalowalny. Osoba czytająca odpowiedź wyłapuje niuans, którego nie wyłapie żaden automatyczny wynik: ton poprawny, ale nie w stylu marki, fakt subtelnie błędny w sposób, który wyłapie tylko specjalista. Ręczny przegląd każdej odpowiedzi produkcyjnej wymaga kadry, której nikt nie budżetuje na etapie MVP. LLM-jako-sędzia wypełnia tę lukę: drugi model ocenia wyjście pierwszego wobec rubryki, którą piszesz. Jest szybki, tani i skaluje się do wolumenu, któremu żaden ludzki panel by nie dorównał. Niesie też realny bias: modele-sędziowie faworyzują dłuższe, pewnie brzmiące odpowiedzi niezależnie od tego, czy długość cokolwiek dodaje (bias rozwlekłości), a czasem oceniają własną rodzinę modeli wyżej niż równie dobre odpowiedzi skądinąd (bias autopreferencji). Skalibruj LLM-jako-sędziego, zanim mu zaufasz: oceń partię oznakowanych przez człowieka przykładów swoim modelem-sędzią, sprawdź, jak często oba się zgadzają, i oprzyj się na automatycznym wyniku, gdy śledzi ludzki osąd.

Wyniki LLM-jako-sędzia to opinie innego modelu. Użyteczne na skalę i warte zautomatyzowania, ale wciąż opinie, które trzeba sprawdzić wobec ludzkiej bazy, zanim zdecydują, czy funkcja wychodzi.

Budowa zbioru ewaluacyjnego z realnego użycia

Najlepszy zbiór ewaluacyjny pochodzi z pytań, które prawdziwi użytkownicy faktycznie zadali: logi wsparcia, transkrypcje czatu, rozmowy grupy beta, gdy masz już ruch, z którego czerpać. Zbiór, który napisałeś sam w popołudnie, dostrojony, by demo dobrze wyglądało, pokrywa tylko garstkę rzeczy, które pomyślałeś przetestować. Celuj w realną szerokość: typowe pytania, przypadki brzegowe, dwuznaczne i kilka bliskich poza zakresem, bo wiedza, kiedy model powinien odmówić, liczy się niemal tak samo jak wiedza, kiedy odpowiedzieć. Trzydzieści do pięćdziesięciu dobrze dobranych przykładów to realistyczny punkt startu na etapie MVP, rosnący, gdy ruch produkcyjny wydobywa porażki, których nikt nie przewidział. Oznacz każdy przykład tym, jak wygląda dobra odpowiedź. Zwykła flaga dobrze-albo-źle ukrywa powód za porażką. Rubryka, wobec której człowiek albo skalibrowany model-sędzia może oceniać, trzyma się lepiej w czasie.

Testy regresji promptów i modeli

Zmiana promptu, która naprawia jedną porażkę, może po cichu zepsuć trzy inne, których nie testowałeś. Traktuj swój zbiór ewaluacyjny tak, jak zespół backendu traktuje zestaw testów: uruchom go przed wydaniem zmiany, zanim użytkownik zgłosi coś dziwnego. To ma znaczenie, nawet gdy sam niczego nie tknąłeś. Dostawca wdrażający nowy domyślny model za API może zmienić zachowanie Twojej funkcji z dnia na dzień, bez zmiany kodu po Twojej stronie. Zespoły, które przypinają wersję i wciąż widzą dryf, zwykle obserwują, jak dostawca wycofuje stary model na rzecz nowszego o innych nawykach. Zautomatyzuj przebieg regresji, jeśli możesz. Skrypt, który ocenia Twój zbiór ewaluacyjny i oznacza wszystko poniżej progu, wyłapuje więcej niż człowiek pamiętający, by sprawdzić. Trzymaj krótki log zmian i wyników. Staje się jedynym realnym zapisem tego, które poprawki promptu pomogły.

Wydałeś już funkcję LLM? Przetestujmy ją pod presją.

Prześlij nam to, co zbudowałeś, i rodzaje pytań, na które ma odpowiadać. Pomożemy złożyć realny zbiór ewaluacyjny, ocenić, gdzie jest dziś słaby, i ustawić testy regresji, żeby kolejna zmiana promptu po cichu nie zepsuła tego, co już działa.

Zdobądź przegląd ewaluacji

Sygnały monitoringu na produkcji

Ewaluacje offline działają wobec stałego zbioru. Produkcja działa wobec całej reszty, pytań, których nikt nie zapisał przed startem. Garstka sygnałów wyłapuje to, co ewaluacje pomijają: więcej bardzo krótkich albo bardzo długich odpowiedzi, skok odpowiedzi 'nie wiem' i ktoś przeformułowujący to samo pytanie dwa razy z rzędu, zwykle znak, że pierwsza odpowiedź chybiła. Przyciski kciuk w górę i kciuk w dół zbierają realny feedback, ale waż je ostrożnie. Większość użytkowników nie klika niczego, nawet gdy odpowiedź ich rozczarowuje, więc cichy strumień ocen ukrywa więcej porażek, niż wydobywa. Monitorowanie jakości to jedna oś. Monitorowanie pod kątem nadużycia to druga, a funkcja przyjmująca wejście użytkownika albo dostęp do narzędzi potrzebuje obu obserwowanych obok siebie. Nasz przewodnik po zapobieganiu prompt injection omawia stronę bezpieczeństwa: guardraile, które powstrzymują spreparowane wejście przed skierowaniem modelu tam, gdzie nie powinien.

Częste błędy ewaluacji

Garstka błędów pojawia się niemal w każdym układzie ewaluacji, na który patrzymy.

  • Ocenianie na wyczucie. Recenzent przegląda dziesięć wyjść, decyduje, że wyglądają dobrze, i uznaje funkcję za przetestowaną. Dziesięć przykładów to próbka do niczego.
  • Testowanie tylko szczęśliwej ścieżki. Prawdziwi użytkownicy piszą literówki, zadają dwuznaczne pytania i celowo próbują psuć rzeczy. Zbiór ewaluacyjny pomijający te przypadki przepuszcza funkcję, która pada w pierwszym tygodniu.
  • Zaufanie do jednego zagregowanego wyniku. 85-procentowy wskaźnik zaliczeń ukrywa, które 15 procent pada, często część najważniejsza dla jednego segmentu klientów.
  • Pozwolenie, by zbiór ewaluacyjny się zestarzał. Zbiór zbudowany na starcie i nigdy nieaktualizowany przestaje odzwierciedlać realne użycie w ciągu miesięcy.
  • Pomijanie ludzkiej kalibracji wyniku LLM-jako-sędzia. Automatyczny sędzia nigdy nie sprawdzony wobec osoby to zgadywanie w przebraniu liczby.

Układ ewaluacji na etapie MVP

Ewaluacja funkcji na etapie MVP wymaga krótkiej listy realnych pytań, sposobu ich oceny i dyscypliny, by uruchamiać ten wynik za każdym razem, gdy coś się zmienia. Zespół badawczy i duży budżet na tooling mogą poczekać. Układ, który się trzyma, wygląda mniej więcej tak:

  • 30 do 50 realnych pytań z użycia, feedbacku albo ticketów wsparcia, ważonych ku przypadkom brzegowym
  • Prosta rubryka (zaliczone albo nie, plus krótki powód) oceniana ręcznie na początku
  • Przebieg LLM-jako-sędzia skalibrowany wobec tej ludzkiej rundy, sprawdzany ponownie co kilka miesięcy
  • Przebieg regresji wpięty w Twój proces deployu albo co najmniej uruchamiany przed każdą zmianą promptu czy modelu
  • Lekkie sprawdzenie produkcyjne: długość odpowiedzi, wskaźnik odmów i sposób oznaczenia złej odpowiedzi

Żadna pojedyncza metryka nie gwarantuje idealnej funkcji. Ewaluacje wyłapują to, co zepsute, zanim zrobi to klient, i dowodzą, że naprawa naprawdę zadziałała. Jeśli określasz zakres funkcji LLM i chcesz pracę nad ewaluacją wbudowaną od pierwszego dnia, odezwij się do naszego zespołu integracji AI w sprawie dopasowania układu do funkcji.

Tags

Powiązane artykuły

Zapoznaj się z innymi artykułami na podobne tematy, aby pogłębić swoją wiedzę.

Często zadawane pytania

Znajdź odpowiedzi na często zadawane pytania dotyczące tego tematu.

Pojedyncza metryka to jedna liczba: wynik exact-match, sprawdzenie osadzenia, ocena sędziego. Framework to proces wokół niej: utrzymywany zbiór ewaluacyjny, metoda oceny dla każdej metryki, próg zaliczenia i harmonogram jego ponownego uruchamiania. Większość zespołów, których ewaluacje 'nie działają', ma tak naprawdę mnóstwo metryk i żadnego procesu, który by je spinał.

Tylko luźno, i warto znać tę lukę na wejściu. Wynik publicznego benchmarku odzwierciedla wydajność na tysiącach niepowiązanych pytań. Twoja funkcja musi obsłużyć tylko konkretne zadanie, po które została wydana, znacznie węższą i użyteczniejszą rzecz do zmierzenia. Bot wsparcia odpowiadający na pytania o Twoją politykę zwrotów potrzebuje własnego wyniku na pytaniach o zwroty, testowanego wobec Twojej własnej dokumentacji.

Złożoność zadania ma tu większe znaczenie niż jakakolwiek stała reguła, a większość zespołów na etapie MVP zaczyna mniej, niż się spodziewa. Klasyfikator wybierający między pięcioma kategoriami może dać użyteczny pierwszy odczyt z dwudziestu czy trzydziestu przykładów. Otwarty asystent obsługujący wszelkie pytania potrzebuje szerszego rozrzutu, zanim wynik cokolwiek znaczy. Mały zbiór zbudowany z realnych pytań wciąż bije duży zbudowany ze zgadywań.

Nie, dopóki nie sprawdzisz go wobec własnego przeglądu przynajmniej raz. Wyniki LLM-jako-sędzia oceniają dużo więcej wyjścia, niż kiedykolwiek mogłaby osoba, ale niosą znane biasy: faworyzowanie dłuższych, pewnych odpowiedzi i czasem wyjścia własnej rodziny modeli. Oceń partię na oba sposoby, człowiek i sędzia, i porównaj. Zgoda przez większość czasu znaczy, że możesz oprzeć się na sędzim dla skali. Niezgoda znaczy naprawę rubryki przed zaufaniem któremukolwiek wynikowi.

Za każdym razem, gdy tkniesz prompt, podmienisz model albo dostawca zaktualizuje jeden za kulisami. Ustaw też lżejszą cykliczną kadencję, tygodniowo albo co dwa tygodnie, bo dostawcy zmieniają domyślne modele bez wielkiego uprzedzenia, a dryf może się pojawić, nawet gdy Twój własny kod w ogóle się nie ruszył.

Żadna pojedyncza liczba nie działa dla każdej funkcji, szczerze. Chatbot wsparcia odpowiadający na pytania o niskiej stawce może wystartować przy niższej poprzeczce niż narzędzie dotykające porad medycznych czy finansowych, gdzie błędna odpowiedź kosztuje więcej niż zirytowanego użytkownika. Ustaw własny próg z wyników ewaluacji: spójrz, co faktycznie pada, zdecyduj, czy możesz z tym żyć na produkcji, i podnoś poprzeczkę, gdy funkcja bierze na siebie pytania o wyższej stawce.

Nie. Większość pracy nad ewaluacją na etapie MVP jest bliższa skryptowaniu niż badaniom: pisanie zbioru testowego, rubryki oceniania i małego programu, który uruchamia model wobec obu. Inżynier swobodny z promptami i podstawowym skryptowaniem pokrywa większość tego. Specjalista zarabia na swoje miejsce, gdy budujesz własne modele statystyczne na podstawach.

Dowiadujesz się, co zepsute, od użytkowników zamiast ze zbioru testowego, wolniejszy i droższy sposób nauczenia się tej samej lekcji. Ewaluacje wyłapują porażki, zanim ktokolwiek spoza Twojego zespołu je zobaczy. Monitoring wyłapuje dryf po starcie, gdy aktualizacja modelu albo zmiana treści przesuwa zachowanie, którego nikt nie tknął celowo. Pomiń pierwsze, a robisz testy publicznie, jeden sfrustrowany ticket wsparcia na raz.