TGViewer
AI и грабли AI и грабли @oestick · 13.7K subscribers
Post #369 2.87K
Что использовать для evaluation или как я очень удивился

Тут Ринат отлично объясняет зачем нужен evaluation в AI продуктах – нормально построенный механизм проверки качества позволяет избежать таких ситуаций:

Недавно мы подкручивали промпт в нашем проекте. После изменений система стала работать лучше, но пользователи начали жаловаться. Поправили там, но сломалось где-то ещё.


Про это в целом давно все говорят (см выше скрин твиттера президента OpenAI от 2023), но про реализацию на практике – почти ничего не вижу. Значит надо писать.

Я строил eval пайплайны для LLMок еще в конце 22го, до выхода chatgpt, продолжаю строить их и сейчас для клиентских проектов. Обычно я даже не начинаю работать над проектом, пока нет данных, и не начинаю разрабатывать саму LLM-систему, пока не сделал систему проверки качества.

По сути есть два основных варианта, как делать:

1. Писать полностью свой кастомный код конкретно под задачу
2. Использовать какие-то готовые инструменты типа OpenAI Evals, который уже встречался тут

Я всегда делал сам, индивидуально под задачу. У такого подхода есть два серьезных минуса:

1. Нужно строить логику хранения и сравнения разных экспериментов. При чем, нужно, чтобы по данным эксперимента можно было точно восстановить исходный код и данные (решаю привязкой эксперимента к хешу гит коммита)

2. Нужно настраивать визуализацию. С разными отображениями. Сравнение ключевых метрик между экспериментами. Табличка по конкретному эксперименту. Фильтрации по каким-нибудь подмножествам. Графики.

В целом, я готов платить этой доп сложностью за гибкость настройки под конкретный кейс. Но тут мне пришел запрос помочь с выбором инструмента и построением eval системы. Кажется, нужно начать продавать такую услугу, хаха

———

Я полез смотреть, что сейчас есть на рынке и ужаснулся. Расплодилось очень много модных инструментов для LLM-evaluation. Они все позволяют достаточно гибко настраивать проверку по каждому отдельному объекту (см картинку OpenAI Evals), но при этом суммарная метрика по всем объектам из датасета – это всегда просто усреднение. То есть – тупо accuracy. Я напишу отдельный пост, почему это почти всегда плохая метрика, а сейчас важен сам факт:

Мы не можем настраивать суммарную для всего датасета метрику, а должны довольствоваться просто accuracy.

P.s. а ко мне пришли с задачей multi-label классификации, и мы хотим f-score с увеличенным весом recall


Я не понимаю, почему так, если честно. Видимо, рынок evals еще в очень незрелом состоянии. Или просто все, кто разбирается в ML метриках, тоже идут по первому пути и считают все сами.

Итог

Справедливости ради, я все-таки нашел инструмент, где можно самому задавать общую метрику – это wandb.com, который исторически как раз был инструментом для классических ML и DS, но запустил у себя новый продукт weave для LLM evals.

Это прям рекомендация, особенно на python. На js/ts нужного функционала сильно меньше – там f-score уже не получится сделать.

А вы на какой стороне?

❤️ – использовать готовые инструменты
👍 – кастомить под задачу
😈 – еvals не нужны, просто вручную смотришь, что норм работает
  • 👍 25
  • ❤ 7
  • 😈 7
  • 🔥 3
More from @oestick
  1. Oct 4, 2026Саша Поляков собрал стату по банам (меня тоже в этот раз задело). Мб кому-то полезно будет…
  2. Oct 4, 2026Собрал статистику по банам Claude из комментариев в канале Пост с разбором телеметрии, кот…
  3. Oct 2, 2026О, мой баг репорт в getbb.app приняли. Приятно быть причастным к развитию того, чем сам по…
  4. Oct 1, 2026А у вас тоже есть задачки, в которых нужно очень много и глубоко думать, но вы их откладыв…
  5. Sep 30, 2026Anthropic > OpenAI, но есть пара но Предпосылки 1. opus-5.5 очень хорош 2. DevDay openai –…
  6. Sep 27, 2026Скоро: видео-монтаж-слоп во всех лентах страны Opus-5.5 теперь сам такое ваншотит на remot…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →