спекулятивное декодирование.

MTPLX против oMLX: одна модель, два сервера, разница в 3–6 раз

Вторая часть. Первая — «Локальный агент для кода на Mac: MTPLX + pi + Qwen3.8-27B».В первой части я посадил кодового агента pi на локальную Qwen3.8-27B через MTPLX и прогнал сложную задачу в разных режимах размышлений. Осталось сомнение, которое MTPLX сам не снимает: сколько тут даёт его многотокенное предсказание (multi-token prediction, MTP), а сколько сработало бы на любой MLX-обвязке?

продолжить чтение

Как Splash ускоряет локальные LLM на Mac

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

продолжить чтение

A-A на страже: как статистический тест находит различие, которого нет

В прошлой статье я разбирал спекулятивное декодирование — способ ускорить языковую модель. Метод обещает, что ускорение не изменит ответы: распределение текстов на выходе останется ровно таким же, как при обычной генерации. Гарантия следует из самого устройства метода, но её стоило проверить на практике.Первая попытка дала обратный результат: статистический тест уверенно сообщал, что распределения различаются. Ошибка сидела не в модели и не в ускорении, а в самом тесте. По одному выводу её было не разглядеть: числа выглядели нормально.

продолжить чтение

Выбор агентской модели для кластеров из 2× DGX Spark (сентябрь 2026)

В сентябре 2026 года на Hugging Face есть 3 модели, которые хочется поставить на пару DGX Spark под Claude Code: DeepSeek‑V4.1-Flash на 552B, GLM-5.3-Flash на 320B и Qwen3.8-Flash‑Next на 125B. Первая лучше всех в бенчмарках, но не помещается в 243 ГиБ даже в 4 битах. Вторая занимает 198 ГБ и грузится 15 минут. Третья влезает в один спарк — если не считать 2 ГБ, которых ей не хватает. Ниже — почему на этом кластере выбор делает арифметика памяти, а не таблица бенчмарков, почему 6 миллиардов активных параметров не дают 90 ток/с, и почему для Claude Code решающим оказывается не tok/s, а один флаг vLLM, который в самом быстром конфиге выключен.

продолжить чтение

Локальный агент для кода на Mac: MTPLX + pi + Qwen3.8–27B. Что реально ускоряет, а что нет

Я хотел, чтобы кодовый агент работал целиком на ноутбуке, без облака: локальная модель, локальный сервер, агент в терминале. Главная боль с самого начала — скорость. Агент постоянно перечитывает длинный контекст и много «думает», и на локальном железе это превращается в минуты ожидания на каждую задачу.

продолжить чтение

Спекулятивное декодирование: от чего на самом деле зависит ускорение

Языковая модель пишет ответ по одному токену за шаг, и на каждом шаге прочитывает все свои веса от начала до конца. Спекулятивное декодирование пытается это обойти: маленькая черновая модель набрасывает несколько токенов вперёд, причём сразу деревом вариантов, а большая проверяет всё это дерево за один свой проход и принимает ту ветку, которая совпала с её собственным выбором. Текст на выходе получается тот же самый, быстрее становится только его получение. Так устроен метод из статьи EAGLE-3 с NeurIPS 2025, и авторы приводят для него ускорение до 6.5 раза.

продолжить чтение

Нейронные сети нетрадиционного ускорения

Главным бутылочным горлышком инференса современных языковых моделей является пропускная способность памяти, ведь из-за использования авторегрессионной генерации ради получения всего одного токена модели вынуждены прогонять через видеопамять все гигабайты весов.Решением этой проблемы стало спекулятивное декодирование: лёгкая модель-черновик (drafter) быстро генерирует последовательность токенов, а большая целевая модель проверяет весь блок за один параллельный проход.

продолжить чтение

DeepSeek 0731 на DGX Spark: разгоняю до 68 tok-s и разбираюсь, почему у автора карточки 57

TL;DRЖелезо: 2× NVIDIA DGX Spark (GB10, SM121), 128 GB unified номинально и около 122 GiB видимых системе на ноду, QSFP 200G / RoCEv2, TP=2, драйвер 580.159.03.Основную часть расхождения объяснила смена runtime‑образа. Переход со сборки на базе vLLM 0.21.1 на образ с 0.25.2 дал около +22% на том же чекпоинте. Конкретный коммит или компонент я не изолировал: поменялся весь пакет.Механика неочевидная: новый образ снизил расчётную частоту verification‑шагов примерно на 17%, но поднял число выходных токенов за шаг с 3.27 до 4.80.Главная находка в конфиге: --moe-backend flashinfer_b12x не выбирается режимом auto

продолжить чтение