Przygotuj swojego sędziego do zastosowań produkcyjnych
Podstawowy sędzia, którego utworzyliśmy w Konfigurowanie podstawowego modelu sędziego, części 1 i części 2, był oparty na danych oznaczonych samodzielnie. To świetny sposób na ustalenie podstawowego poziomu testowania. Aby jednak uzyskać jakość na poziomie produkcyjnym, potrzebujesz sędziego, który myśli jak specjalista w danej dziedzinie, oraz solidnych wskaźników statystycznych, które pozwolą Ci zaufać mu na dużą skalę. Tym właśnie zajmiemy się w tym artykule.
Tworzenie zbioru danych dotyczących zgodności z ekspertami
Używanie ekspertów do oznaczania zbioru danych dotyczących zgodności jest kluczowe do stworzenia wiarygodnego sędziego LLM. Priorytetem jest jakość, a nie ilość. 30 wysokiej jakości etykiet od eksperta w danej dziedzinie jest nieskończenie lepszych niż 300 etykiet od osób, które nie są ekspertami.
Znajdowanie osób oznaczających dane
Do oznaczania danych pod kątem zgodności z marką używaj projektantów i ekspertów od marki. W przypadku toksyczności możesz polegać na tych samych osobach oznaczających dane lub zlecić oznaczanie danych zespołowi na podstawie centralnej oceny cząstkowej, aby mieć pewność, że osoby oznaczające dane stosują te same kryteria oceny.
Ilu ekspertów oznaczających dane?
- 1 ekspert: jest to szybkie rozwiązanie, które sprawdzi się na początek, ale sędzia będzie miał uprzedzenia tej osoby.
- 2 ekspertów: może to być świetne rozwiązanie w ramach budżetu. Nie możesz rozstrzygać remisów, ale możesz zauważyć niezgodności.
- 3 lub więcej ekspertów: to złoty standard. Użycie nieparzystej liczby ekspertów zapewnia automatyczne rozstrzygnięcie remisu w przypadku ocen binarnych
PASSiFAIL, jak w naszym przykładzie, ponieważ możesz wybrać ocenę większości.
W przypadku ThemeBuilder załóż, że masz szczęście mieć 3 projektantów marki, którzy zgodzą się być naszymi ekspertami oznaczającymi dane.
Eksperci formułują kryteria oceny
Przed oznaczeniem danych poproś ekspertów o zdefiniowanie ścisłej oceny cząstkowej z konkretnymi kryteriami oceny PASS. Pomoże to ekspertom zachować spójność w ocenie, zarówno indywidualnie, jak i zbiorowo.
Na przykład:
Criteria:
• Psychological association: Do the colors evoke the emotions associated with the desired tone?
• Harmony: Do the colors work together to create the right atmosphere?
• Appropriateness: Is the palette suitable for the company's industry?
Eksperci oznaczają dane
Poproś ekspertów o przejrzenie 30–50 próbek, przypisanie etykiety PASS lub FAIL na podstawie kryteriów oceny oraz napisanie rationale wyjaśniającego ich ocenę. Uzasadnienie jest kluczowe, ponieważ będziesz go używać do rozwiązywania problemów i naprawiania niezgodności między naszym sędzią a naszymi ekspertami.
Wskazówki dotyczące skutecznego oznaczania danych
Ręczne oznaczanie danych jest kosztowne. Wypróbuj te techniki, aby zoptymalizować skuteczność ekspertów:
- Tylko weryfikacja: użyj LLM do wygenerowania wstępnych etykiet i uzasadnień, a następnie poproś ekspertów o ich sprawdzenie i poprawienie. Weryfikacja jest szybsza niż tworzenie oceny od zera.
- Selektywne oznaczanie danych: poproś drugiego eksperta o sprawdzenie niewielkiego podzbioru pracy pierwszego eksperta. Jeśli się nie zgadzają, zatrzymaj się i popraw kryteria oceny, zanim zaczniesz oznaczać więcej danych.
- LLM jako druga opinia: poproś jednego eksperta i jednego sędziego LLM o oznaczenie tych samych elementów. Jeśli zgodność jest niska, LLM inaczej rozumie kryteria oceny. Wykonuj iterację kryteriów oceny, aż się wyrównają.
- Sprawdzanie w obrębie oceniającego: jeśli masz tylko jednego eksperta, poproś go, aby po tygodniu ponownie oznaczył losowo wybrane 10% danych. Jeśli nie zgadza się z własną oceną sprzed tygodnia, Twoje kryteria oceny nie są stabilne.
Oto fragment kodu JSON z wpisem w zbiorze danych oznaczonych przez eksperta, w tym etykieta PASS i FAIL oraz szczegółowe uzasadnienie:
{
"id": "sample-001",
"userInput": {
"companyName": "Kinetica",
// Company description, audience and tone
},
"appOutput": {
"motto": "Unlock your kinetic potential.",
// ... Color palette
},
"humanEvaluation": {
"mottoBrandFit": {
"label": "PASS",
"rationale": "This motto powerfully aligns the brand's technical
engineering with the ambitious goals of its elite athletic audience.
Relevance: Leverages 'kinetic' to expertly link the brand to physical
energy. Audience appeal: 'Unlock your potential' resonates perfectly
with competitive runners. Tone consistency: Nails the required
aggressive, high-performance marks."
},
// ... Human evals for colorBrandFit and mottoToxicity:
}
}
Osiąganie i mierzenie zgodności z ekspertami
Twoje kryteria oceny służą jako instrukcje dla modelu, dlatego warto poświęcić czas na ich dopracowanie. Jeśli jeden projektant zdefiniuje „zabawny” jako „kreatywny język”, a drugi zinterpretuje go jako „jasne kolory”, Twój LLM też będzie miał problem. Zanim przekażesz kryteria oceny sędziemu, musisz je dopracować, aby wyeliminować te niejednoznaczności. Wysoka zgodność, znana jako zgodność między osobami oznaczającymi dane lub zgodność między oceniającymi, zapewnia, że model sędziego będzie dostarczał wiarygodne etykiety wysokiej jakości.
Niezgodności między ludźmi są przydatnymi sygnałami, które informują, gdzie należy poprawić kryteria oceny. Powtarzaj proces, aż eksperci zgodzą się co do tego, które przypadki są PASS, a które FAIL.
Sędzia nie może być bardziej zgodny niż ludzie, którzy go stworzyli.
Podstawowa zgodność
// total = all test cases
// aligned = test cases where human1Eval.label === human2Eval.label
// (for example PASS and PASS)
const alignment = (aligned / total) * 100;
Zgodność wykraczająca poza przypadek: Kappa
Podstawowy odsetek zgodności jest prosty, ale może wprowadzać w błąd. Wyobraź sobie zbiór danych, który w połowie składa się z etykiet PASS, a w połowie z etykiet FAIL. Jeśli 2 eksperci będą rzucać monetą, nadal będą się zgadzać w 50% przypadków. Nazywa się to progiem szczęścia.
Aby dokładnie obliczyć zgodność, użyj wskaźników statystycznych, które mierzą wiarygodność wykraczającą poza czysty przypadek:
- Kappa Cohena dla 2 osób oznaczających dane.
Kappa Fleissa dla 3 lub więcej osób oznaczających dane.
Test: dąż do wyniku Kappa wynoszącego co najmniej
0.61, co jest standardem dla znacznej zgodności. Wynik0oznacza, że nie jest lepiej niż w przypadku losowego zgadywania, a1.0to idealna zgodność.Poprawka: jeśli wynik Kappa jest niższy niż
0.61, Twoje kryteria oceny są zbyt ogólne. Pogrupuj próbki, w których eksperci się nie zgodzili, przejrzyj ich uzasadnienia, zaktualizuj kryteria oceny, aby uwzględnić te konkretne przypadki brzegowe, i powtarzaj proces, aż osiągniesz wynik0.61. Dopiero gdy eksperci się zgodzą, możesz przejść do następnego kroku.
| Wynik Kappa | Działanie |
|---|---|
Poniżej 0.60: słaby |
Powtarzaj proces i dowiedz się, dlaczego eksperci widzą rzeczy inaczej. Twoje kryteria oceny mogą być zbyt ogólne, więc je dopracuj. |
0.61–0.80: dobry |
Twój punkt odniesienia jest wiarygodny. Kontynuuj z tymi kryteriami oceny. |
0.81–1.00: prawie idealny |
Prawie zbyt dobry, aby był prawdziwy. Sprawdź, czy zadanie nie jest zbyt łatwe lub czy eksperci nie upraszczają go za bardzo. |
Zwijanie etykiet ekspertów
Jeśli do oznaczania danych używasz 3 lub więcej ekspertów, zwiń ich głosy w jedną ocenę większości dla każdej próbki. Ta lista stanie się Twoimi danymi podstawowymi.
Konfigurowanie sędziego
Podobnie jak w przypadku podstawowego sędziego, musisz
skonfigurować parametry modelu
i napisać prompt. Ustaw instrukcje systemowe na ścisłą personę eksperta i utrzymuj temperaturę na poziomie 0, aby zapewnić maksymalną spójność. W prompcie podaj dokładne kryteria oceny, których używali eksperci do oceniania danych. Dodaj kilka próbek oznaczonych przez ekspertów jako przykłady few-shot, aby pokazać sędziemu, jak ma rozumować.
Dopasowywanie i testowanie sędziego
Gdy eksperci się zgodzą, czas sprawdzić, czy sędzia LLM się z nimi zgadza.
W naszej podstawowej konfiguracji sprawdziliśmy surową zgodność (dokładność). Jednak sama ta liczba może być myląca. Wyobraź sobie, że 90% danych testowych to PASS. Lenistwo sędzia mógłby za każdym razem zwracać PASS i uzyskać 90% dokładności, nie wykrywając ani jednego toksycznego hasła.
Definiowanie klasy pozytywnej
Zdefiniuj klasę pozytywną. Twoja klasa wyników pozytywnych, zwana też warunkiem docelowym lub interesującym zdarzeniem, to konkretny wynik, który próbujesz wykryć, zmierzyć lub oznaczyć. Potok oceny działa jak strażnik dostępu: jego głównym celem jest wykrywanie i blokowanie nieprawidłowych wyników.
Zakładając, że ThemeBuilder dobrze generuje hasła i palety zgodne z marką, a toksyczne hasła są rzadkim zjawiskiem, klasą wyników pozytywnych dla wszystkich kryteriów oceny jest FAIL.
Mając to na uwadze:
- Wyniki fałszywie pozytywne to prawidłowe wyniki błędnie oznaczone jako
FAIL. - Wyniki fałszywie negatywne to
FAIL, które zostały pominięte. - Wyniki prawdziwie pozytywne to prawidłowo zidentyfikowane
FAIL.
Precyzja i czułość
Mając na uwadze klasę wyników pozytywnych, możesz teraz używać precyzji i czułości, które są lepszymi wskaźnikami niż surowa zgodność:
- Precyzja: jak często sędzia LLM miał rację, gdy mówił
FAIL? Na przykład: jak często sędzia miał rację, gdy oznaczył hasło jako toksyczne? - Czułość: jak często sędzia LLM wykrył
FAIL, gdy człowiek powiedziałFAIL? Na przykład: ile prawdziwie toksycznych wyników oraz prawdziwie niezgodnych z marką haseł i palet wykrył sędzia?
Określanie kosztów błędów i ustawianie docelowych wyników
Zadaj sobie pytanie: który błąd jest gorszy dla Twojej aplikacji?
- Toksyczność: toksyczność to problem z bezpieczeństwem. Chcemy wykryć każde toksyczne hasło (zminimalizować wyniki fałszywie negatywne), nawet jeśli oznacza to, że nasz sędzia będzie czasami zbyt surowy i oznaczy bezpieczne hasło. Oznaczenie bezpiecznego hasła (wynik fałszywie pozytywny) oznacza niewielkie opóźnienie lub sprawdzenie przez człowieka. Dlatego dążymy do 100% czułości. Precyzja może być niższa.
- Zgodność z marką: musimy zachować równowagę. Zarówno pominięcie złych projektów, jak i odrzucenie dobrych są równie kosztowne. Dlatego chcemy mieć solidną precyzję i czułość.
Wynik F1
Gdy czułość wzrasta, precyzja często spada. W przypadku toksyczności nie jest to problem, ponieważ interesuje Cię tylko czułość.
W przypadku zgodności z marką ważna jest zarówno czułość, jak i precyzja. Aby zrównoważyć tę ważność, możesz użyć nowego wskaźnika: F1. Twój wynik F1 łączy precyzję i czułość w jeden zrównoważony wskaźnik.
Osiąganie zgodności
Uruchom sędziego na zbiorze danych oznaczonych przez ekspertów i oblicz wyniki dokładności, precyzji, czułości i F1 dla każdego kryterium. Sprawdź, czy osiągasz swoje cele.
Jeśli nie, pogrupuj przypadki niepowodzeń i przeczytaj uzasadnienia LLM. Zaktualizuj instrukcje systemowe sędziego i kryteria oceny, aby zlikwidować luki, aż wskaźniki osiągną docelowe wartości.
Gdy sędzia osiągnie docelowe wartości, będzie zgodny.
Weryfikacja końcowa
Teraz zweryfikujemy sędziego, wykonując dokładnie te same czynności, które opisaliśmy w sekcji Konfigurowanie podstawowego sędziego, ale zastosujemy nowe zaawansowane wskaźniki:
- Testowanie obciążeniowe za pomocą bootstrapingu: losowo próbuj ponownie zbiór danych z powtórzeniami przez 10 iteracji. Oblicz wariancję wyników precyzji, czułości i F1 w tych przebiegach, aby matematycznie udowodnić, że wysokie wyniki nie są tylko przypadkiem.
- Testowanie spójności: uruchom te same dane wejściowe w sędzi wielokrotnie, aby upewnić się, że jego werdykty są w 100% stabilne. Chcemy, aby wariancja wynosiła zero we wszystkich iteracjach.
- Egzamin końcowy dla sędziego: przetestuj sędziego na zbiorze 15–20 świeżych próbek oznaczonych przez ekspertów, których nigdy wcześniej nie widział. Oblicz wyniki Kappa Cohena, precyzji, czułości i F1 w tym ukrytym zbiorze. Jeśli te wskaźniki pozostaną zbliżone, oznacza to, że sędzia nie dopasował się do danych dotyczących zgodności i jest gotowy do uogólnienia na świat rzeczywisty.
Ponowne dopasowywanie sędziego
Gdy skończysz, gratulacje! Udało Ci się stworzyć wysoce niezawodny potok oceny.
Pamiętaj, aby ponownie dopasować sędziego za każdym razem, gdy zaktualizujesz bazowy LLM, na którym się opiera, lub gdy zestaw funkcji aplikacji ulegnie zasadniczej zmianie.