Автоисследование позволяет достичь скорости 20.34 токен/с на Qwen3.5-397B на M5 Max с использованием потоковой передачи с SSD.

Аппаратная конфигурация и модель
Эксперимент проводился на MacBook Pro M5 Max с 128 ГБ унифицированной памяти и 40-ядерным GPU. Использовалась модель Qwen3.5-397B-A17B с экспертами Q3-GGUF (смешанная точность Unsloth IQ3_XXS/IQ4_XS), эмбеддингом Q8_0 и LM-головой Q6_K. Модель занимает 209 ГБ на диске — в 4 раза больше доступной оперативной памяти — что требует потоковой передачи всех данных с SSD.
Результаты производительности
Скорость декодирования достигла 20,34 токенов/сек при предзаполнении 5,52 токенов/сек. Это представляет собой улучшение в 2 раза по сравнению с исходной точкой M5 Max в 10,61 токенов/сек и улучшение в 4,67 раза по сравнению с исходным базовым показателем Дэна Вудса в 4,36 токенов/сек на аппаратном обеспечении M3 Max.
Методология
Исследователь использовал методологию цикла автоисследований из проекта flash-moe Дэна Вудса, запуская его с помощью Claude Code (Anthropic) для систематического выполнения и оценки 36 экспериментов. Каждый эксперимент регистрировался с результатами перед продолжением, с автоматическим контролем качества через пороги перплексии для выявления регрессий. Коллаборация человека и ИИ включала руководство исследователя и принятие научных решений, в то время как Claude Code реализовывал и тестировал производительность по указанию.
Техническая основа
Работа основана на оригинальной статье flash-moe Дэна Вудса и форке Anemll, который представляет собой чистый движок вывода на C/Metal для запуска Qwen3.5-397B через потоковую передачу с SSD на Apple Silicon. Форк Anemll добавил поддержку экспертов Q3-GGUF, что было важно для этих результатов, а исследователь добавил дополнительные оптимизации на уровне Metal.
Эффективные оптимизации
- 16 потоков ввода-вывода + cache-io-split=4: Вместо чтения каждого файла весов экспертов как одного последовательного блока, разделение на 4 параллельных выровненных по страницам чтения, обращающихся к разным каналам SSD одновременно. +1,5 токенов/сек
- Временное предсказание экспертов: Обнаружена 27% корреляция маршрутизации между токенами, перекрытие чтения с SSD с вычислениями на GPU. +4,3 токенов/сек
- Эксперты Q3-GGUF (Unsloth IQ3_XXS/IQ4_XS): Меньший объем данных с Q3 как оптимальным вариантом. Лучшая перплексия, чем у 4-битного квантования (5,58 против 5,62), при этом на 23% меньше. +2,3 токенов/сек
- CMD2 предварительное кодирование: Устранение задержки в 30 мкс на каждый слой при отправке. +0,44 токенов/сек
- Объединенное ядро проекции Q/K/V: Чтение входного вектора один раз вместо трех (оптимизация Metal GPU). +0,76 токенов/сек
- Расширение CMD2 предварительного кодирования на все слои полного внимания: +0,47 токенов/сек
Примечание: Прирост не является полностью аддитивным, поскольку некоторые оптимизации взаимодействуют друг с другом.
Неудачные подходы
Исследование имело уровень отбраковки 78%. Неудачные подходы включали: 1-битное квантование QJL (перплексия 5647, катастрофическая), троичное 2-битное с 84% разреженностью весов (модель разрушилась), маршрутизацию экспертов K=3 (качество разрушилось), межслойное предсказание (0% точности), выгрузку NAX (накладные расходы на заполнение плиток свели на нет прирост), и 2-битных экспертов MLX (быстрее изолированно, но хуже перплексия и отсутствие преимущества в скорости после применения временного предсказания к Q3).
Ограничения и будущая работа
Исследование ограничено одной аппаратной платформой, поэтому результаты могут не обобщаться. Квантование Q3 в таком масштабе заметно ухудшается при генерации длинных текстов, создавая артефакты в длинных ответах, несмотря на приемлемое качество для коротких задач. Качество оценивалось только через перплексию, а не стандартизированные тесты, такие как MMLU или GPQA. Это исследовательский проект по скорости, а не заявление о производственном качестве.
Один удивительный вывод: Apple Neural Engine (ANE) был полностью неактивен во время вывода, потребляя 0 Вт, несмотря на предложение 38 TOPS вычислений. Проблема в том, что вывод MoE требует динамического решения, каких экспертов активировать, в то время как ANE работает только со статическими предварительно скомпилированными графами. Возможность может быть в пакетном предзаполнении.
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также

RTX 5000 PRO 48GB обеспечивает кэширование точности 4400 ток/с для Qwen3.6-27B
Сборщик ПК-новичок сообщает о скорости обработки промптов 4400 ток/с и генерации 80 ток/с с Qwen3.6-27B-FP8 и полным KV-кэшем на одном RTX 5000 Pro 48GB, используя vLLM и Claude Code.

ИИ-подсчет углеводов провалил воспроизводимость: 27 тысяч запросов показали разброс в 429 г на одном фото
Исследование 26 904 AI-запросов к 4 моделям показало, что Gemini 2.5 Pro варьирует оценку углеводов для одного фото паэльи от 55 г до 484 г — потенциальное колебание инсулина на 42,9 ЕД. У Claude медианное отклонение составило всего 2,4%.

Claude Code v2.1.145: Список агентов JSON, исправления OTEL-спанов, исправление безопасности и другое
Claude Code v2.1.145 добавляет `claude agents --json` для скриптования, исправляет обход запроса разрешений, улучшает OTEL-спаны и многое другое.

Qwen3.6 27B FP8 выполняет 200k токенов BF16 KV Cache со скоростью 80 TPS на RTX 5000 PRO 48GB
Пользователь Reddit делится настройкой vLLM для Qwen3.6 27B FP8 с BF16 KV-кэшем на 200k токенов, достигая 60–90 TPS на одной карте RTX 5000 PRO 48GB. Приведены полные переменные окружения, конфигурация и результаты тестов.