← Timeline
Avatar
Tigra
(updated )
Режим декодирования ответа LLM, повышающий self-consistency

Как языковые модели генерируют ответы? Подав на вход последовательность токенов промпта, мы получаем в ответ список вероятностей для следующего токена ответа. Далее мы можем использовать тупой жадный алгоритм - выбрать токен с самой большой вероятностью. Далее мы сабмитим в языковую модель всё то же, но с дописанным токеном ответа и всем остальным со сдвигом, и таким образом генерируем список возможных следующих токенов с вероятностями.

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

Естественно, полное исследование всего дерева вариантов было бы intractable, да и нет смысла ковыряться с вариантами уже плохими. Поэтому используется так называемый beam search, что является жадноватым поиском в ширину - на каждом этапе формируется k наиболее вероятных токенов. Ну а потом с последнего самого удачного отматываем назад. Так я себе это понимаю.

Eще есть "температура", которая позволяет с некоторой вероятностью выбирать не самый вероятный токен, но иногда залезать и в менее вероятные. Это позволяет получать разнообразные ответы на один и тот же промпт, добавить больше или меньше вариативности.

В этой статье исследователи предлагают способ декодирования ответов от LLM, повышающий вероятность правильного ответа.

Изучают вопросы на reasoning, причем такие, где в конце получается однозначный легко интерпретируемый ответ, такой, который легко распарсить. Например, арифметика с ответом в виде числа. Далее используют chain-of-though промптинг, то есть просят сгенерировать цепочку рассуждений. И этих ответов просят много разных, с ненулевой температурой и большой шириной луча в beam search как - разнообразные цепочки рассуждений. Затем используют этот набор ответов, полученных от одной модели как бы как ответы от ансамбля моделей. Парсят из каждого ответа финальный ответ и считают правильным ответом тот, который получил больше всего "голосов". Утверждают, что это похоже на то, как человек думает.

В другой работе, о которой писал ранее - идут дальше, генерируя самой LLM датасет для тренировки (фильтруя сочетания вопросов и ответов, на которые получаются консистентные ответы) и дотренировывают ее на нём.

#ml #llm #self_consistency #chain_of_though

https://arxiv.org/abs/2203.11171

Self-Consistency Improves Chain of Thought Reasoning in Language Models
Chain-of-thought prompting combined with pre-trained large language models has achieved encouraging results on complex r…
arXiv.orgARXIV.ORG
👍💡2
To react or comment  View in Web Client