December 25, 2024

Что такое Chain-of-Thoughts? 

Chain-of-Thoughts – это цепочка рассуждений внутри модели

Структурно она представляет некий набор сообщений, который последовательно отправляется модели.
Ключевой момент: к этому набору сообщений добавляются ответы модели.

От монолитного промпта (значительного куска информации, отправленного одновременно) CoT отличается следующими пунктами:
Структурированностью: возникает структура вместо единого ответа
Поэтапностью: появляются этапы взаимодействия, детализируя взаимодействие с БЯМ
Интерактивностью: каждый этап может быть независимо изменен.
То есть получается, что это тот самый диалог, который ведет пользователь, с любым чатом.

Пример цепочки сообщений:
• Вот у меня есть такая проблема. Как ее решить?
• Ответ 1
• Напиши мне недостатки решения
• Ответ 2
• Придумай, как победить недостатки
• Ответ 3
• Дай мне конечное решение
• Ответ 4

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

В модель Цепочка Размышлений отправляется по нарастающей: сначала первый вопрос, потом первая пара «вопрос-ответ», второй вопрос и т.д. Диалог усложняется и обрастает данными на каждом этапе.

Технически Цепочка Размышлений гораздо более прожорлива на токены, чем единая простыня: это дороже и медленнее (из-за количества токенов на отправку). Также она плохо работает с пост-отправкой, потому что для отправки следующего сообщение необходимо дождаться получения ответа на предыдущие.

Цепочка Размышлений может помочь понять модель лучше: • Вот у меня есть проблема Х. Как ее решить? На втором этапе, будет отправлено не просто второе сообщение, а первое сообщение, ответ на него и второе сообщение:
• Вот у меня есть проблема Х. Как ее решить?
• Ответ модели 1
• Указание добавить синтетические данные модели. Данные, которые помогут понять «как думает модель»
• Ответ модели 2
• Запрос итогового решения

Для модели Цепочка Размышлений будет выглядеть как текст, размеченный внутри в виде запросов пользователя, ее ответы и системные инструкции (по возможности). И она будет принимать его все в большем и большем количестве.

К Цепочке Размышления следует относиться как к методу разбиения информации, которая предоставляется модели. То есть главное для создания цепочки размышлений – моделька с большим контекстным окном. Тогда вы сможете получать более структурированные и точные персонализированные ответы.

Статья про CoT на arxiv: https://arxiv.org/abs/2201.11903