Apple Neural Engine をリバースエンジニアリングしてMicrogptを訓練

なぜApple Neural Engineなのか？

AppleのM4チップのNeural Engine(ANE)は38 TFLOPSの推定INT8演算能力を持つ（実際はFP16プロセッサなので約半分）。しかしAppleはANEへの直接アクセスのための公開APIを提供していない。CoreMLが公式の推奨方法だが、これはANEを直接活用するというよりは抽象化したものだ。

Mac Mini M4を購入し、そのNPUのコンピューティングパワーを直接活用したいと思った開発者は、Claudeを使ってANEの非公開APIをリバースエンジニアリングすることにした。このプロジェクトはr/LocalLLaMAで457ポイントを獲得した。

リバースエンジニアリングのプロセス

Claudeをエンジニアリングパートナーとして使い、開発者はAppleの非公開ANE APIを分析し、CoreMLを迂回してハードウェアに直接アクセスする方法を見つけた。そしてカスタムの訓練パイプラインを構築し、110Mパラメータ版Microgptモデルを完全にANE上で訓練することに成功した。

結果と限界

成功：単一M4 ANE上で110M Microgptモデルの訓練完了

限界：単一チップでは大きなモデルの訓練には実用的でない

将来の可能性：ANE搭載Apple Siliconデバイスのクラスターでより大きなモデルの訓練が理論上可能。単一デバイスでも3B/7BモデルのLoRAファインチューニングは可能

NPU訓練の意義

NPUは行列演算においてGPUよりも電力効率が圧倒的に優れている。このプロジェクトは、高価なNVIDIAハードウェアなしにMacBookやMac MiniのNPUを使ってモデルを訓練するという民主化への道を示す。また、システムレベルの作業においてClaudeがリバースエンジニアリングアシスタントとして有用であることも示した。