Открыть сервис

Chain-of-Thought

Chain-of-Thought (CoT, «цепочка рассуждений») — это метод подсказок (промптинга) в области обработки естественного языка, предназначенный для улучшения способности больших языковых моделей (LLM) решать многошаговые задачи, требующие логического вывода, арифметических вычислений или рассуждений на основе здравого смысла. В отличие от стандартного прямого ответа, CoT побуждает модель генерировать промежуточные логические шаги, последовательно ведущие к конечному результату, имитируя процесс человеческого мышления.

История

Метод Chain-of-Thought был впервые систематически описан и представлен исследовательской группой Google (Джейсон Вэй и др.) в 2022 году в статье «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». Работа продемонстрировала, что добавление в запрос нескольких примеров с пошаговым решением («few-shot CoT») значительно повышает точность моделей на задачах арифметики, символьных преобразований и логических рассуждений по сравнению с прямым ответом без промежуточных шагов. Впоследствии были разработаны упрощённые варианты, такие как «Zero-shot CoT» (предложен Такеши Кодзимой и др. в 2022 году), где модель побуждалась к рассуждению простой фразой «Давайте подумаем шаг за шагом» без предоставления примеров.

Принцип работы

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

Пример работы

Запрос (без CoT): «У Маши было 5 яблок. Она отдала 2 яблока Пете и купила ещё 3. Сколько яблок у Маши сейчас?»

Ответ (без CoT): «6 яблок». (Вероятно, модель выполнила вычисление 5-2+3=6, но не показала шаги.)

Запрос (с CoT): «У Маши было 5 яблок. Она отдала 2 яблока Пете, значит у неё осталось 5-2=3 яблока. Затем она купила ещё 3 яблока, значит у неё стало 3+3=6 яблок. Сколько яблок у Маши сейчас?»

Ответ (с CoT): «6 яблок». (Модель воспроизводит цепочку рассуждений, что делает процесс прозрачным и снижает риск ошибки.)

Виды и модификации Chain-of-Thought

Few-shot Chain-of-Thought (Few-shot CoT)

Классический метод, при котором в запрос (промпт) включается несколько примеров (обычно 3–8) задач, решённых пошагово. Модель обучается на этих примерах и применяет аналогичный стиль рассуждений к новой задаче. Требует ручного составления примеров.

Zero-shot Chain-of-Thought (Zero-shot CoT)

Метод, не требующий примеров. В конце запроса добавляется инструкция, побуждающая модель к рассуждению, например: «Давайте подумаем шаг за шагом» или «Объясните свой ответ пошагово». Исследования показали, что даже такая простая фраза значительно улучшает результаты на задачах, требующих логики.

Self-Consistency (Самосогласованность)

Метод, предложенный для повышения надёжности CoT. Модель генерирует несколько (например, 5–10) различных цепочек рассуждений для одного и того же запроса (с использованием случайности в процессе генерации). Затем выбирается наиболее часто встречающийся ответ (голосование большинством). Этот подход компенсирует возможные ошибки в отдельных цепочках.

Tree-of-Thought (ToT, «Дерево рассуждений»)

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

Automatic Chain-of-Thought (Auto-CoT)

Метод автоматической генерации примеров для Few-shot CoT без участия человека. Модель сама подбирает разнообразные примеры из обучающего набора данных и генерирует для них пошаговые решения, которые затем используются в промпте.

Применение

Chain-of-Thought нашёл широкое применение в задачах, где важен не только конечный ответ, но и процесс его получения:

  • Арифметические и математические задачи: решение текстовых задач, вычисление сложных выражений.
  • Логические и символьные рассуждения: задачи на следование правилам, дедукция, индукция.
  • Задачи на здравый смысл: вопросы, требующие понимания причинно-следственных связей и бытовых ситуаций.
  • Генерация кода: объяснение алгоритмов и пошаговое написание программ.
  • Медицинская диагностика: последовательный анализ симптомов для постановки диагноза.
  • Юридический анализ: разбор правовых норм и их применение к конкретным случаям.

Преимущества и ограничения

Преимущества

  • Повышение точности: CoT значительно улучшает результаты на задачах, требующих многошаговых рассуждений, особенно для моделей с большим количеством параметров (от 100 миллиардов и выше).
  • Интерпретируемость: цепочка рассуждений делает процесс принятия решения моделью прозрачным, что позволяет проверять логику и выявлять ошибки.
  • Устойчивость к ошибкам: при использовании Self-Consistency снижается вероятность случайных ошибок.

Ограничения

  • Зависимость от размера модели: CoT эффективен в основном для крупных моделей (с 10⁹+ параметрами). Малые модели часто не способны генерировать корректные цепочки.
  • Чувствительность к формулировке запроса: неверно составленный промпт или неудачные примеры могут привести к неверным рассуждениям.
  • Увеличение длины ответа: генерация полной цепочки требует больше вычислительных ресурсов и времени.
  • Возможность «галлюцинаций»: модель может генерировать правдоподобные, но логически неверные шаги, что приводит к неправильному ответу.
  • Неэффективность для простых задач: для задач, решаемых в один шаг, CoT избыточен и может даже снижать производительность.

Критика и альтернативы

Некоторые исследователи отмечают, что CoT не является истинным «рассуждением» в человеческом понимании, а скорее имитирует его, используя статистические закономерности, выученные из текстов. Существуют альтернативные подходы, такие как «Least-to-Most Prompting» (решение от простого к сложному) и «Program of Thoughts» (использование кода для вычислений), которые в некоторых задачах превосходят CoT. Кроме того, ведутся работы по созданию моделей, которые могут обучаться рассуждениям без явного промптинга, например, через специальные архитектуры (Chain-of-Thought с рекуррентными блоками).

Источники

  • Wei, J., Wang, X., Schuurmans, D., et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. Advances in Neural Information Processing Systems.
  • Kojima, T., Gu, S. S., Reid, M., et al. (2022). Large Language Models are Zero-Shot Reasoners. Advances in Neural Information Processing Systems.
  • Wang, X., Wei, J., Schuurmans, D., et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv preprint arXiv:2203.11171.
  • Yao, S., Yu, D., Zhao, J., et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv preprint arXiv:2305.10601.
  • Zhang, Z., Zhang, A., Li, M., et al. (2023). Automatic Chain of Thought Prompting in Large Language Models. arXiv preprint arXiv:2210.03493.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →