Перейти к контенту

Self-Consistency: выборка по принципу большинства повышает точность цепочки рассуждений

· 6 мин чтения
Mike Thrift
Mike Thrift
Marketing Manager

В выпуске LOG-009 мы рассматривали PAL, который передает арифметику интерпретатору Python, чтобы модели не приходилось вычислять самостоятельно. Self-consistency решает ортогональную проблему: что если модель рассуждает правильно в большинстве случаев, но не всегда? Ответ оказался статистическим, а не архитектурным — и поразительно эффективным.

Статья

2026-04-24-self-consistency-chain-of-thought

Работа «Self-Consistency Improves Chain of Thought Reasoning in Language Models» (Сюэчжи Ван, Джейсон Вэй, Дейл Шуурманс, Куок Ле, Эд Чи, Шаран Наранг, Ааканкша Чоудхери и Денни Чжоу; ICLR 2023, arXiv:2203.11171) представляет стратегию декодирования, которая заменяет единственный путь жадной цепочки рассуждений (chain-of-thought) голосованием большинством по множеству сэмплированных путей. Интуиция проста: сложная задача на рассуждение обычно имеет один правильный ответ, но множество путей к нему; неверный же ответ с большей вероятностью будет получен в результате специфических ошибок, которые не будут сходиться к одному и тому же результату.

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

Основные идеи

  • Размер выборки и температура: В статье используется 40 путей рассуждения на задачу при температуре 0,7. Это не магическое число, полученное подбором гиперпараметров — абляция показывает, что прирост выходит на плато примерно после 20–30 сэмплов, поэтому 40 — это консервативная оценка.
  • Прирост точности по сравнению со стандартным CoT: GSM8K +17,9%, SVAMP +11,0%, AQuA +12,2%, StrategyQA +6,4%, ARC-challenge +3,9% — все это абсолютные показатели улучшения точности при использовании той же модели и промпта.
  • Результаты GSM8K по моделям: Для text-davinci-002 (GPT-3) self-consistency повышает точность с 78,7% до 86,5%. Для Codex — с 74,5% до 82,3%. Улучшения стабильны для разных семейств моделей.
  • Нулевые затраты на обучение: Всё происходит на этапе инференса. Подход работает с любым API «черного ящика», где можно сэмплировать с температурой > 0.
  • Голосование большинством для извлекаемых ответов: Шаг агрегации работает четко, когда ответы дискретны (число, выбор буквы). Для генерации открытых ответов авторы признают ограничение: в статье менее детально описано, как определять «наиболее последовательный» вариант.

Что подтверждается, а что — нет

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

Во-первых, стоимость линейно зависит от количества сэмплов. Сэмплирование 40 путей при инференсе стоит в 40 раз больше токенов, чем один путь. Для задач, где важны задержка и стоимость API — например, для агента, обрабатывающего сотни транзакций за ночь — это существенно. Последующая работа (Early-Stopping Self-Consistency, ICLR 2024) решает эту проблему: останавливаясь, как только голосование достигает порога уверенности, можно сократить количество сэмплов на 80% на GSM8K без заметной потери точности. В базовой статье вопрос стоимости вообще не обсуждается, что является странным упущением.

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

В-третьих, Ван и Ван (2025, arXiv:2503.16974) исследовали последовательность LLM непосредственно в задачах финансов и учета в 50 независимых прогонах. Они обнаружили, что бинарная классификация и анализ тональности почти идеально воспроизводимы при одном сэмпле, в то время как сложные задачи (прогнозирование, генерация) демонстрируют реальную вариативность. Их практический вывод: агрегация всего 3–5 прогонов значительно улучшает последовательность в сложных задачах — это гораздо более дешевая версия той же идеи self-consistency.

Почему это важно для ИИ в финансах

Операции в книге Beancount, включающие многоэтапную арифметику — расчет налогов, базисную стоимость с поправкой на валютный курс, графики амортизации, сверку счетов — это именно те задачи, где однократный «жадный» вывод ненадежен, но правильный ответ уникален и верифицируем. Self-consistency — это недорогое вмешательство, которое должно быть стандартом для любой задачи финансового агента, где результат можно проверить (сохраняется ли баланс в балансовом отчете?).

Более интересное следствие — архитектурное. Self-consistency превращает инференс в ансамблевое голосование. Для обеспечения безопасности записи — когда агент вносит записи в журнал проводок — я бы хотел опираться на уверенность большинства: фиксировать операцию только в том случае, если 35 из 40 путей совпадают. Разногласие является сигналом того, что агент должен передать задачу человеку, а не делать запись самостоятельно. Это конкретный, реализуемый барьер безопасности, который требует бюджета на инференс, но не усложняет разработку.

Систематическая ошибка особенно важна для налоговых и регуляторных правил, где модели склонны галлюцинировать деталями конкретных юрисдикций. В таких случаях правильным решением будет PAL (LOG-009): полностью передать расчеты на аутсорс. Self-consistency и PAL дополняют друг друга — PAL обеспечивает арифметическую правильность, а self-consistency — надежность рассуждений в условиях неоднозначности.

Что почитать дальше

  • Tree of Thoughts: Deliberate Problem Solving with Large Language Models (Yao et al., 2023, arXiv:2305.10601) — расширяет self-consistency от голосования по путям до поиска по путям, что важно, когда пространство рассуждений разветвляется, а не идет параллельно.
  • Escape Sky-high Cost: Early-stopping Self-Consistency for Multi-step Reasoning (Lei et al., ICLR 2024) — решение проблемы стоимости; сокращает сэмплирование на 80% и более на GSM8K при сохранении точности.
  • Universal Self-Consistency for Large Language Models (Chen et al., arXiv:2311.17311) — расширяет принцип большинства на задачи генерации с открытым финалом, используя LLM-судью, что устраняет пробел в агрегации, который авторы оригинальной статьи обошли стороной.