Ваш тестовый фреймворк солжет вам раньше, чем ваша модель
Ваша таблица результатов оценки показала, что обе модели не справились.
Llama3.2 не справилась в 5 из 6 случаев. Anthropic Sonnet не справилась в 6 из 6 случаев.
Метка была «malformed». Но причины были разными.
Один сбой был ошибкой API из-за окончания кредитов. Один сбой был вызван управляющими байтами терминала из CLI-команды, которые повредили текст. Один сбой был вызван валидным JSON, обернутым в markdown-разметку, которую парсер не смог прочитать.
Если бы я опубликовал тот первый отчет, я бы солгал. Я бы обвинил модели в ошибках собственного кода.
Я обнаружил эти баги, изучив необработанные (raw) записи, вместо того чтобы слепо доверять сводке.
Первый баг возник из-за того, что я использовал CLI-подпроцесс для вызова Ollama. Команда создавала анимации терминала, такие как спиннеры и перемещения курсора. Эти ANSI-управляющие байты попали в мои данные. Парсер увидел невидимые символы и аварийно завершил работу.
Решение: Перейти от CLI-подпроцесса к прямому HTTP API.
Второй баг возник из-за того, что LLM часто оборачивают JSON в markdown-разметку. Мой парсер использовал json.loads() для необработанной строки. Он увидел обратные кавычки и выдал ошибку.
Решение: Добавить функцию для удаления блоков кода перед парсингом.
Как только я исправил конвейер, появились реальные результаты.
Модели не были «мертвы». Их данные просто искажались тестовым фреймворком. После исправления разрыв в качестве между двумя моделями стал заметным и измеримым.
Уроки для вашего конвейера оценки ИИ:
- Сохраняйте необработанные (raw) выходные данные. Если в сводке указано «malformed», необработанные данные — ваш единственный источник истины.
- Фиксируйте причину сбоя. Не пишите просто «malformed». Пишите «API error» или «parse error».
- Зафиксируйте стандарты тестирования. Не меняйте правила, чтобы результаты выглядели лучше.
- Относитесь к тестовому фреймворку как к части тестируемой системы.
Под вопросом не только модель. Ваш код тоже.
Источник: https://dev.to/kenielzep97/your-harness-will-lie-to-you-before-your-model-does-662
Дополнительное сообщество для обучения: https://t.me/GyaanSetuAi
