OpenAI o1 - LLM, обученная выполнять сложные логические рассуждения

OpenAI изменили направление развития своих языковых моделей, от просто генерации текста их последняя модель перешла к решению задач с использованием логики и пошагового анализа проблемы.

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

o1 - это модель рассуждения, которая разбивает сложную проблему на промежуточные шаги, делает осмысленные выводы на каждом из них и в итоге приходит к финальному ответу. Есть два важных ингредиента в этом процессе.

Во-первых, промпт, который требует от модели выполнять пошаговое рассуждение, "Chain of Thoughts" (Wei et al., 2022). Было установлено, что инференс с таким промптом заметно улучшает способность модели строить логически верные рассуждения.

Отличие CoT от обычного промпта видно на этом изображении: в примере ответа приводится пример цепочки рассуждений, который модель может использовать для нахождения правильного ответа.

OpenAI o1 - LLM, обученная выполнять сложные логические рассуждения

Второй ингредиент более сложный - модель обучают генерировать собственные цепочки мыслей. С помощью Reinforcement Learning - обучения с подкреплением - модель тренируют формировать наиболее эффективные цепочки, ведущие к правильному решению. И это - действительно важное открытие, которое позволяет масштабировать модели в сторону все более и более сложных рассуждений, задач, требующих нетривиальной логики.

Досадно то, что OpenAI не открыли доступ к своим цепочкам рассуждений, которыми оперирует o1. Официальная причина - рассуждения модели не цензурируются, чтобы они не потеряли эффективность. Так что пользователь видит только краткое саммари и финальный ответ. Но основная причина того, что цепочки мыслей скрыты, это защита от конкурентов, как легко догадаться. Используя тот же подход обучения с подкреплением и данные цепочек мыслей, можно было бы обучить открытую модель генерировать их так же, как это делает o1.

Впрочем, рано или поздно это все равно произойдет. Недавно компания SambaNova опубликовала демо на HuggingFace - Llama-3.1-Instruct-O1. Как становится понятным из названия, они использовали модель Llama-3.1-Instruct, а именно версию 405B. Модель работает со сложным системным промптом, который заставляет ее строить цепочки мыслей, что похоже на o1. Этот эксперимент показывает достаточно хорошие результаты. Осталось улучшить способность Llama или другой открытой модели генерировать собственные цепочки мыслей путем обучения или файнтюнинга.

Генерация сложных цепочек мыслей повышает требования к ресурсам. Можно ли запускать похожие системы в обычном GPU-облаке? Можно использовать квантизацию моделей и серверные видеокарты с высокой пропускной способностью видеопамяти. Я использую видеокарты immers.cloud для моих экспериментов, на моем YouTube канале можно найти обзор характеристик видеокарт этой платформы.

Скорость генерации становится особенно важной для моделей рассуждений типа o1. Качество ответа повышается пропорционально времени, которое модель тратит на обдумывание проблемы. Но ждать ответа часами пользователь не может, поэтому например SambaNova для своего демо использовали собственный AI-чип SN40L, с помощью чего удалось достичь скорости генерации 129 токенов в секунду. Еще один известный стартап в области AI-чипов, который преодолевает лимит скорости генерации - Groq. Такие решения понадобятся для инференса "думающих" языковых моделей.

Если вы занимаетесь рендерингом, ИИ или просто любите играть, подписывайтесь на наш Telegram-канал. В нем мы проводим интересные активности, делимся новостями компании и разыгрываем призы

Читать также:

11
Начать дискуссию