Обновить

Промпт не удержал медицинскую границу. Как мы добавили LLM-тренеру страж на регулярках

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели1.8K
Рейтинг0
Комментарии1

Комментарии 1

Эталонный пример ситуации, когда в компании нет ML-инженеров и приходится ставить заплатки на заплатки.

Обычное дообучение в корне решило бы проблему.

Модель не держит правило про боль, потому что оно теряется среди кучи других инструкций в промпте, и никакие уточнения формулировки это не лечат системно, только косметически.

Небольшой SFT на многоязычных примерах, где жалоба на боль спрятана внутри другого вопроса, дал бы модели реально усвоенный паттерн поведения, который обобщается на новые формулировки и языки, а не только на слова, которые вы вручную вписали в regex.

При этом regex заплатка, которую вы сделали, защищает только от тех фраз, которые вы уже видели в тестах. Стоит человеку написать не "болит колено", а "хромаю третий день после вчерашней пробежки", и весь механизм перестает работать, потому что таких слов в списке нет.

А поддерживать отдельные списки маркеров и исключений под каждый язык это дорого по времени и рано или поздно снова наступите на грабли вроде истории с границей слова у кириллицы.

Лучше всего было бы сделать так: дообучить модель на этот конкретный failure case с примерами на нескольких языках, чтобы поднять базовый уровень соответствия. А поверх этого поставить легкий классификатор вместо regex и второго вызова модели, это гораздо устойчивее к перефразировкам.

Я без негативу пишу, текст не передает интонацию. Просто это самая распространенная ошибка в ML-автоматизации: prompt patching/regex/judge вместо SFT.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации