DeepDigest
Habr / Машинное обучение · · ~4 мин

Стратегии декодирования в LLM: от простых к сложным

Стратегия декодирования существенно влияет на поведение большой языковой модели. В статье рассмотрены разные методы декодирования — от простых (Greedy Search) до сложных (DoLa, Typical Sampling), их плюсы и минусы, а также критерии выбора оптимального подхода для разных задач — от машинного перевода до творческого письма. Особое внимание уделено семантической неопределённости и новым стохастическим методам.

LLM
Стратегии декодирования в LLM: от простых к сложным

Мы обычно оцениваем большие языковые модели по их архитектуре, объёму обучающих данных и количеству параметров. Но есть и другой, менее очевидный, но крайне важный фактор — стратегия декодирования. Именно она определяет, как модель преобразует вероятностные распределения своих внутренних состояний в последовательность токенов на выходе. От выбора стратегии зависит, будет ли модель генерировать творческие, но рискованные ответы или консервативные, но надёжные.

Самый простой метод — Greedy Search: на каждом шаге он выбирает токен с максимальной вероятностью. Этот подход детерминирован — при одинаковых входных данных он всегда выдаст один и тот же результат. У него есть плюсы и минусы: он может давать неплохие результаты в закрытых задачах (машинный перевод, извлечение фактов, решение задач с единственным правильным ответом), но склонен к повторениям и шаблонным текстам.

Beam Search — более продвинутый вариант: он сохраняет k наиболее вероятных последовательностей (лучей) на каждом шаге, а в конце выбирает луч с наибольшей совокупной вероятностью. Метод позволяет избежать некоторых локальных оптимумов, в которые попадает Greedy Search, и часто даёт более качественные результаты. Но он заметно медленнее, а разнообразие генерируемых текстов ограничено.

Дальнейшая эволюция детерминированных методов была направлена на улучшение фактологичности и снижение галлюцинаций без добавления стохастичности. Например, Contrastive Search не только выбирает следующий токен на основе модели, но и штрафует те токены, которые делают скрытое представление модели изотропным — это уменьшает повторения. А DoLa (Decoding by Contrasting Layers) сравнивает выходы финального слоя модели с выходами более ранних слоёв. Идея в том, что языковые знания локализованы в разных слоях, и контраст между ними помогает усилить фактические знания и подавить ложную информацию. DoLa эффективна в двух режимах: с использованием более высоких слоёв для коротких ответов (например, TruthfulQA) и нижних — для длинных рассуждений (например, GSM8K).

Среди стохастических методов выделяется Temperature Sampling: он изменяет логиты модели перед применением softmax, контролируя «остроту» распределения вероятностей. При низкой температуре (τ < 1) модель становится более детерминированной, при высокой — более креативной. Top‑k Sampling ограничивает выборку до k наиболее вероятных токенов, а Top‑p (Nucleus) Sampling динамически выбирает минимальный набор токенов, чья совокупная вероятность превышает порог p — именно этот метод используется по умолчанию во многих современных LLM API, таких как ChatGPT. Новые методы, например Min‑p Sampling и Typical Sampling, добавляют более сложную логику, обеспечивая стабильность и «естественность» генерируемого текста.

Исследователи также обратили внимание на семантическую неопределённость: неопределённость на уровне токенов не всегда совпадает с неопределённостью на уровне смыслов. Традиционная предсказательная энтропия измеряет неопределённость на уровне токенов, но одна и та же смысловая единица может быть выражена разными последовательностями токенов. Семантическая неопределённость решает эту проблему, кластеризуя семантически эквивалентные высказывания и вычисляя неопределённость над смыслами, а не над токенами.

Выбор стратегии декодирования зависит от типа задачи, модели и требований к качеству и скорости. Для закрытых задач (машинный перевод, извлечение фактов, математика) предпочтительны детерминированные методы: Greedy Search, Beam Search, DoLa. Для открытых задач (творческое письмо, диалоги, генерация историй) — стохастические: Top‑p, Typical Sampling, Min‑p. Для задач рассуждения (Chain‑of‑Thought) — энтропийно‑управляемые методы, например Entropy‑Tree, или CoT Decoding, который раскрывает естественные цепочки рассуждений модели.

Чтобы выбрать подходящую стратегию, сначала определите тип задачи: для «закрытых» (классификация, извлечение фактов, перевод) начните с Greedy Search, для «открытых» (генерация, диалоги) используйте Top‑p. В качестве дефолтных значений параметров для многих моделей часто используют Top‑p с p=0.95 и temperature=0.8. Если нужна максимальная точность — попробуйте DoLa (режим «high» для коротких ответов, «low» для длинных рассуждений). Если важна скорость — избегайте Beam Search, лучше подойдут Greedy Search и стохастические методы с выборкой одного токена. Также учитывайте особенности модели: влияние стратегии декодирования зависит от её размера, квантизации и выравнивания.

Понимание и осознанный выбор стратегии декодирования становится конкурентным преимуществом инженерной команды. Это область, где теория встречается с практикой, а тонкая настройка может дать большее улучшение качества, чем смена модели на более крупную. О том, как управлять поведением LLM в прикладных сценариях, разберём на бесплатных уроках OTUS: 13 июля в 18:00 — «LoRA и RAG: как адаптировать LLM под свои данные и задачи», 23 июля в 20:00 — «Когнитивные архитектуры: ReAct, Reflection и RAG».

// поделиться Telegram VK