Self-Consistency: выборка по принципу большинства повышает точность цепочки рассуждений
В выпуске LOG-009 мы рассматривали PAL, который передает арифметику интерпретатору Python, чтобы модели не приходилось вычислять самостоятельно. Self-consistency решает ортогональную проблему: что если модель рассуждает правильно в большинстве случаев, но не всегда? Ответ оказался статистическим, а не архитектурным — и поразительно эффективным.
Статья
Работа «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.