Categories: 工作・開発

GoogleのUSBアクセラレーターを独自ソフトで駆動、命令は4つのAIが解読

GoogleのAI処理用USBスティック「Coral USB Accelerator」を、Google純正のソフトウェアなしで動かすプロジェクト「tinycoral」を、ドイツのFrederik Rogalski氏がGitHubで公開した。チップの命令の解析、USBドライバー、チップ用のプログラムを作るコード生成器まで、すべてAIエージェントが書いた。人間は目標を決めて判断を下し、チップが止まるたびにスティックを抜き差ししたと同氏は記している。

Coral USB Acceleratorは、画像認識などのAI処理を速くするGoogleのチップ「Edge TPU」を載せた機器だ。通常はGoogleの変換ツールでモデルを専用の形式に直して使い、チップの命令は公開されていない。同氏は約60ドル(約9500円)のスティックをMacBookにつないで作業した。

解析では、USB経由でチップ内の制御用プロセッサーを1命令ずつ進め、その状態を読み取った。命令は4系統に分かれ、4つのAIエージェントが並行して解読した。自作のコード生成器が出力するプログラムは、Googleの変換ツールと同じ処理なら1バイト単位で一致することを確かめている。

この結果、機械学習フレームワーク「tinygrad」で書いたモデルをそのままスティックで動かせるようになった。小型の言語モデル「TinyStories-15M」の6層すべてを、1トークンにつき1回の呼び出しでチップ上だけで処理し、毎秒176.7トークンを出した。Googleの変換ツールは、このモデルを変換できなかったという。

一方で、スティックからパソコンへのUSB転送は毎秒約55MBと遅い。1件ずつ処理する使い方では、MacのCPU1コアと同程度の速度にとどまる。同氏は、GPUを持たない非力な機器のための選択肢と位置付ける。開発と計測には、macOSのパソコンと1台のスティックだけを使った。ライセンスはMITで、先行してこのチップを解析したgeohot氏の「edgetpuxray」を参考にしたと明記している。

関連情報

FabScene編集部

FabScene編集部