ДалееСледующее руководство
Контрастное декодирование
Языковой ИИ
РУКОВОДСТВО ПО ЯЗЫКУ ИИ
Ограниченное декодирование заставляет языковую модель генерировать выходные данные, соответствующие строгим правилам — таким как допустимый JSON, шаблон регулярного выражения или фиксированный набор вариантов — путем блокировки любого токена, который может нарушить структуру.
Прослушайте это руководствоОзвучено ИИ · ~2 min
Он превращает вероятностный генератор текста в надежного производителя результатов, поддающихся машинному анализу.
Языковая модель обычно выбирает следующий токен из своего полного словаря, поэтому ничто не мешает ей создать случайную запятую или несбалансированную скобку, которая нарушает анализ JSON. Ограниченное декодирование исправляет это, поддерживая грамматику или конечный автомат наряду с генерацией. На каждом этапе система вычисляет, какие токены являются законными, учитывая то, что было произведено на данный момент, а затем маскирует (устанавливает отрицательную бесконечность) вероятность каждого нелегального токена перед выборкой. Для JSON это означает, что после открывающей скобки разрешена только кавычка или закрывающая скобка; после ключа только двоеточие. Общие реализации компилируют бесконтекстные грамматики (например, GBNF в llama.cpp), схемы JSON или регулярные выражения в эти маски уровня токена, гарантируя, что выходные данные являются структурно допустимыми по конструкции, а не по надежде.
Принуждение LLM к выдаче JSON, который точно соответствует предопределенной схеме, чтобы нижестоящий код мог анализировать его без защиты Try/Exception.
Ограничение ответа модели классификации одним из фиксированных наборов меток, таких как «положительный», «отрицательный» или «нейтральный», и ничего больше.
Генерация синтаксически допустимых аргументов SQL или вызова функций для использования инструмента, где неверный токен может привести к сбою исполнителя.
Создание выходных данных, соответствующих регулярному выражению, например номеру телефона, дате ISO или коду продукта в фиксированном формате.
Ограниченное декодирование становится функцией по умолчанию, а не дополнением: поставщики теперь предоставляют «структурированные выходные данные» и «режим JSON», которые гарантируют соответствие схемы на стороне сервера. Ожидайте более быстрой компиляции грамматики, меньшей задержки от предварительно вычисленных автоматов и более тесной интеграции с инструментальными вызовами и средами агентов, где каждый ответ модели должен четко вписываться в код. Исследования направлены на более широкие ограничения — системы типов, полные грамматики языка программирования и семантические проверки — без ущерба для плавности модели.
Бесплатная рассылка
Три проверенных AI-истории каждое утро буднего дня, написанные простым английским. Бесплатно навсегда, без рекламы.
Одно электронное письмо каждый будний день. Отписаться в один клик. Мы никогда не продаем и не передаем ваш адрес.
Проверьте себя
Мгновенная обратная связь по каждому ответу и общий сертификат с проверяемым идентификатором после прохождения курса.
Поддержите бесплатное образование в области искусственного интеллекта. AI Understanding — это некоммерческая организация 501(c)(3). Никакой рекламы и платного доступа. Сделать пожертвование
Ограниченное декодирование заставляет языковую модель генерировать выходные данные, соответствующие строгим правилам — таким как допустимый JSON, шаблон регулярного выражения или фиксированный набор вариантов — путем блокировки любого токена, который может нарушить структуру. Он превращает вероятностный генератор текста в надежного производителя результатов, поддающихся машинному анализу.
Ограниченное декодирование вычисляет, какие токены являются допустимыми с учетом состояния грамматики, и устанавливает вероятность всех незаконных токенов фактически равной нулю перед выборкой модели.
The current Structured Outputs documentation states that an unsupported JSON Schema in strict mode results in an error; schemas have an implementation-specific supported subset.
Токенизаторы разбивают текст на части подслов, которые охватывают или разделяют границы грамматики, поэтому библиотеки должны отображать грамматические переходы на фактический словарь токенов.
Схемы JSON, контекстно-свободные грамматики (например, GBNF) и регулярные выражения обычно компилируются в маски токенов, обеспечивающие структуру.
Маска применяется к необработанным логитам, так что незаконные токены получают пренебрежимо малую вероятность при выборке следующего токена.
Продолжайте учиться
Другие руководства, выбранные по этой теме
ДалееСледующее руководство
Контрастное декодирование
Языковой ИИ