Урок 23Новое

Масштабирование вычислений на инференсе

Дай модели думать дольше вместо того, чтобы делать её больше

Проблема: Ваша модель ошибается на сложной задаче по математике или коду с первой попытки. Очевидное решение — обучить модель побольше — медленно и дорого, а эти веса вы уже выкатили. Но правильный ответ часто уже есть в модели: ей просто нужно больше попыток и способ отличить хорошую попытку от плохих. Как извлечь лучшие ответы из тех же весов?

Решение: Test-Time Compute — думай дольше, а не больше

Есть два способа сделать модель лучше на сложном вопросе. Первый — сделать модель больше: больше параметров, больше обучения. Второй — дать ей думать дольше на инференсе: тратить больше вычислений на запрос, не меняя веса. Вместо того чтобы зафиксировать первый ответ, модель сэмплирует много путей рассуждения, опционально ищет по шагам и самопроверяется, а затем агрегирует кандидатов через голосование большинства (self-consistency) или выбирая лучшего, одобренного верификатором (best-of-N). Точность растёт с бюджетом мышления, но с убывающей отдачей — кривая в итоге выходит на плато. Это inference-time scaling — ось, стоящая за reasoning-моделями 2025-2026 годов вроде o1, o3 и DeepSeek-R1.

Представьте это как экзамен, где можно либо быть гением с бóльшим мозгом, либо просто получить больше времени и черновик — для сложных задач больше времени и возможность проверить себя часто бьют чистый талант:

  • 1. Сгенерируй несколько путей рассуждения: Сэмплируй один и тот же вопрос N раз с ненулевой temperature, чтобы каждый прогон исследовал свою цепочку рассуждений. Это параллельное масштабирование — N независимых попыток одной задачи
  • 2. Оцени или проверь каждый путь: Для best-of-N запусти верификатор или reward-модель (или юнит-тесты для кода), чтобы оценить каждого кандидата. Для self-consistency просто извлеки финальный ответ из каждого пути — верификатор не нужен
  • 3. Агрегируй кандидатов: Голосуй большинством по извлечённым ответам (self-consistency) или выбери единственного лучшего, одобренного верификатором (best-of-N). Агрегация — это там, где разрозненные ошибки взаимно гасятся и побеждает консенсусный ответ
  • 4. Для сложных задач — ищи глубже: Когда задача настолько сложна, что простое сэмплирование не справляется, переключись на последовательное масштабирование: beam- или tree-поиск по шагам рассуждения, разворачивая перспективные ветви с бóльшим бюджетом. Останавливайся, когда кривая точности выходит на плато — вычисления сверх этой точки тратятся впустую

Best-of-N требует верификатора или reward-модели для оценки кандидатов; self-consistency не требует ничего и просто берёт ответ большинства. Оба стоят примерно в N раз больше вычислений, чем один ответ — выделяй этот бюджет на запросы, которым он действительно нужен.

Где test-time compute силён

  • Математика и код под планкой качества: Олимпиадная математика, проектирование алгоритмов и код с юнит-тестами имеют проверяемые ответы. Сэмплируй N решений, запусти верификатор или тесты и оставь то, что прошло — точность растёт без изменения весов
  • Агентное планирование с верификацией: Агент может набросать несколько планов, симулировать или критиковать каждый и выполнить тот, что прошёл проверку. Дополнительные вычисления на инференсе покупают надёжность на многошаговых задачах, где единственный жадный план часто проваливается
  • Сложные задачи на рассуждение: Для по-настоящему сложных задач один проход редко попадает в верную цепочку рассуждений. Сэмплирование многих путей и голосование большинства (self-consistency) восстанавливает правильный ответ, когда хорошие пути совпадают, а ошибки разрозненны
  • Качество под контролем бюджета: Вычисления на инференсе — это регулятор, а не фиксированная стоимость. Трать дополнительные сэмплы и поиск только на запросы, которым это нужно — лёгкие вопросы получают одну попытку, сложные — больший бюджет мышления — удерживая средние затраты низкими

Интересный факт: Исследования compute-optimal обнаружили, что для многих задач малая модель с бóльшими вычислениями на инференсе может сравняться с моделью в 10+ раз крупнее, отвечающей один раз, или обойти её — при меньшей суммарной стоимости. Нюанс: это работает лучше всего, когда у задачи есть проверяемый ответ, чтобы верификатор или голосование большинства надёжно выбрали победителя среди сэмплов.

Попробуйте сами!

Попробуй интерактивный регулятор бюджета мышления ниже: потяни его, чтобы увидеть, как кривая точности растёт, а затем выходит на плато, посмотри, как N сэмплов проходят через верификатор и голосование, и сравни малую модель с бóльшими вычислениями против крупной модели, отвечающей один раз.

Бюджет мышления: больше вычислений — выше точность

Потяни бюджет мышления. Точность растёт по мере сэмплирования путей рассуждения — затем выходит на плато (убывающая отдача).

Бюджет мышления (N сэмплов)N = 1
Одна попыткаГлубокий поиск

Точность

57%

Относительная стоимость

1×

Предельный прирост

+0.0%

Ещё растёт — больший бюджет мышления покупает реальную точность. Это продуктивная часть кривой.

Частые вопросы

Что такое масштабирование вычислений на инференсе (test-time compute scaling)?

Test-time (inference-time) compute scaling — это трата большего количества вычислений на запрос на инференсе вместо обучения модели с бóльшим числом параметров. Вместо одного ответа модель сэмплирует много кандидатных путей рассуждения, ищет по шагам и самопроверяется, а затем агрегирует результаты в лучший финальный ответ. Веса модели не меняются — вы просто даёте ей больший «бюджет мышления» на вопрос. Это та самая ось, что стоит за reasoning-моделями 2025-2026 годов вроде OpenAI o1/o3 и DeepSeek-R1, точность которых продолжает расти по мере увеличения вычислений на инференсе.

В чём разница между best-of-N и self-consistency?

Оба генерируют N кандидатных ответов, но выбирают по-разному. Best-of-N использует отдельный scorer или верификатор (reward-модель или проверяющий), оценивает каждого кандидата и берёт единственного с наивысшей оценкой — полезно, когда есть надёжный верификатор. Self-consistency обходится без верификатора: сэмплирует N независимых цепочек рассуждений (chain-of-thought), извлекает финальный ответ из каждой и берёт ответ большинства (majority vote). Self-consistency хорошо работает, когда правильные пути рассуждения сходятся на одном ответе, а ошибки разрозненны, так что верный ответ выигрывает голосование. Best-of-N может обойти его при сильном верификаторе; self-consistency проще и не требует дополнительной модели.

Когда малая модель с бóльшими вычислениями обходит крупную?

Исследования compute-optimal allocation показывают, что для многих сложных, но проверяемых задач малая модель с бóльшими вычислениями на инференсе (больше сэмплов плюс поиск и верификация) может сравняться с крупной моделью, отвечающей один раз, или обойти её — при меньшей суммарной стоимости. Лучше всего это работает, когда у задачи есть проверяемый ответ (математика, код, логика), так что верификатор или majority vote надёжно выбирают победителя, и когда точность малой модели с одной попытки достаточна, чтобы часть из N сэмплов попала в правильный ответ. Для очень сложных задач, где малая модель почти никогда не находит верный путь, лучше масштабировать саму модель. Практическое правило: трать дополнительные вычисления на инференсе только на те запросы, которым это нужно, и ограничивай их, как только кривая точности выходит на плато.

Попробуй сам

Интерактивное демо этой техники

Сравнение техник
Демо режим
Предзаписанные ответы
ЗадачаСреднийМатематика

Решить каверзную задачу, где один жадный ответ часто ошибается

Без техники
Без техники
Промпт
Реши: в комнате 23 человека. Какова вероятность, что хотя бы у двоих совпадает день рождения? Дай ответ.
Ответ

Вероятность примерно 23/365 ≈ 6.3%. Поскольку людей 23, а дней в году 365, шанс совпадения невелик.

Токены:38/34
Время:380ms
Качество:
С fundamentals-test-time-compute
С техникой
Промпт
Реши задачу о парадоксе дней рождения для 23 человек, используя test-time compute: сгенерируй 5 независимых цепочек рассуждений, извлеки финальный ответ из каждой и возьми ответ большинства (self-consistency). Покажи разброс.
Ответ

5 путей рассуждения:

  • Путь 1: P = 1 − 365!/(342!·365²³) ≈ 50.7%
  • Путь 2: считает через дополнение, 1 − ∏(1 − k/365) ≈ 50.7%
  • Путь 3: ошибочно берёт 23/365 ≈ 6.3% (наивно)
  • Путь 4: 1 − (364/365)^(23·22/2) ≈ 50.0%
  • Путь 5: точный расчёт ≈ 50.7%

Голосование большинства: 4 из 5 путей сходятся к ~50.7%. Разрозненная ошибка (6.3%) проигрывает.

Ответ: ≈ 50.7% — вероятность совпадения дня рождения превышает 50% уже при 23 людях, потому что считаются ВСЕ пары (253 пары), а не сравнение с одним человеком.

👁️Один жадный ответ попал в классическую ловушку: сравнил 23 с 365 и выдал 6.3%
🧠Сэмплируем 5 независимых путей — 4 из них приходят к ~50.7%, наивная ошибка разрозненна
Голосование большинства выбирает консенсусный ответ 50.7%, отбрасывая выброс
Токены:58/196
Время:2100ms
Качество:
Почему это работает

Test-time compute не меняет веса — он сэмплирует несколько путей и голосует. Правильный ответ выигрывает, потому что верные цепочки совпадают, а одна наивная ошибка разрозненна и проигрывает.

1 / 2

Квиз по уроку

1 из 4

1.Что означает «масштабирование вычислений на инференсе» (test-time compute scaling)?

Практика

Создайте бесплатный аккаунт для решения челленджей

3 челленджей с AI-проверкой для этого урока

Связанные уроки:Reasoning ModelsInferenceSelf Consistency

Этот урок — часть структурированного курса по LLM.

Мой путь обучения