Multiplex Thinking: техника семплинга 3 токенов для LLM | +15% точности | AiManual
AiManual Logo Ai / Manual.
22 Янв 2026 Гайд

Multiplex Thinking: как семплинг 3 токенов вместо 1 повышает точность LLM на 15%

Прорывная техника от Microsoft Research: как семплинг 3 токенов вместо 1 повышает точность LLM на 15% в сложных задачах. Открытый код, практическое применение.

Когда один токен - это слишком мало

Представьте, что вы решаете сложную математическую задачу. Ваш мозг не генерирует одно решение - он рассматривает несколько вариантов одновременно. "Может, через производную? Или через интеграл? Или геометрически?" Вы параллельно оцениваете разные пути, а не идете слепо по одному.

Традиционные LLM работают иначе. Они семплют один токен за раз. Как слепой, идущий по тонкому канату. Один неверный шаг - и вся последовательность рушится в пропасть неверного ответа.

Исследователи из Microsoft Research и UPenn в 2025 году задались вопросом: а что если дать модели возможность смотреть на три шага вперед одновременно? Не в смысле длины контекста (это дорого), а в смысле параллельных путей рассуждения.

Multiplex Thinking - это техника, где модель семплит не один следующий токен, а K токенов параллельно, создавая несколько ветвей рассуждения. Затем выбирает наиболее перспективные пути для продолжения.

Почему обычный семплинг проваливается в сложных задачах

Возьмем олимпиадную задачу по математике. Типичная LLM (даже последние версии типа DeepSeek-R1-Distill-Qwen 2025 года) часто ошибается не потому, что не знает математику, а потому что выбрала неверную стратегию на раннем этапе.

Пример из реального теста:

  • Задача: "Докажите, что для любого натурального n число 7^n + 3n - 1 делится на 9"
  • Модель думает: "Использовать математическую индукцию" (правильно)
  • Но на втором шаге: "Базовый случай: n=1, 7+3-1=9, делится" (ок)
  • Третий шаг: "Предположим верно для n=k" (ок)
  • Четвертый шаг: "Докажем для n=k+1: 7^(k+1) + 3(k+1) - 1 = 7*7^k + 3k + 2" (тут уже проблема)

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

С Multiplex Thinking модель бы рассмотрела три варианта на четвертом шаге:

  1. "7*7^k + 3k + 2" (исходный, ошибочный)
  2. "7*7^k + 3k + 3 - 1" (перегруппировка, лучше)
  3. "7*(7^k + 3k - 1) - 18k + 9" (использование предположения индукции, идеально)

Третий путь ведет к успешному доказательству. Первый - к провалу.

Как работает Multiplex Thinking технически

Не путайте с цепочками рассуждений (Chain-of-Thought) или деревьями поиска. Это другой уровень.

💡
Multiplex Thinking - это модификация процесса инференса на уровне forward pass, а не постобработки. Меняется сам механизм генерации токенов.

1 Алгоритм K-путевого семплинга

Вместо стандартного:

next_token = sample(model_output[last_token])

Используется:

# Псевдокод упрощенный
top_k_tokens = get_top_k_candidates(model_output, k=3)
paths = []
for token in top_k_tokens:
    # Продолжаем каждую ветку на N шагов вперед
    continuation = continue_sequence(prefix + token, lookahead_steps=5)
    paths.append({
        'first_token': token,
        'continuation': continuation,
        'score': evaluate_path(continuation)
    })
best_path = select_best_path(paths)
next_token = best_path['first_token']

Ключевой момент: оценка пути (evaluate_path) использует ту же модель, но с быстрым lookahead. Это не полноценное выполнение, а эвристическая оценка "перспективности" ветки.

2 Метрика Pass@1024 вместо Pass@1

Традиционно LLM оценивают по Pass@1 - сгенерировал один ответ, проверили. Для сложных задач это неадекватно.

Multiplex Thinking использует Pass@1024 - если бы мы сгенерировали 1024 варианта, сколько бы были правильными? Техника семплинга K токенов приближает нас к этому идеалу без реальной генерации 1024 последовательностей.

Метод Точность на MATH Вычислительная стоимость Параметр K
Обычный семплинг 40.2% 1x 1
Multiplex Thinking 55.7% 1.8-2.5x 3
Полный поиск (идеал) ~65% 1000x+ 1024

Практическая реализация: что нужно менять в инференсе

Хорошие новости: не нужно переобучать модель. Плохие: нужно переписывать инференс-движок.

Для ускорения инференса LLM обычно используют кэширование KV-cache. Здесь все сложнее.

Главная проблема: KV-cache для K веток расходится после первого разного токена. Нужно либо хранить K разных кэшей (память xK), либо пересчитывать частично.

Исследователи предлагают hybrid approach:

  • Общий префикс (одинаковый для всех веток) - один KV-cache
  • Расходящиеся части - отдельные маленькие кэши или пересчет на лету
  • Lookahead evaluation делается с урезанным контекстом (только последние 10-20 токенов)

