Flash-MoE: Запуск модели Qwen с 397 миллиардами параметров на MacBook Pro с использованием чистого C/Metal

✍️ OpenClawRadar📅 Опубликовано: 22 марта 2026 г.🔗 Source
Flash-MoE: Запуск модели Qwen с 397 миллиардами параметров на MacBook Pro с использованием чистого C/Metal
Ad

Техническая реализация

Flash-MoE запускает Qwen3.5-397B-A17B — модель смеси экспертов с 397 миллиардами параметров и 60 трансформерными слоями: 45 GatedDeltaNet (линейное внимание) + 15 стандартных слоёв полного внимания. Каждый слой содержит 512 экспертов, с K=4 активированными на токен плюс один общий эксперт. Размер скрытого слоя — 4096.

Тесты производительности

  • 4-битные эксперты, ядро FMA: 4.36 токена/сек, отличное качество, полная поддержка вызова инструментов, 209 ГБ на диске (текущий лучший вариант)
  • 4-битные эксперты, базовый вариант: 3.90 токена/сек, отличное качество
  • 2-битные эксперты, доверие ОС: 5.74 токена/сек, хорошее качество, 120 ГБ на диске (нарушает JSON/вызов инструментов)
  • 2-битные, пиковая скорость на одном токене: 7.05 токена/сек, хорошее качество (не подходит для использования инструментов)

Примечание: 2-битное квантование выдаёт \name\ вместо "name" в выводе JSON, что делает вызов инструментов ненадёжным. 4-битная конфигурация используется для продакшена.

Требования к оборудованию

  • Устройство: MacBook Pro с Apple M3 Max
  • Чип: 16-ядерный CPU (12P + 4E), 40-ядерный GPU, 16-ядерный ANE
  • Память: 48 ГБ унифицированной (~400 ГБ/с пропускной способности)
  • SSD: 1 ТБ Apple Fabric, 17.5 ГБ/с последовательного чтения (измерено)
  • macOS: 26.2 (Darwin 25.2.0)
Ad

Ключевые технологии

Потоковая загрузка экспертов с SSD

Веса экспертов (209 ГБ при 4-битном квантовании) считываются с NVMe SSD по запросу через параллельные вызовы pread() с группами диспетчеризации GCD. Загружаются только K=4 активных эксперта на слой (~6.75 МБ каждый). Кэширование управляется кэшем страниц ОС без необходимости в пользовательском кэше (принцип "Доверяй ОС"), что естественным образом обеспечивает ~71% попаданий.

Оптимизированное ядро де-квантования с FMA

Внутренний цикл 4-битного де-квантованного матрично-векторного умножения перестраивает вычисления с (ниббл * масштаб + смещение) * x на fma(ниббл, масштаб*x, смещение*x). Предварительный расчёт масштаб*x и смещение*x позволяет блоку FMA GPU выполнить де-квантование+умножение за одну инструкцию, что даёт на 12% более высокую производительность по сравнению с наивной формулировкой.

Metal Compute-шейдеры

Написанные вручную Metal-ядра включают:

  • 4-битное и 2-битное де-квантованное матрично-векторное умножение (тайловое, с SIMD-редукцией, общим кэшем входных данных, оптимизированное под FMA)
  • Объединённую активацию SwiGLU
  • RMS-нормализацию (двухпроходная: редукция суммы квадратов + применение)
  • Пакетное GPU-внимание (Q@K^T, softmax, scores@V) для слоёв полного внимания
  • GPU RoPE (объединённое с деинтерливингом Q и нормализацией K)
  • Объединение MoE + остаточная связь + сигмоидный гейт (объединённое ядро)

Отложенные вычисления экспертов на GPU

CMD3 (прямой проход эксперта) отправляется без ожидания. GPU выполняет его, пока CPU подготавливает следующий слой. Объединение + остаточная связь + нормализация также выполняются на GPU, передавая данные напрямую в проекции внимания следующего слоя.

Accelerate BLAS для линейного внимания

Рекуррентность GatedDeltaNet использует cblas_sscal, cblas_sgemv и cblas_sger для обновления матрицы состояния 64-голов × 128×128, что обеспечивает на 64% более высокую производительность по сравнению со скалярным кодом.

Производительность конвейера

Среднее время на слой при 4-битном квантовании: 4.28 мс

  • CMD3(предыдущий) → CMD1: проекции внимания + delta-net [1.22 мс GPU]
  • CPU: сброс результатов [0.01 мс CPU]
  • CMD2: o_proj + нормализация + маршрутизация + общий [0.55 мс GPU]
  • CPU: softmax + topK маршрутизация [0.003 мс]
  • Ввод-вывод: параллельные pread K=4 экспертов [2.41 мс SSD]
  • CMD3: прямой проход эксперта + объединение + нормализация [0.04 мс кодирование, ОТЛОЖЕНО]

Архитектурные ограничения

На Apple Silicon DMA SSD и вычисления на GPU используют один и тот же контроллер памяти и не могут эффективно перекрываться. Де-квантующие ядра GPU насыщают пропускную способность на уровне ~418 ГиБ/с. Даже небольшой фоновый DMA SSD вызывает непропорциональные скачки задержки GPU из-за арбитража контроллера памяти, что требует последовательного конвейера.

📖 Read the full source: HN AI Agents

Ad

👀 Смотрите также

Навыки Claude: 12 строгих наборов правил кодирования для TypeScript, Rust, Swift, Go, JS, Postgres и аудитов
Инструменты

Навыки Claude: 12 строгих наборов правил кодирования для TypeScript, Rust, Swift, Go, JS, Postgres и аудитов

12 файлов Markdown с авторитетными правилами, учитывающими версии, для TS, Rust, Swift, Go, JS, Postgres, безопасности, производительности, тестирования, проверки кода, стандартов GitHub и git-коммитов. MIT, бесплатно, без регистрации.

OpenClawRadar
Пленг: Самостоятельно размещаемая облачная платформа с управлением инфраструктурой на основе искусственного интеллекта
Инструменты

Пленг: Самостоятельно размещаемая облачная платформа с управлением инфраструктурой на основе искусственного интеллекта

Pleng — это платформа для самостоятельного размещения в облаке с открытой лицензией AGPL-3.0, которая использует ИИ-агента (в настоящее время Claude) для управления инфраструктурой через команды бота в Telegram. Она развертывается из репозиториев GitHub или локальных директорий с автоматической маршрутизацией Traefik, SSL-сертификатами Let's Encrypt и базовой аналитикой.

OpenClawRadar
Красная королева: Детерминированный оркестратор, запускающий Claude Code в качестве пула работников
Инструменты

Красная королева: Детерминированный оркестратор, запускающий Claude Code в качестве пула работников

Red Queen использует конечный автомат для оркестрации подпроцессов Claude Code, устраняя ошибки маршрутизации LLM и потерю токенов из-за мега-промптов.

OpenClawRadar
SWE-rebench-V2 выпущен: Крупнейший открытый мультиязычный набор данных для обучения кодовых агентов
Инструменты

SWE-rebench-V2 выпущен: Крупнейший открытый мультиязычный набор данных для обучения кодовых агентов

Nebius выпустил SWE-rebench-V2, в настоящее время самый большой открытый набор данных для обучения кодирующих агентов, с автоматизированным конвейером для извлечения RL-сред в масштабе и специально разработанный для крупномасштабного обучения с подкреплением.

OpenClawRadar