Как языковые модели генерируют ответы? Подав на вход последовательность токенов промпта, мы получаем в ответ список вероятностей для следующего токена ответа. Далее мы можем использовать тупой жадный алгоритм - выбрать токен с самой большой вероятностью. Далее мы сабмитим в языковую модель всё то же, но с дописанным токеном ответа и всем остальным со сдвигом, и таким образом генерируем список возможных следующих токенов с вероятностями.
Но на практике не всегда используется тупой жадный алгоритм. Ведь надо выбрать наиболее вероятную последовательность токенов, которая может получиться плохой, если мы выбрали где-то на ранней стадии неудачно. Фактически нас интересует максимизация произведения вероятностей каждого следующего токена.
Естественно, полное исследование всего дерева вариантов было бы intractable, да и нет смысла ковыряться с вариантами уже плохими. Поэтому используется так называемый beam search, что является жадноватым поиском в ширину - на каждом этапе формируется k наиболее вероятных токенов. Ну а потом с последнего самого удачного отматываем назад. Так я себе это понимаю.
Eще есть "температура", которая позволяет с некоторой вероятностью выбирать не самый вероятный токен, но иногда залезать и в менее вероятные. Это позволяет получать разнообразные ответы на один и тот же промпт, добавить больше или меньше вариативности.
В этой статье исследователи предлагают способ декодирования ответов от LLM, повышающий вероятность правильного ответа.
Изучают вопросы на reasoning, причем такие, где в конце получается однозначный легко интерпретируемый ответ, такой, который легко распарсить. Например, арифметика с ответом в виде числа. Далее используют chain-of-though промптинг, то есть просят сгенерировать цепочку рассуждений. И этих ответов просят много разных, с ненулевой температурой и большой шириной луча в beam search как - разнообразные цепочки рассуждений. Затем используют этот набор ответов, полученных от одной модели как бы как ответы от ансамбля моделей. Парсят из каждого ответа финальный ответ и считают правильным ответом тот, который получил больше всего "голосов". Утверждают, что это похоже на то, как человек думает.
#ml #llm #self_consistency #chain_of_though