Серия интервью с AI #1: объяснение стратегий генерации текста в больших языковых моделях (LLMs)

Каждый раз, когда вы делаете запрос к LLM, модель не генерирует полный ответ сразу — она создаёт ответ по одному слову (или токену) за раз. На каждом шаге модель прогнозирует вероятность того, каким может быть следующий токен, основываясь на всём написанном до этого момента. Но одних только вероятностей недостаточно — модели нужна стратегия, чтобы решить, какой токен выбрать следующим.

Различные стратегии могут полностью изменить вид итогового результата — одни делают его более сфокусированным и точным, а другие — более креативным или разнообразным. В этой статье мы рассмотрим четыре популярные стратегии генерации текста, используемые в LLM: жадный поиск (Greedy Search), лучевой поиск (Beam Search), отбор по ядру (Nucleus Sampling) и отбор по температуре (Temperature Sampling).

Жадный поиск (Greedy Search)

Жадный поиск — это простейшая стратегия декодирования, при которой на каждом шаге модель выбирает токен с наибольшей вероятностью, учитывая текущий контекст. Хотя это быстро и просто в реализации, такой подход не всегда приводит к наиболее связному или осмысленному тексту — подобно выбору наилучшего локального варианта без учёта общего результата.

Поскольку жадный поиск следует только одному пути в дереве вероятностей, он может пропустить более качественные последовательности, требующие краткосрочных компромиссов. В результате жадный поиск часто приводит к повторяющемуся, стандартному или скучному тексту, что делает его непригодным для задач генерации открытого текста.

Лучевой поиск (Beam Search)

Лучевой поиск — это улучшенная стратегия декодирования по сравнению с жадным поиском, которая отслеживает несколько возможных последовательностей (называемых лучами) на каждом этапе генерации, а не только одну. Она расширяет K наиболее вероятных последовательностей, позволяя модели исследовать несколько перспективных путей в дереве вероятностей и потенциально обнаружить более качественные завершения, которые мог бы пропустить жадный поиск.

Параметр K (ширина луча) контролирует баланс между качеством и вычислениями — более широкие лучи дают более качественный текст, но работают медленнее. Хотя лучевой поиск хорошо работает в структурированных задачах, таких как машинный перевод, где точность важнее креативности, он склонен к созданию повторяющегося, предсказуемого и менее разнообразного текста в задачах открытой генерации.

Это происходит потому, что алгоритм отдаёт предпочтение продолжениям с высокой вероятностью, что приводит к меньшему разнообразию и «деградации нейронного текста», когда модель чрезмерно использует определённые слова или фразы.

Отбор по ядру (Nucleus Sampling)

Отбор по ядру (Nucleus Sampling) — это вероятностная стратегия декодирования, которая динамически регулирует количество токенов, учитываемых для генерации на каждом шаге. Вместо выбора из фиксированного числа верхних токенов, как при отборе по k, отбор по ядру выбирает наименьший набор токенов, кумулятивная вероятность которых составляет заданный порог p (например, 0,7). Эти токены образуют «ядро», из которого случайным образом выбирается следующий токен после нормализации их вероятностей.

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

Отбор по температуре (Temperature Sampling)

Отбор по температуре контролирует уровень случайности в генерации текста путём настройки параметра температуры (t) в функции softmax, которая преобразует логиты в вероятности. Более низкая температура (t < 1) делает распределение более острым, увеличивая вероятность выбора наиболее вероятных токенов — в результате получается более сфокусированный, но часто повторяющийся текст. При t = 1 модель выбирает напрямую из своего естественного распределения вероятностей, известного как чистая или наследственная выборка. Более высокие температуры (t > 1) сглаживают распределение, внося больше случайности и разнообразия, но за счёт связности. На практике отбор по температуре позволяет точно настроить баланс между креативностью и точностью: низкие температуры дают детерминированные, предсказуемые результаты, а более высокие — более разнообразный и творческий текст.

Оптимальная температура часто зависит от задачи — например, для творческого письма лучше подходят более высокие значения, в то время как для технических или фактических ответов — более низкие.

1. Какие стратегии генерации текста в больших языковых моделях (LLMs) существуют и в чём их особенности?

В статье описаны четыре популярные стратегии генерации текста в LLM:
* Жадный поиск (Greedy Search) — на каждом шаге модель выбирает токен с наибольшей вероятностью, что может привести к повторяющемуся и стандартному тексту.
* Лучевой поиск (Beam Search) — отслеживает несколько возможных последовательностей (называемых лучами) на каждом этапе генерации, что позволяет исследовать несколько перспективных путей в дереве вероятностей.
* Отбор по ядру (Nucleus Sampling) — динамически регулирует количество токенов, учитываемых для генерации на каждом шаге, что позволяет сбалансировать разнообразие и связность.
* Отбор по температуре (Temperature Sampling) — контролирует уровень случайности в генерации текста путём настройки параметра температуры (t) в функции softmax, что позволяет точно настроить баланс между креативностью и точностью.

2. В чём заключается преимущество лучевого поиска (Beam Search) перед жадным поиском (Greedy Search)?

Лучевой поиск (Beam Search) отслеживает несколько возможных последовательностей (называемых лучами) на каждом этапе генерации, что позволяет исследовать несколько перспективных путей в дереве вероятностей и потенциально обнаружить более качественные завершения, которые мог бы пропустить жадный поиск (Greedy Search). Это делает его более эффективным в структурированных задачах, таких как машинный перевод, где точность важнее креативности.

3. Как работает отбор по ядру (Nucleus Sampling) и какие преимущества он имеет по сравнению с другими методами?

Отбор по ядру (Nucleus Sampling) динамически регулирует количество токенов, учитываемых для генерации на каждом шаге. Вместо выбора из фиксированного числа верхних токенов, как при отборе по k, отбор по ядру выбирает наименьший набор токенов, кумулятивная вероятность которых составляет заданный порог p (например, 0,7). Это позволяет модели сбалансировать разнообразие и связность — выбор из более широкого диапазона при наличии множества токенов с близкими вероятностями (плоское распределение) и сужение до наиболее вероятных токенов при остром распределении (пиковое). В результате отбор по ядру создаёт более естественный, разнообразный и контекстуально подходящий текст по сравнению с методами фиксированного размера, такими как жадный или лучевой поиск.

4. Как отбор по температуре (Temperature Sampling) влияет на уровень случайности в генерации текста?

Отбор по температуре (Temperature Sampling) контролирует уровень случайности в генерации текста путём настройки параметра температуры (t) в функции softmax, которая преобразует логиты в вероятности. Более низкая температура (t < 1) делает распределение более острым, увеличивая вероятность выбора наиболее вероятных токенов — в результате получается более сфокусированный, но часто повторяющийся текст. Более высокие температуры (t > 1) сглаживают распределение, внося больше случайности и разнообразия, но за счёт связности. На практике отбор по температуре позволяет точно настроить баланс между креативностью и точностью.

5. Какие факторы следует учитывать при выборе оптимальной температуры для генерации текста?

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

Источник