Как валидировать LLM-фичи и не дать модели додумывать
LLM извлекает признаки из PDF-отчета: например, будущий план производства. Как проверить, что признак основан на документе, а не на внешних знаниях или догадках?
Короткий ответ
Нужно требовать evidence: ссылка на страницу/таблицу/цитату, confidence, тип извлечения, missing/unknown вместо догадки и human review для спорных признаков.
Полный разбор
Контроль начинается с формата вывода. LLM должна возвращать не только значение признака, но и evidence: page id, fragment id, цитату, единицы измерения, период, confidence и reason. Если evidence нет, значение должно быть null/unknown.
Дальше нужна валидация: schema validation, range checks, consistency checks между таблицами и текстом, сравнение с предыдущими отчетами, ручная разметка golden set и метрики extraction quality. Для числовых признаков полезны exact match или tolerance-based метрики, для категориальных — accuracy/F1.
В production стоит логировать source snippets и отдельно мониторить долю unknown, частоту конфликтов и drift форматов отчетов. Для high-impact признаков нужен human-in-the-loop.
Теория
Grounded extraction отличается от свободной генерации: модель должна извлечь то, что есть в источнике, и признаться, когда данных нет.
Типичные ошибки
- Принимать число от LLM без ссылки на источник.
- Не разрешить модели отвечать unknown.
- Не делать отдельную оценку качества extraction перед forecast quality.
Как отвечать на собеседовании
- Повтори принцип: no evidence -> no feature.
- Раздели validation на schema/range checks, golden set и human review.