Kalibracja sędziego LLM wobec ocen ludzi: protokół, który kończy się decyzją dla każdego kryterium
Kalibracja sędziego LLM wskazuje, które kryteria model oceniający (LLM-as-a-judge) może oceniać samodzielnie, a które wymagają udziału człowieka. Mierzy, jak często sędzia zgadza się z przeszkolonymi oceniającymi na tych samych wynikach, kryterium po kryterium, zanim jego oceny zaczną decydować o wydaniu. Sędzia jest drugim modelem z własnymi, udokumentowanymi skłonnościami, więc potrzebuje takich samych dowodów jak system, który ocenia.
23Minds kalibruje sędziów LLM wobec ocen ludzi dla zespołów inżynierskich, które prowadzą automatyczną ewaluację i nie wiedzą, czy oceny sędziego zgadzają się z ocenami ich własnych recenzentów. Wynikiem jest spisana decyzja dla każdego kryterium: sędzia decyduje sam, sędzia sortuje i kieruje spory do człowieka albo kryterium zostaje przy ludziach. Klient zatrzymuje zbiór odniesienia oznaczony przez ludzi, raport zgodności z macierzą pomyłek dla każdego kryterium i procedurę ponownej kalibracji, uruchamianą przy każdej zmianie modelu sędziego, jego promptu albo zasad oceny, także na ruchu produkcyjnym po starcie.
Kto skorzysta z tego przewodnika.
- CTO i wiceprezesi ds. inżynierii, u których bramką wydania jest ocena sędziego LLM i których klient albo audytor zapytał, dlaczego tej ocenie można ufać
- Zespoły, które wypróbowały kilka narzędzi do ewaluacji, wpięły sędziego w CI i nadal przeglądają wyniki ręcznie, bo nikt nie ufa liczbie
- Inżynierowie platformowi i ML, którzy zmienili model sędziego albo jego prompt i zobaczyli, jak wskaźnik zaliczeń się przesuwa bez żadnej zmiany w produkcie
- Właściciele produktów z agentami na produkcji, którzy potrzebują ewaluacji po starcie, a mają tylko benchmark sprzed startu
Dlaczego sędzia w ogóle potrzebuje kalibracji
Sędzia LLM to model językowy, któremu każe się ocenić wynik innego modelu według zasad oceny. Dziedziczy cechy, przez które modele językowe są trudne do oceny, a badania na ten temat są konkretne. Zheng i współautorzy (2023), autorzy MT-Bench i Chatbot Arena, wymieniają jako usterki sędziego skłonność do pozycji, do długości, do własnych odpowiedzi oraz ograniczoną zdolność rozumowania. Wang i współautorzy (2023) odwrócili ranking dwóch odpowiedzi kandydujących samą zamianą ich kolejności w prompcie: Vicuna-13B wygrała z ChatGPT w 66 z 80 zapytań przy ChatGPT jako oceniającym, wyłącznie przez zmianę kolejności. Saito i współautorzy (2023) zmierzyli, że GPT-4 woli dłuższe odpowiedzi bardziej niż ludzie. Panickssery, Bowman i Feng (2024) ustalili, że oceniające modele rozpoznają własne teksty i faworyzują je proporcjonalnie do tego, jak dobrze je rozpoznają. Ye i współautorzy (2024) skatalogowali dwanaście skłonności sędziów LLM, między innymi wobec autorytetu, większości, nastroju, przeoczenia błędu logicznego i informacji o dopracowaniu, gdzie sama wiadomość, że odpowiedź została poprawiona, zmienia ocenę.
Nic z tego nie czyni sędziego bezużytecznym. Zheng i współautorzy podali też, że mocny sędzia osiągnął ponad 80% zgodności z preferencjami ludzi, czyli poziom, jaki ludzie osiągali między sobą. Rzecz w tym, że ten poziom jest mierzony, dla każdego zadania, a sędzia wrzucony do potoku CI bez takiego pomiaru to drugi system, którego błędów nikt nie obejrzał. Praktycy na forach programistów opisują dokładnie ten stan: wyniki obejrzane na oko i uznane za gotowe, sędzia z tej samej rodziny oceniający własne odpowiedzi i żadnej ewaluacji, gdy agent jest już na produkcji. Kalibracja pokazuje, jak często i w jakich przypadkach oceny modelu różnią się od ocen ludzi.
Najpierw ludzie: zbiór odniesienia i to, jak bardzo ludzie zgadzają się między sobą
Sędzia może być tylko tak dobry jak etykiety, z którymi jest porównywany, więc protokół zaczyna od ludzi i od zasad oceny (rubryki). Każde kryterium dostaje spisaną definicję, skalę i przykłady dla każdego punktu skali. Próbka prawdziwych wyników, pobrana z ruchu produkcyjnego albo ze zbioru odłożonego, jest oznaczana niezależnie przez co najmniej dwóch oceniających, którzy nie widzą swoich ocen nawzajem. Rozbieżności idą do rozstrzygnięcia, a rozstrzygnięta etykieta staje się odniesieniem. Przy każdej rozbieżności najpierw rozpoznaje się jej przyczynę: brak kontekstu, przygotowanie oceniających, rzeczywista niejednoznaczność albo definicja kryterium. Każda poprawka zasad oceny dokonana w trakcie rozstrzygania jest zapisywana, bo zasady, których ludzie nie umieli stosować spójnie, są pierwszym artefaktem do naprawy, zanim sędzia w ogóle zostanie uruchomiony.
Zgodność między ludźmi jest mierzona dla każdego kryterium, statystyką skorygowaną o przypadek obok surowego odsetka zgodności: kappa Cohena dla dwóch oceniających, kappa ważona dla skal porządkowych, alfa Krippendorffa dla większej liczby oceniających albo brakujących etykiet; korelację Spearmana podaje się osobno, jako miarę zależności, nie zgodności. McHugh (2012) zaleca podawanie zarówno odsetka zgodności, jak i kappy i odczytuje kappę poniżej 0,60 jako niewystarczającą, podczas gdy starsza skala Landisa i Kocha nazywa 0,41-0,60 zgodnością umiarkowaną; protokół nie ustala progu uniwersalnego, bo właściwy próg zależy od tego, ile w waszym produkcie kosztuje błędne zaliczenie. Wartość zgodności między ludźmi jest natomiast punktem odniesienia: zgodność sędziego z rozstrzygniętymi etykietami czyta się wobec niej, nie w oderwaniu. Kryterium, na którym ludzie się nie zgadzają, nie nadaje się do automatyzacji, cokolwiek raportuje sędzia.
Pomiar sędziego: protokół kalibracji
Gdy zbiór odniesienia jest gotowy, sędzia ocenia tę samą próbkę, a każda z jego znanych skłonności dostaje własny test. Tabela to protokół w takiej postaci, w jakiej jest wykonywany; odnośniki do źródeł na końcu strony niosą uzasadnienie każdego wiersza.
| Krok | Co się robi | Co to wychwytuje | Co się zapisuje |
|---|---|---|---|
| Rozdzielenie rodzin | Sędzia pochodzi z innej rodziny modeli niż testowany system, zgodnie z zaleceniem z dokumentacji Anthropic o ewaluacji | Ogranicza skłonność do własnych odpowiedzi; wykrywa ją porównanie ocen obu sędziów z ocenami ludzi | Model sędziego, identyfikator wersji, skrót promptu |
| Zgodność dla każdego kryterium | Etykieta sędziego wobec rozstrzygniętej etykiety ludzi, tą samą statystyką, której użyto między ludźmi | Kryteria, na których sędzia się rozjeżdża, choć wynik łączny wygląda dobrze | Kappa albo alfa dla każdego kryterium, obok wartości między ludźmi |
| Macierz pomyłek dla każdego kryterium | Dla każdego punktu skali: jak sędzia ocenił to, co ludzie tam umieścili | Kierunek błędu; koszt błędnego zaliczenia i błędnego odrzucenia ustalany osobno dla każdego kryterium | Jedna macierz dla każdego kryterium, z nazwanym kosztem każdej komórki |
| Zamiana kolejności | Każde porównanie parami uruchomione w obu kolejnościach | Skłonność do pozycji, według kalibracji z pracy Wanga i współautorów (2023) | Udział par, w których werdykt zmienia się z kolejnością |
| Kontrola długości | Korelacja między oceną sędziego a długością wyniku, porównana z tą samą korelacją dla etykiet ludzi; sygnał sprawdzany porównaniem odpowiedzi o podobnej poprawności | Skłonność do długości | Dwa współczynniki korelacji dla każdego kryterium i wynik porównania |
| Stabilność i powtarzalność | Zmiana instrukcji (z krokiem rozumowania i bez niego) badana osobno; powtarzalność przez wielokrotne uruchomienia w identycznych warunkach | Wrażliwość na łańcuch rozumowania; niedeterminizm | Zgodność sędziego z samym sobą między przebiegami, osobno dla obu testów |
Decyzja dla każdego kryterium
Wynikiem kalibracji jest decyzja, spisana dla każdego kryterium, co sędziemu wolno. Trzy wyniki pokrywają praktykę. Sędzia decyduje sam tam, gdzie jego zgodność z rozstrzygniętymi etykietami dorównuje poziomowi, jaki ludzie osiągnęli między sobą, przedział ufności tej zgodności nie schodzi poniżej ustalonego z góry progu, a macierz pomyłek pokazuje, że jego błędy padają po stronie, której koszt uzgodniono jako akceptowalny. Sędzia sortuje tam, gdzie jego zgodność jest niższa, ale błędne zaliczenia są rzadkie: ocenia wszystko, a każde odrzucenie plus losowa próbka zaliczeń idą do człowieka. Kryterium zostaje przy ludziach tam, gdzie sami ludzie się nie zgadzali, a praca wraca do zasad oceny, oraz tam, gdzie ludzie oceniają spójnie, a sędzia często popełnia kosztowne błędy, do czasu poprawy albo wymiany sędziego.
Ta decyzja jest tym, co wpina się w CI. Jeden wskaźnik zaliczeń dla wszystkich kryteriów zastępują bramki dla każdego kryterium z różnymi właścicielami, a zbiór kalibracyjny leży obok zestawu testów, wersjonowany razem z zasadami oceny. Wydanie, które zmienia prompt sędziego, uruchamia kalibrację ponownie, zanim zmieni bramkę.
- Decyduje sam: zgodność na poziomie zgodności między ludźmi, przy ustalonych progach błędów i kosztach pomyłek; sędzia blokuje scalenie na tym kryterium.
- Sortuje i kieruje: zgodność poniżej poziomu ludzi, błędne zaliczenia rzadkie; sędzia sortuje, człowiek decyduje o oznaczonej części.
- Zostaje przy ludziach: ludzie nie zgadzają się między sobą albo sędzia często popełnia kosztowne błędy; zasady oceny są przepisywane, a kryterium oznaczane ponownie, zanim sędzia zostanie wypróbowany jeszcze raz.
- Każda decyzja nazywa kryterium, statystykę, wartość, zgodność między ludźmi i osobę, która jest właścicielem bramki.
Ponowna kalibracja i ewaluacja po starcie
Skalibrowany sędzia jest skalibrowany dla jednej wersji modelu, jednego promptu i jednych zasad oceny. Chen, Zaharia i Zou (2023) zmierzyli ten sam endpoint GPT-4 w marcu i czerwcu 2023 i stwierdzili, że jego skuteczność w rozpoznawaniu liczb pierwszych spadła z 84% do 51%, a razem z nią pogorszyło się wykonywanie instrukcji. Sędzia serwowany przez API może w ten sam sposób zmienić działanie bez żadnej zmiany po waszej stronie, dlatego model sędziego jest przypięty do identyfikatora wersji, a ponowna kalibracja uruchamia się na cztery sygnały: zmiana modelu albo wersji sędziego, zmiana promptu sędziego, zmiana zasad oceny oraz zmiana tego, co produkt wysyła, na przykład nowy język albo typ zadania.
Kalibracja przed startem to połowa pracy. Po starcie sędzia ocenia próbkę śladów produkcyjnych, a w stałym rytmie człowiek oznacza ponownie losowy wycinek tego, co sędzia ocenił. Zgodność staje się szeregiem czasowym dla każdego kryterium, a spadek jest sygnałem, żeby przyjrzeć się sędziemu albo produktowi, zanim zrobią to klienci. Dokumentacja graderów OpenAI opisuje tę samą kontrolę od strony treningu: model, który nauczył się zadowalać grader, dostaje dobre oceny od gradera i słabe od ekspertów, a jedynym sposobem, żeby to zobaczyć, jest dalsze pytanie ludzi.
Co może pójść nie tak i co z tym robimy.
- 1Sędzia pochodzi z rodziny, która wyprodukowała odpowiedzi
Ten sam model albo jego krewny od tego samego dostawcy generuje wynik i go ocenia. Panickssery, Bowman i Feng (2024) pokazali, że oceniające modele rozpoznają własny tekst i faworyzują go proporcjonalnie do tego, jak dobrze go rozpoznają, więc wskaźnik zaliczeń niesie premię za styl, której żaden człowiek nie dał. Zespół czyta wysoką ocenę jako jakość, bo nic w potoku nie raportuje, która rodzina co oceniła.
Co z tym robimyUruchamiamy próbkę kalibracyjną ponownie z sędzią z innej rodziny i z ukrytą tożsamością kandydata, a potem porównujemy zgodność z rozstrzygniętymi etykietami dla obu sędziów. Tam, gdzie sędzia z tej samej rodziny ocenia własne wyniki wyżej niż ludzie, sędzia jest wymieniany albo kryterium przechodzi do sortowania. Model i wersję sędziego zapisujemy obok każdej oceny, żeby rodzina była widoczna w każdym raporcie.
Co zostaje u was: porównanie zgodności dla dwóch rodzin sędziów na tej samej próbce oraz specyfikacja sędziego z modelem, wersją i skrótem promptu - 2Kolejność i długość decydują o werdykcie
Porównania parami są wysyłane w stałej kolejności, a sędzia faworyzuje pierwsze albo drugie miejsce; oceny pojedynczych odpowiedzi rosną z długością wyniku niezależnie od poprawności. Wang i współautorzy (2023) odwrócili wynik benchmarku samą zmianą kolejności, a Saito i współautorzy (2023) zmierzyli, że GPT-4 woli dłuższe odpowiedzi bardziej niż ludzie. Zmiana promptu, która czyni produkt bardziej rozwlekłym, czyta się wtedy jako poprawa jakości.
Co z tym robimyKażdą ocenę parami uruchamiamy w obu kolejnościach i liczymy udział par, w których werdykt się zmienia, a dla sędziego i dla etykiet ludzi na tej samej próbce liczymy korelację między oceną a długością. Pary, które się odwracają, są wyłączone z bramki do czasu poprawienia promptu, a korelacja z długością, której ludzie nie podzielają, przenosi kryterium do sortowania.
Co zostaje u was: wskaźnik spójności wobec kolejności i korelacja oceny z długością dla każdego kryterium, sędzia obok ludzi - 3Zgodność sędziego mierzona wobec etykiet jednej osoby
Jeden inżynier oznacza zbiór odniesienia sam, sędzia zgadza się z tymi etykietami przez większość czasu, a liczba jest przedstawiana jako kalibracja. Nikt nie wie, czy druga osoba oznaczyłaby tak samo, więc wynik nie ma punktu odniesienia, wobec którego można go odczytać. Gdy sędzia później nie zgadza się z recenzentem na produkcji, nie da się powiedzieć, które z nich się myli.
Co z tym robimyKażdy element jest oznaczany niezależnie przez co najmniej dwóch oceniających, rozbieżności rozstrzygamy, a statystykę zgodności między ludźmi raportujemy dla każdego kryterium przed jakąkolwiek liczbą o sędzim. Kryteria, na których ludzie się nie zgadzają, wracają do zasad oceny razem z rozbieżnościami i rozpoznaną przyczyną każdej z nich, bo sędziego nie da się skalibrować wobec etykiet, co do których ludzie nie byli zgodni.
Co zostaje u was: zbiór odniesienia z dwiema niezależnymi etykietami i etykietą rozstrzygniętą dla każdego elementu oraz zgodność między ludźmi dla każdego kryterium - 4Jedna ocena łączna ukrywa kryterium, które zawodzi
Sędzia zwraca jedną liczbę na wynik albo oceny dla kryteriów są uśredniane do wskaźnika zaliczeń. Zgodność na wyniku łącznym wygląda akceptowalnie, podczas gdy na jednym kryterium, zwykle tym, które kosztuje najwięcej, gdy jest błędne, sędzia zalicza to, co ludzie odrzucają. Średnia to ukrywa, bo pozostałe kryteria są łatwe i liczne.
Co z tym robimyLiczymy zgodność i macierz pomyłek dla każdego kryterium i nazywamy koszt każdej komórki: błędne zaliczenie na kryterium bezpieczeństwa albo poprawności waży inaczej niż błędne odrzucenie na kryterium tonu. Każde kryterium dostaje własną decyzję i własnego właściciela bramki, a ocena łączna znika z potoku.
Co zostaje u was: macierz pomyłek dla każdego kryterium z kosztem każdej komórki oraz rejestr decyzji z jednym wierszem na kryterium - 5Model sędziego się zmienił, a kalibracja nie
Sędzia jest wywoływany przez alias wskazujący bieżącą wersję u dostawcy albo jego prompt jest edytowany przy okazji niezwiązanej zmiany. Chen, Zaharia i Zou (2023) udokumentowali, jak zachowanie tego samego endpointu przesunęło się znacząco w ciągu trzech miesięcy. Bramka dalej zalicza albo zaczyna odrzucać, a zespół debuguje produkt z powodu zmiany, która zaszła w sędzim.
Co z tym robimyPrzypinamy sędziego do identyfikatora wersji, liczymy skrót promptu sędziego i dodajemy kontrolę, która blokuje zmianę konfiguracji sędziego bez zapisanego wyniku ponownej kalibracji. Ponowna kalibracja używa tego samego zbioru roboczego, więc zgodność przed zmianą i po niej jest bezpośrednio porównywalna, a końcowe sprawdzenie idzie na osobnym zbiorze kontrolnym, żeby prompt nie został dopasowany do znanych przykładów. Rejestr decyzji dostaje datę i nowe wartości.
Co zostaje u was: dziennik ponownych kalibracji ze zgodnością dla każdego kryterium przed każdą zmianą sędziego albo zasad oceny i po niej oraz przypięta wersja sędziego
Co zostaje u was.
- Zbiór kalibracyjny: próbka wyników z dwiema niezależnymi etykietami ludzi i etykietą rozstrzygniętą dla każdego elementu i kryterium, podzielony na zbiór roboczy i zbiór kontrolny, wersjonowany razem z zasadami oceny
- Zasady oceny z definicjami, skalami i przykładami dla każdego punktu skali, łącznie z poprawkami wprowadzonymi podczas rozstrzygania i ich uzasadnieniem
- Raport zgodności dla każdego kryterium: statystyki między ludźmi i sędzia-ludzie, macierze pomyłek z wycenionymi komórkami, wyniki zamiany kolejności i kontroli długości
- Rejestr decyzji: dla każdego kryterium decyduje sam, sortuje i kieruje albo zostaje przy ludziach, z wynikami uzasadniającymi decyzję i właścicielem bramki
- Specyfikacja sędziego: rodzina modelu, przypięta wersja, skrót promptu, losowanie kolejności i temperatura, z kontrolą w CI, która blokuje zmianę konfiguracji sędziego bez zapisanego wyniku ponownej kalibracji
- Procedura ponownej kalibracji z czterema sygnałami oraz plan okresowego porównywania ocen modelu z ocenami ludzi na próbce z produkcji, z zasadami odświeżania zbioru kontrolnego
Jak pracujemy.
- 11. Rubryka i zbiór odniesienia
Ustalamy kryteria oceny albo porządkujemy te, których już używacie, piszemy albo zaostrzamy definicję, skalę i przykłady dla każdego z nich i pobieramy próbkę ze śladów produkcyjnych albo z waszego zbioru odłożonego. Próbka jest warstwowana tak, żeby przypadki rzadkie, ale kosztowne były obecne w liczbie, którą da się zmierzyć; ich wyniki raportujemy osobno od oszacowań dla rzeczywistego ruchu, z ważeniem opisanym w raporcie.
Tydzień 1-2 - 22. Oznaczanie przez ludzi i rozstrzyganie
Dwóch oceniających z waszego zespołu albo z naszego, jeśli wolicie parę z zewnątrz, oznacza każdy element niezależnie. Rozbieżności rozstrzygamy z wami, zapisujemy każdą zmianę zasad oceny i raportujemy zgodność między ludźmi dla każdego kryterium. Kryteria, które tu nie przechodzą, wracają do kroku 1, zanim ktokolwiek dotknie sędziego.
Tydzień 2-3 - 33. Pomiar sędziego
Uruchamiamy waszego obecnego sędziego (albo pierwszego, jeśli go jeszcze nie macie) i co najmniej jednego sędziego z innej rodziny na zbiorze odniesienia, w obu kolejnościach dla elementów porównywanych parami, z krokiem rozumowania i bez niego oraz wielokrotnie w identycznych warunkach. Liczymy zgodność, macierze pomyłek, spójność wobec kolejności i korelację z długością dla każdego kryterium.
Tydzień 3-4 - 44. Decyzja i wpięcie w CI
Piszemy z wami rejestr decyzji, zastępujemy bramkę łączną bramkami dla każdego kryterium z właścicielami, przypinamy wersję i prompt sędziego i dodajemy kontrolę, która blokuje zmianę sędziego bez zapisanej ponownej kalibracji.
Tydzień 4-5 - 55. Przekazanie i pierwszy cykl produkcyjny
Przekazujemy zbiór kalibracyjny, raport i procedurę ponownej kalibracji, prowadzimy z waszym zespołem pierwsze ponowne oznaczanie na produkcji i zostawiamy szereg czasowy zgodności w waszych narzędziach monitorowania, żeby następny spadek był widoczny bez nas.
Tydzień 5-6, zależnie od wielkości zbioru i dostępności oceniających
Pozostałe strony z tej serii.
Analiza kosztów LLM i limity wydatku
Jak przypisać koszt LLM do wywołania, sesji i funkcji, co po cichu psuje cache promptów i gdzie alert o wydatkach powinien zamienić się w twardą blokadę.
Pomiar efektu AI w zespole
Dlaczego samo szybsze zamykanie zgłoszeń nie dowodzi efektu AI i jak go zmierzyć: punkt odniesienia sprzed wdrożenia, miary w parach, grupa porównawcza.
Porównanie narzędzi do AI code review
Porównanie narzędzi do AI code review na waszym kodzie: wykryte błędy, błędne komentarze i koszt na pull request, z protokołem do powtórzenia po zmianie modelu.
Usługi, które to wdrażają.
Ewaluacja jakości działającej AI
Ewaluacja tego, jak dobrze AI w waszym produkcie albo procesie wykonuje swoją pracę: na waszych przypadkach, według kryteriów uzgodnionych z osobą odpowiedzialną za wynik.
LLM Observability
Tracing, procesy ewaluacji i wykrywanie dryfu: prześledzicie wywołania modeli i znajdziecie źródła błędów, opóźnień i kosztów.
Skąd pochodzą daty i liczby.
- Zheng i in. (2023), Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena: uprzedzenie do pozycji, długości i własnych odpowiedzi; ponad 80% zgodności z ludźmi, tyle co między ludźmi
- Wang i in. (2023), Large Language Models are not Fair Evaluators: uprzedzenie do pozycji, Vicuna-13B wygrywa z ChatGPT w 66 z 80 zapytań po zmianie kolejności, kalibracja przez zamianę pozycji
- Panickssery, Bowman i Feng (2024), LLM Evaluators Recognize and Favor Their Own Generations: rozpoznawanie własnych tekstów koreluje z ich faworyzowaniem
- Saito i in. (2023), Verbosity Bias in Preference Labeling by Large Language Models: GPT-4 woli dłuższe odpowiedzi bardziej niż ludzie
- Ye i in. (2024), Justice or Prejudice? Quantifying Biases in LLM-as-a-Judge: dwanaście uprzedzeń, w tym wobec autorytetu, większości i tonu, przeoczanie błędów rozumowania i wrażliwość na informację o poprawianiu
- Chen, Zaharia i Zou (2023), How is ChatGPT's behavior changing over time?: ten sam endpoint, marzec i czerwiec 2023, rozpoznawanie liczb pierwszych z 84% do 51%
- McHugh (2012), Interrater reliability: the kappa statistic, Biochemia Medica: odsetek zgodności i kappa podawane razem; skale interpretacji
- Anthropic, Create strong empirical evaluations: ocena przez model i zalecenie, żeby oceniać innym modelem niż testowany
- OpenAI, Graders: gradery modelowe i wykrywanie grader hacking przez porównanie z ocenami ekspertów
Pytania przed rozpoczęciem współpracy.
Porozmawiajmy o AI w waszej firmie.
Napiszcie, na jakim etapie jesteście z sędzią LLM i jego kalibracją. Odpowiedź w ciągu jednego dnia roboczego.