Стратегии декодирования
Методы выбора токенов
Проблема: Модель знает, что после «Погода сегодня» могут подойти несколько слов: «солнечная», «дождливая», «холодная», «хорошая»... Как она выбирает именно одно?
Решение: Автокомплит на телефоне
Помнишь, как телефон подсказывает слова, когда ты пишешь сообщение? Он показывает 3 варианта, и ты нажимаешь на один. LLM работает так же, только выбирает автоматически! Декодирование — это финальный шаг инференса, где распределение вероятностей превращается в конкретный токен.
Почему это важно?
Стратегия декодирования определяет «характер» выдачи модели:
- Бот поддержки: жадный декодинг для стабильных, предсказуемых ответов
- Креативное письмо: сэмплинг с высокой температурой для неожиданных идей
- Генерация кода: beam search для поиска самого корректного решения
- Перевод: beam search для сохранения смысла и грамматики
Представьте это как автокомплит телефона с разными стратегиями выбора:
- 1. Жадный (greedy): всегда бери самое вероятное слово. Быстро, но скучно — тексты становятся однообразными
- 2. Случайный (sampling): кидай кубик среди топ-вариантов. Креативнее, но может уйти не туда
- 3. Top-K: рассматривай только K самых вероятных слов, потом выбирай случайно. Баланс между контролем и творчеством
- 4. Top-P (nucleus): бери слова, пока их суммарная вероятность не достигнет P%. Умная адаптация к контексту
- 5. Beam Search: попробуй несколько путей параллельно, выбери лучший в целом. Используется для перевода и важных задач
Где это применяется?
Интересный факт: ChatGPT по умолчанию использует Top-P sampling с P=1, то есть рассматривает почти все варианты, но предпочитает более вероятные. Вот почему на один и тот же вопрос можно получить разные ответы!
Попробуйте сами!
Ниже — интерактивная демонстрация. Посмотри, как разные стратегии декодирования влияют на генерируемый текст. Попробуй жадный vs случайный — почувствуй разницу!
Как модель выбирает следующий токен? Разные стратегии дают разные результаты из одного распределения вероятностей.
Всегда выбирать самый вероятный токен. Детерминистично, но может повторяться.
| Стратегия | Детерминизм | Разнообразие | Применение |
|---|---|---|---|
| Greedy | ✓ | Низкое | Факты, код |
| Beam Search | ✓ | Среднее | Перевод, суммаризация |
| Temperature | ✗ | Настраивается | Всё |
| Top-k | ✗ | Среднее | Креатив |
| Top-p | ✗ | Адаптивное | Чаты, креатив |
Greedy лучше всего для фактологических запросов. Top-p (nucleus) sampling самый популярный для креативных задач — он адаптируется к каждому распределению вместо фиксированного отсечения как Top-k.
Попробуй сам
Интерактивное демо этой техники
Написать начало фантастического рассказа
Космический корабль "Надежда" летел через бескрайние просторы космоса. Капитан Иванов сидел в своём кресле и смотрел на звёзды. Впереди была долгая дорога. Экипаж готовился к высадке на новую планету.
Маяк на Энцеладе замолчал в четверг. Не то чтобы кто-то заметил — автоматические станции молчат и перезапускаются постоянно. Но этот маяк передавал одну и ту же фразу 340 лет подряд. А теперь он начал передавать другую. На языке, которого в базах данных человечества не существовало.
Greedy decoding (temperature=0) даёт предсказуемый текст. Nucleus sampling (temperature=0.9, top_p=0.95) позволяет модели «рисковать» — идеально для творческих задач, где клише недопустимы.
Создайте бесплатный аккаунт для решения челленджей
4 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения