Danny Weber
ある開発者がAppleのソフトウェア制限を回避し、M4のNeural Engineが推論以外にも使える可能性を示しました。
0X0SOJALSECという名で活動するセキュリティ研究者兼開発者が、Appleの制限を回避したと報告しました。通常、この制限により、M4チップ内のNeural EngineをAIモデルの本格的な訓練に使うことはできません。
Appleのニューラルエンジンは通常、すでに訓練済みのモデルや、端末上で動くローカルAI機能を高速化するためのものです。しかしこの開発者は、backpropagationを使ったtransformerモデルの訓練を含む、より複雑な用途にこのブロックを利用することに成功しました。
そのために、Model Intermediate Language (MIL)をベースにした独自のコンパイラ層が作られました。これにより、Core MLやMetalといった通常のAppleツールを迂回し、Neural Engineへ直接アクセスできます。実行中のデータはRAMに保持されるため、ストレージへの継続的な書き込みによる遅延を抑えられます。
開発者は訓練を復旧する仕組みも実装しました。プロセスがフリーズしたり中断されたりしても、システムは最後のチェックポイントから再開でき、すでに得られた進捗を失いません。
プロジェクトのソースコードはすでにGitHubで公開されています。作者によると、初期テストでは高い速度が確認され、M4チップ上でのtransformer系モデルの一部訓練ステップはミリ秒単位で完了しました。
Appleは、開発者がNeural Engineでニューラルネットワークを訓練する公式手段を提供しておらず、このブロックを主に推論アクセラレータとして位置付けています。しかし今回のリバースエンジニアリングは、チップのハードウェア的な潜在力が、同社の公開ツールから想像されるよりも広いことを示しています。
この方法が実用面でも有効だと確認されれば、MacやiPadは、小規模AIモデルをクラウドサービスに依存せずローカルで開発・テストするための、より魅力的なプラットフォームになるかもしれません。
今回の発見は、Appleハードウェアの中にどれほど多くの機能が隠れているのか、そしてそのうちいくつがチップそのものではなく、同社のソフトウェア制限によって使えないままになっているのかという問いを改めて投げかけています。
© T. Feodor