Appleシリコン上で動く Command A+(218B MoE)— MLX移植、PR公開

Reddit r/LocalLLaMA / 2026/5/24

📰 ニュースDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical UsageModels & Research

要点

  • CohereのCommand A+(218B総計/25Bアクティブ、128エキスパート、Apache 2.0)がmlx-lm向けにAppleシリコンへ移植され、レビュー用PRが公開されました。
  • 解説では、sigmoidベース(softmaxではない)のtop-8ルーティング正規化や、ルーテッド出力と共有出力を(routed + shared)/2で組み合わせる共有エキスパート設計など、重要なアーキテクチャ要点が示されています。
  • 移植では、3:1のスライディングウィンドウ手法とスライディング層のみにRoPEを適用する構成、さらに同一のLayerNormを共有する並列attn+MLPブロックといった注意点も扱われています。
  • 計量化に関する落とし穴として、W4A4チェックポイントのバイアスがNVFP4の計量化アーティファクトであり、BF16モデルはバイアスなしである点が説明され、sanitize()で両形式を処理する仕組みが紹介されています。
  • ローカル検証はメモリ制約(W4A4は約132GB必要でM3 Maxの128GBでは不可)により限定されましたが、より大きい環境で生成・ツール呼び出し・KVキャッシュ継続を使ったマルチターンが成功し、高いトークン/秒が報告されています。
Command A+(218B MoE)がAppleシリコンで動作 — MLX移植版、PR公開中

Cohereは20日にCommand A+を公開しました(合計218B / アクティブ25B、トップ8で128エキスパート、Apache 2.0)。これをApple Siliconで動かすために、mlx-lm向けにcohere2_moeの実装を書きました。

このモデルを掘り下げる人向けのアーキテクチャ注記:

- より大きな中間表現(16384 = 4096×4)を持つ単一共有エキスパートを用い、出力は(ルーティング+共有)/2 で合流する

- Sigmoidルーティング(softmaxではない)、正規化したtop-8

- スライディングウィンドウ3:1(3つのスライディング+1つのフル)、スライディング層のみにインタリーブされたRoPE

- 同一のLayerNormに対して、attn+MLPブロックを並列化

- 私に数回の試行錯誤を強いた“落とし穴”:W4A4チェックポイント内のバイアスはNVFP4量子化アーティファクトです。BF16モデルは完全にバイアスなし。sanitize()は両方のフォーマットを扱います。

ローカルでは検証できませんでした(W4A4は約132GB必要で、私のM3 Maxは128GB)。https://github.com/vlboschがより大きなマシンで実行しました:BF16→Q8への変換+クリーンな生成、ツール呼び出し、多ターンでKV-cacheの継続を使用。生成22.9 tok/s / プロンプト57.6 tok/s、ピーク241GB。

PRはml-explore/mlx-lmで公開中です(レビュー中)。フィードバックや修正案は大歓迎です。そして192GB以上の方でW4A4パスを直接テストしたい方がいれば、ぜひエラー出力を見たいです。
https://github.com/ml-explore/mlx-lm/pull/1294

https://preview.redd.it/wvwa6irg6y2h1.png?width=3006&format=png&auto=webp&s=52c0a56ff7bc6ea0dec7fd4e43e79d7525047c1c

提出者: /u/Remarkable_Jicama775
[リンク] [コメント]