Twój system ewaluacyjny skłamie ci, zanim zrobi to twój model

Twój arkusz wyników ewaluacji wskazywał, że oba silniki zawiodły.

Llama3.2 zawiodła w 5 na 6 przypadkach. Anthropic Sonnet zawiodła w 6 na 6 przypadkach.

Etykieta brzmiała „malformed”. Ale przyczyny były inne.

Jedna awaria była błędem API z powodu braku środków. Jedna awaria wynikała z bajtów sterujących terminalem z polecenia CLI, które uszkodziły tekst. Jedna awaria polegała na poprawnym formacie JSON owiniętym w znaczniki markdown, których parser nie mógł odczytać.

Gdybym opublikował to pierwsze podsumowanie, skłamałbym. Obwiniłbym modele za błędy w moim własnym kodzie.

Znalazłem te błędy, analizując surowe dane zamiast ufać podsumowaniu.

Pierwszy błąd wystąpił, ponieważ użyłem podprocesu CLI do wywołania Ollama. Polecenie generowało animacje terminala, takie jak spinery i ruchy kursora. Te bajty sterujące ANSI trafiły do moich danych. Parser napotkał niewidoczne znaki i uległ awarii.

Rozwiązanie: Zmiana podprocesu CLI na bezpośrednie API HTTP.

Drugi błąd wystąpił, ponieważ modele LLM często owijają JSON w znaczniki markdown. Mój parser używał json.loads() na surowym ciągu znaków. Zobaczył backticki i wyrzucił błąd.

Rozwiązanie: Dodanie funkcji usuwającej znaczniki kodu przed parsowaniem.

Gdy naprawiłem pipeline, pojawiły się prawdziwe wyniki.

Modele nie były „martwe”. Były po prostu zakłócane przez system ewaluacyjny. Po naprawie różnica w jakości między oboma modelami stała się widoczna i mierzalna.

Lekcje dla twojego potoku ewaluacji AI:

  • Zachowuj surowe dane wyjściowe. Jeśli podsumowanie wskazuje na „malformed”, surowe dane są twoim jedynym źródłem prawdy.
  • Rejestruj powód awarii. Nie pisz po prostu „malformed”. Napisz „błąd API” lub „błąd parsowania”.
  • Zamroź standardy testowe. Nie zmieniaj reguł tylko po to, aby wyniki wyglądały lepiej.
  • Traktuj system ewaluacyjny jako część testowanego systemu.

Model nie jest jedynym elementem poddanym próbie. Twój kod również.

Źródło: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662

Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi