Constrained decoding
Метод критически важен: современные языковые модели иногда слишком свободны, могут дать недопустимый ответ, ошибиться в расчётах или сломать формат данных. Ограничение превращает «болтовню» в надёжный инструмент для медицины, финансов, программирования, где ошибка дорого стоит.
Как работает интуитивно: модель вычисляет вероятности следующих слов (после «погода сегодня» вероятнее «хорошая», чем «вилка»). При обычной генерации берётся самый вероятный вариант. При ограниченном декодировании «трафарет» закрывает недопустимые варианты, и выбор делается только среди разрешённых. Это игра «да/нет»: машина предлагает, мы заранее запретили часть ответов.
Пример: нужно получить JSON с ключами «имя», «возраст», «город». Без ограничений модель может написать лишнее или переставить ключи. С ограничением на каждом шагу разрешены лишь символы, продолжающие строку или структуру, поэтому вывод гарантированно валиден.
Вывод: ограниченное декодирование — не цензура, а инженерный способ встроить правила в процесс генерации. Оно делает ИИ не умнее, но значительно надёжнее, что критично для внедрения в реальные продукты.
Поделиться