Вот почему масштабирование LLM с Multiplex Thinking требует больше памяти, но не обязательно больше вычислений.

Где это работает лучше всего (и где не работает)

Multiplex Thinking - не серебряная пуля. Это специализированный инструмент.

Идеальные сценарии:

  • Олимпиадные задачи по математике: рост точности с 41% до 58% в тестах 2025 года
  • Сложное программирование: алгоритмические задачи, где важен выбор структуры данных
  • Логические головоломки: задачи с несколькими путями рассуждения
  • Научные доказательства: где один неверный шаг ломает все решение

Бесполезные сценарии:

  • Чат-боты: "Привет, как дела?" - здесь не нужны параллельные пути
  • Классификация текста: один токен ответа, нечего семплить
  • Простой поиск информации: фактологический вопрос - один правильный ответ
  • Генерация креатива: в художественном тексте нет "неправильных" токенов

Интересно, что техника бесполезна для агентов, которые съедают все токены - там проблема в длине контекста, а не в качестве рассуждений.

Интеграция с существующими техниками

Multiplex Thinking не заменяет, а дополняет другие методы:

  1. + Chain-of-Thought: CoT генерирует рассуждения, Multiplex выбирает лучшие ветки в рамках CoT
  2. + Повтор промпта: сначала повтор для лучшего понимания, затем Multiplex для генерации
  3. + Tuneable Attention: настраиваемое внимание помогает оценивать перспективность веток
  4. + Борьба с Lost in the Middle: Multiplex особенно уязвим к потере информации в середине

Комбинированный подход дает синергию: +15% от Multiplex, +10-30% от других техник. Но не складывается арифметически - есть diminishing returns.

Ограничения и подводные камни

Первое, что спросит любой инженер: "А сколько это стоит?"

Вычислительная стоимость растет нелинейно:

  • K=3: в 1.8-2.5 раза медленнее
  • K=5: уже в 4-6 раз медленнее
  • K=10: практически неприменимо в реальном времени

Почему? Потому что lookahead evaluation требует дополнительных forward passes. И нет, батчинг не спасает полностью - ветки расходятся, их нельзя батчить.

Второй камень: проблемы с длинным контекстом. Если модель и так работает на пределе длины контекста, Multiplex Thinking может превысить лимит.

Третий: воспроизводимость. Случайный семплинг в каждой ветке делает вывод недетерминированным. Для продакшена это иногда критично.

Как внедрить в свой проект (практический гайд)

Если вы хотите попробовать Multiplex Thinking сегодня:

1 Используйте готовую реализацию

Исходный код от Microsoft Research на GitHub (ищите "multiplex-thinking-llm"). Поддерживает:

  • Hugging Face трансформеры
  • vLLM с модификациями
  • DeepSeek-R1-Distill-Qwen (оптимизировано)
  • Llama 4 Scout (частично)

2 Настройте параметры под вашу задачу

Не используйте K=3 везде. Начните с:

# Конфигурация для математических задач
config = {
    'k': 3,  # количество параллельных веток
    'lookahead_steps': 5,  # на сколько токенов вперед смотрим
    'evaluation_method': 'perplexity',  # как оцениваем ветки
    'prune_early': True,  # отсекаем явно плохие ветки раньше
    'beam_width': 2  # сколько веток сохраняем после каждого шага
}

Для программирования можно увеличить lookahead_steps до 10-15 (код имеет более длинные зависимости).

3 Протестируйте на вашем датасете

Не верьте общим цифрам. Ваша задача может быть другой.

Методика тестирования:

  1. Возьмите 100-200 примеров из вашей production-нагрузки
  2. Запустите с K=1 (базовый) и K=3
  3. Измерьте не только точность, но и latency, память
  4. Проверьте, нет ли проблем со слабым железом

Будущее Multiplex Thinking

Технология сырая, но перспективная. Что будет дальше?

Во-первых, аппаратная оптимизация. NVIDIA уже анонсировала в 2025 году специализированные инструкции для "multi-path inference" в своих новых чипах. PCIe 5 vs PCIe 4 становится критичным - нужно быстро пересылать разные KV-cache между GPU.

Во-вторых, гибридные подходы. Не весь контекст требует Multiplex. Только сложные части. Детекция "сложности" в реальном времени - отдельная интересная задача.

В-третьих, распределение между разным железом. Легкие ветки - на маленькие GPU, сложные - на большие.

Мой прогноз: к концу 2026 года Multiplex Thinking станет стандартной опцией в продвинутых инференс-движках. Но не заменит обычный семплинг, а дополнит его для специфических задач.

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

И помните: +15% точности - это много. Но платите вы за это увеличением latency в 2 раза. Всегда считайте ROI не только в точности, но и в долларах за инфраструктуру.