機械学習推論ライブラリggmlの開発リポジトリに、ET(ExecuTorch向けと推定される)バックエンドの初期実装がマージされた。この変更は、特定の組み込みデバイスやアクセラレータ上で大規模言語モデルを直接動作させるための布石と見られ、クラウドに依存しないローカルAIの実装手段が一つ増えることを意味する。

ggmlがETバックエンドの初期カーネル群を取り込み

今回マージされたプルリクエストでは、MUL_MAT(行列積)やRMS_NORM、ROPE(位置エンコーディング)、FlashAttentionなど、大規模言語モデルの推論に不可欠な演算カーネルがETバックエンド向けに実装された。特に、FP32×FP32の行列積におけるTensorFMA命令の活用や、Q4_0、Q8_0などの量子化データ型への対応が初期段階から含まれている点が特徴だ。また、カーネルを実行時にコンパイルするのではなく、ビルド時にggmlの一部として組み込む設計が採用されており、動作環境の複雑さを低減する狙いが読み取れる。

デバッグ環境から実デバイスまで:二面性のある実行戦略

ETバックエンドの開発方針には、実チップ上での高速実行と、開発のしやすさを両立する工夫が見られる。デフォルトでは演算が非同期で実行され性能を最大化する一方、コンパイルフラグ「GGML_ET_SYSEMU」を有効にすることで、ET-SoCのエミュレータ上での動作確認もサポートする。さらに、カーネルの起動失敗を検知するエラー検出機構や、プロファイリングのためのカーネル名とIDのマッピング保存といった、実用化を見据えた仕組みが組み込まれている。

Qwen3-0.6Bの完全オフロードが示す小型モデル推論の現実解

開発段階のテストでは、6億パラメータのQwen3-0.6Bモデルをfp16のFlashAttention有効状態で完全オフロードし、動作させることが確認されている。メモリ制限を考慮したアロケーション調整や、一部演算のオフロード禁止といった実運用上の知見も蓄積されつつある。この事例は、ETバックエンドが現状、数十億パラメータ級のモデルまでは単一チップ上で処理できる可能性を示しており、特定用途向けの小型LLMをエッジデバイスに組み込むユースケースに直結する。

核融合から並列化まで:演算カーネル最適化の多層構造

ETバックエンドの実装では、単なる演算の移植を超えた多角的な最適化が試みられている。RMS_NORMとMUL演算を融合するカーネルフュージョン、softmaxを行単位で並列化する手法、キャッシュラインを考慮した演算の並列化、そしてデバイスメモリの高速なゼロクリアなど、性能を引き出すためのレイヤーが重ねられている。GeGLUやSCALE演算のサポート追加により、Gemma系モデルへの対応も意識されており、汎用性を高めながらチップ固有の能力を活用する設計姿勢がうかがえる。