Метрики — наше всё
Как я говорил в одном из своих постов, разработка ML-моделей — процесс чаще всего с непредсказуемым результатом. То есть ты не знаешь наверняка, будет ли новый эксперимент лучше по качеству, чем предыдущий. Нам остается выбирать перспективные направления решения задачи, оценивать метрики. Метрики позволяют оптимизировать процесс, в частности, запустить автоперебор гиперпараметров, который при должной настройке может выполняться на фоне (привет, MLOps✋). И объективно лучшая модель пойдет в prod. И вот правильный выбор метрик крайне важен.
Казалось бы, ничего нового я сейчас не сказал. Практически в каждой задаче (классификация, детекция, распознавание) существует набор стандартных метрик. Однако нужно крайне ответственно подойти к выбору подходящей из них именно под ваш проект. Например, для задачи классификации заболевания гораздо важнее минимизировать пропуски, чем ложные срабатывания.
Каскад моделей
Ситуация становится еще интересней, когда предсказания одной модели идут на вход другой. В зависимости от того, в каком каскаде будет работать модель, нужно учитывать разные метрики. Например, модель детекции речи должна иметь меньше пропусков для задачи распознавания речи, иначе слово не будет распознано. И в то же время детекция речи должна иметь меньше ложных срабатываний для дальнейшего извлечения вектора диктора, потому что иначе вектора неречевых сегментов будут шумными.
Когда стандартных метрик недостаточно
Не исключено, что бизнес-кейс потребует создания новой уникальной метрики. Например, если для задачи распознавания речи допустимы не более 2 опечаток в слове. Стандартная метрика WER такой нюанс не учтет, значит, придется модифицировать формулу. Все чаще встречаю подход LLM-as-judge, когда для оценки результатов привлекают LLM, которая судит о качестве на основе описанных в промпте критериев.
Неверно выбранные метрики
Это может привести к неправильным выводам о работе системы. Встречается такое, что значения метрик улучшаются, однако по факту система справляется с задачей хуже. Однажды мы потратили почти весь день, обсуждая, какие метрики закладывать в проект, чтобы передать реальное качество работы всей системы. И надо сказать, в конечном итоге это окупилось.
Поэтому настоятельно рекомендую при решении задачи заранее позаботиться о корректном выборе целевых метрик, что поможет вам выбрать объективно оценить качество модели и применить лучшее решение конечной задачи.
Post #101
103