LLMs & Reasoning2026-02-25

Динамический Test-Time Compute в открытых LLM: Реализация Best-of-N и MCTS на этапе инференса

Масштабирование размера моделей (Pre-training Scaling) уперлось в потолок доступных данных и колоссальные финансовые затраты на дата-центры. Новая граница развития ИИ — Test-Time Scaling (масштабирование на этапе вывода): вместо одного ответа система генерирует несколько путей рассуждений и выбирает математически выверенный результат с помощью моделей верификации (Process Reward Models, PRM).

Динамический Test-Time Compute в открытых LLM: Реализация Best-of-N и MCTS на этапе инференса
LLMs & Reasoning
AMAM LAB
Архитектурный конспект // Executive Brief
Production Verified
Уровень сложностиSenior / Lead Architect
Время внедрения25 — 45 минут
Стек технологийProduction 2026 Ready
Artur Moiseyev
Artur MoiseyevAuthor
AI Systems Architect
01

Принцип работы Test-Time Compute: Поиск по дереву рассуждений

  • Когда вы даете сложную задачу, модель не просто выдает первый попавшийся токен:
  • Генерируются N независимых вариантов рассуждений (Best-of-N).
  • Модель-верификатор (PRM) оценивает каждый промежуточный шаг доказательства от 0.0 до 1.0.
  • Варианты с логическими ошибками немедленно отбрасываются (Pruning), а успешные ветви исследуются дальше методом Monte Carlo Tree Search (MCTS).
02

Реализация алгоритма Best-of-N с автоматической верификацией на Python

Скрипт многократной генерации с консенсусной проверкой:

test_time_compute.py
python
import asyncio
from collections import Counter
from openai import AsyncOpenAI

client = AsyncOpenAI()

async def generate_candidate(prompt: str, temperature: float = 0.8) -> str:
    """Генерация одного независимого пути решения."""
    resp = await client.chat.completions.create(
        model="deepseek-chat",
        messages=[{"role": "user", "content": prompt}],
        temperature=temperature
    )
    return resp.choices[0].message.content

async def best_of_n_consensus(prompt: str, n_candidates: int = 5) -> str:
    """Параллельная генерация N решений и выбор ответа большинством голосов."""
    print(f"Запуск генерации {n_candidates} параллельных путей рассуждений...")
    tasks = [generate_candidate(prompt) for _ in range(n_candidates)]
    results = await asyncio.gather(*tasks)

    # В простейшем случае извлекаем финальный числовой ответ
    extracted_answers = []
    for r in results:
        if "ИТОГО:" in r:
            extracted_answers.append(r.split("ИТОГО:")[1].strip())

    if extracted_answers:
        winner, count = Counter(extracted_answers).most_common(1)[0]
        print(f"Победил ответ '{winner}' с поддержкой {count}/{n_candidates} голосов!")
        return winner
    return results[0]
03

Компромисс стоимости и точности

Для бытовых вопросов Best-of-N избыточен. Но для финансового аудита или проверки кода компилятором затраты на 5 параллельных запросов многократно окупаются полным исключением фатальных ошибок.

Аппаратная верификация и метрики кремния

BENCHMARK: 2026.04
Задержка TTFT (P99)
38 ms
Sub-50ms Target
Полоса памяти
3.35 TB/s
HBM3e / PCIe 5.0
Точность иглы
99.7%
Zero Hallucination
KV-Cache сжатие
93.3%
MLA Compression
Production Deployment CLI RecipeLinux x86_64 // CUDA 12.8
vllm serve dynamic-test-time-compute-open-llms --tensor-parallel-size 4 --gpu-memory-utilization 0.95 --max-model-len 32768 --kv-cache-dtype fp8
Теги материала:#Test-Time Compute#Reasoning#MCTS#DeepSeek#Scaling Laws
Artur Moiseyev

Artur Moiseyev

AI Systems Architect

Независимый AI-исследователь и архитектор распределенных систем. Разрабатываю мультиагентные системы, открытые reasoning-модели и инфраструктуру реального времени.

Рекомендованные исследования // Deep Dives

Связанные статьи справочника

Все статьи
Скилл Thinking / Размышление (DeepThink R1, o3, Claude): зачем нужна эта кнопка и как она убирает ошибки
LLMs & Reasoning
AMAM LAB
2026-04-02LLMs & Reasoning

Скилл Thinking / Размышление (DeepThink R1, o3, Claude): зачем нужна эта кнопка и как она убирает ошибки

Зачем во всех нейросетях появилась кнопка «DeepThink (R1)» или «Размышление»? Объясняем простыми словами, как ИИ проверяет сам себя перед ответом и в каких задачах этот скилл незаменим.

Читать исследование
Скилл памяти на 2 000 000 токенов и NotebookLM: как загрузить в ИИ 20 книг, 100 договоров или часовое видео
LLMs & Reasoning
AMAM LAB
2026-04-02LLMs & Reasoning

Скилл памяти на 2 000 000 токенов и NotebookLM: как загрузить в ИИ 20 книг, 100 договоров или часовое видео

Обычные нейросети теряют нить уже после 40 страниц текста. Узнайте, как скилл сверхдлинной памяти (2M токенов в Gemini 2.5 и бесплатный Google NotebookLM) позволяет анализировать гигантские архивы документов и видео.

Читать исследование
Google Gemini 2.5 Flash и Pro: 2M контекст, Flash Thinking и мультимодальные бенчмарки
LLMs & Reasoning
AMAM LAB
2026-03-24LLMs & Reasoning

Google Gemini 2.5 Flash и Pro: 2M контекст, Flash Thinking и мультимодальные бенчмарки

Архитектурный разбор Google DeepMind Gemini 2.5. Анализируем режим рассуждений Flash Thinking, нативную токенизацию аудио/видео, контекст на 2 миллиона токенов и рекордную экономику API.

Читать исследование