Chain-of-Thought Prompting

Материал из Systems analysis wiki
Перейти к навигации Перейти к поиску

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

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

Ключевая идея

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

  • Декомпозировать сложные задачи: Модель разбивает комплексную проблему на более мелкие и управляемые подзадачи, концентрируясь на каждой из них последовательно.
  • Минимизировать ошибки: Пошаговый процесс снижает вероятность логических ошибок, которые часто возникают при попытке дать ответ в один шаг.
  • Улучшить прозрачность и интерпретируемость: Пользователи и разработчики могут видеть логику модели, что облегчает отладку, верификацию и формирование доверия к результатам.

Исторический контекст

Методика CoT была впервые представлена 28 января 2022 года исследователями из Google Research в работе «Chain of Thought Prompting Elicits Reasoning in Large Language Models» (Jason Wei, Denny Zhou et al.)[1]. Они обнаружили, что предоставление модели нескольких примеров задач с пошаговыми решениями (few-shot CoT) резко повышает её производительность на сложных задачах.

Это открытие показало, что способность к многоэтапным рассуждениям является эмерджентным свойством больших моделей. Как отмечалось в оригинальной работе, CoT даёт прирост производительности только у моделей, достигших определённого масштаба (около 100 миллиардов параметров и более), и практически отсутствует у моделей меньшего размера, которые при использовании CoT могут генерировать нелогичные рассуждения и показывать худшие результаты.

Разновидности CoT Prompting

Few-Shot CoT: Обучение на примерах

Это оригинальный и наиболее надёжный метод CoT.

  • Принцип: Модели предоставляется несколько (обычно от 2 до 8) примеров, каждый из которых состоит из набора: вопрос — цепочка рассуждений — ответ.
  • Преимущества: Высокая точность, так как модель учится конкретному стилю и формату рассуждений.
  • Недостатки: Требует ручного создания качественных и разнообразных примеров.

Zero-Shot CoT: «Давай подумаем шаг за шагом»

Этот метод был предложен позже, 24 мая 2022 года, в работе «Large Language Models are Zero-Shot Reasoners» (Takeshi Kojima et al.)[2] и является значительно более простым вариантом.

  • Принцип: К исходному запросу добавляется простая триггерная фраза, например, «Давай подумаем шаг за шагом» (англ. "Let's think step by step").
  • Преимущества: Простота, гибкость и отсутствие необходимости в примерах.
  • Недостатки: Может быть менее точным, чем Few-Shot CoT, для очень специфических задач.

Automatic CoT (Auto-CoT)

Этот подход, предложенный в работе Zhang et al. (2022)[3], автоматизирует создание демонстраций для Few-Shot CoT.

  • Принцип:
  1. Вопросы из нового набора данных кластеризуются.
  2. Из каждого кластера выбирается репрезентативный вопрос.
  3. Для этих вопросов генерируется цепочка рассуждений с помощью Zero-Shot CoT.
  4. Полученные демонстрации используются для формирования промпта.
  • Цель: Снизить ручные усилия и масштабировать применение CoT, достигая производительности, сопоставимой с ручным созданием примеров.

Мультимодальный CoT

Применение CoT на задачи, включающие данные из нескольких модальностей (текст и изображения).

  • Принцип: Модель генерирует рассуждения, которые связывают текстовую и визуальную информацию.
  • Применение: Анализ диаграмм, решение визуальных головоломок.

Механизмы и эффективность

  • Улучшение рассуждений: CoT направляет модель через структурированный процесс решения, что минимизирует логические ошибки и позволяет более эффективно использовать её базу знаний.
  • Эмпирические доказательства: Эффективность CoT особенно заметна на сложных бенчмарках. Например, на арифметическом бенчмарке GSM8K базовый метод Few-Shot CoT повысил точность модели PaLM-540B с 17.9% до 58.1%. Применение же более продвинутых техник, построенных на основе CoT (таких как Self-Consistency), позволяет достигать точности в 74–78%.
  • Роль формата рассуждений: Исследования показали, что даже примеры с неверными промежуточными шагами могут улучшать результат, если общая структура рассуждений сохраняется. Это говорит о том, что CoT в первую очередь учит модель формату пошагового мышления.

Связь с другими техниками

CoT является фундаментальным компонентом для более продвинутых методов:

  • Self-Consistency: Генерирует несколько разных CoT-цепочек для одного вопроса и выбирает наиболее частый ответ путём голосования. Это значительно повышает надёжность, давая прирост точности на бенчмарках GSM8K[4] (+17.9%)[5], SVAMP[6] (+11.0%)[1] и AQuA[7] (+12.2%)[1].
  • Tree of Thoughts (ToT): Обобщает CoT, исследуя не одну, а целое дерево возможных путей рассуждений. В отличие от линейной цепочки CoT, ToT позволяет модели исследовать несколько веток, оценивать промежуточные «мысли» и возвращаться назад (backtracking) при обнаружении бесперспективного пути. Это позволяет решать еще более сложные задачи, где простого линейного рассуждения недостаточно (например, повысив точность решения задачи "Game of 24"[8] с 4% до 74%)[9].

См. также

Литература

  • Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
  • Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
  • Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
  • Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
  • Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
  • Lyu, Q. et al. (2023). Faithful Chain-of-Thought Reasoning. arXiv:2301.13379.
  • Wang, X. et al. (2023). Deductive Verification of Chain-of-Thought Reasoning. arXiv:2306.03872.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
  • Lightman, H. et al. (2023). Let’s Verify Step by Step. arXiv:2305.20050.
  • Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.

Примечания

  1. 1,0 1,1 1,2 Wei, Jason, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, и Denny Zhou. «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv, 10 январь 2023 г. https://doi.org/10.48550/arXiv.2201.11903.[1]
  2. Kojima, Takeshi, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, и Yusuke Iwasawa. «Large Language Models are Zero-Shot Reasoners». arXiv, 29 январь 2023 г. https://doi.org/10.48550/arXiv.2205.11916.[2]
  3. Zhang, Zhuosheng, Aston Zhang, Mu Li, и Alex Smola. «Automatic Chain of Thought Prompting in Large Language Models». arXiv, 7 октябрь 2022 г. https://doi.org/10.48550/arXiv.2210.03493.[3]
  4. «openai/gsm8k · Datasets at Hugging Face», 17 июль 2023 г. https://huggingface.co/datasets/openai/gsm8k.[4]
  5. Wang, Xuezhi, Jason Wei, Dale Schuurmans, Quoc Le, Ed Chi, Sharan Narang, Aakanksha Chowdhery, и Denny Zhou. «Self-Consistency Improves Chain of Thought Reasoning in Language Models». arXiv, 7 март 2023 г. https://doi.org/10.48550/arXiv.2203.11171.[5]
  6. Patel, Arkil. «arkilpatel/SVAMP». Python, 30 май 2025 г. https://github.com/arkilpatel/SVAMP.[6]
  7. «autonlab/aqua». Jupyter Notebook. 2022. Reprint, Auton Lab, Carnegie Mellon University, 12 июнь 2025 г. https://github.com/autonlab/aqua.[7]
  8. «24 (Puzzle)». В Wikipedia [8]
  9. Yao, Shunyu, Dian Yu, Jeffrey Zhao, Izhak Shafran, Thomas L. Griffiths, Yuan Cao, и Karthik Narasimhan. «Tree of Thoughts: Deliberate Problem Solving with Large Language Models». arXiv, 3 декабрь 2023 г. https://doi.org/10.48550/arXiv.2305.10601.[9]