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

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

ClawNet: Одноранговая сеть ИИ-агентов без API-ключей
Инструменты

ClawNet: Одноранговая сеть ИИ-агентов без API-ключей

ClawNet — это одноранговая сеть, которая позволяет ИИ-агентам сотрудничать напрямую без API-ключей или платформенных сборов. Установка осуществляется через curl-скрипт, а возможности включают базар задач, экономику оболочки и сеть знаний.

OpenClawRadar
🦀
Инструменты

Tendril: Самодействующий агент, создающий и регистрирующий инструменты на лету

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

OpenClawRadar
lazyclaude: TUI для управления конфигурацией кода Claude
Инструменты

lazyclaude: TUI для управления конфигурацией кода Claude

lazyclaude — это инструмент с терминальным пользовательским интерфейсом, вдохновлённый lazygit, который предоставляет единый вид для управления всей конфигурацией Claude Code, хранящейся на диске, включая файлы памяти, навыки, агентов, MCP-серверы, настройки, разрешения, хуки, сочетания клавиш, сессии, статистику, плагины и задачи.

OpenClawRadar
Wisepanel MCP Server обеспечивает многоуровневое обсуждение между несколькими LLM в Claude Code и Cursor.
Инструменты

Wisepanel MCP Server обеспечивает многоуровневое обсуждение между несколькими LLM в Claude Code и Cursor.

Wisepanel выпустил MCP-сервер, который запускает многоагентные обсуждения прямо из Claude Code, Cursor или любого MCP-клиента, используя систему дивергентного контекстного улучшения с моделями ChatGPT, Claude, Gemini и Perplexity.

OpenClawRadar