人工知能技術の急速な発展に伴い、様々なハードウェア上で効率的なモデル推論を実現することが、開発者にとって重要な課題となっています。最近、開発者のAndrei David氏は、約20年前のXbox 360ゲーム機から着想を得て、Meta AIのLlama LLMシリーズの軽量モデルであるllama2.cをこの古いゲーム機に移植することに成功しました。

David氏は、自身のこの成果をX(旧Twitter)で共有し、非常に大きな課題に直面したと述べています。Xbox 360のPowerPC CPUはビッグエンディアンアーキテクチャを採用しているため、モデルの設定と重みの読み込み時に大量のエンディアン変換を行う必要がありました。さらに、David氏は、この古いハードウェア上で円滑に動作するように、元のコードを大幅に調整および最適化する必要がありました。

image.png

メモリ管理も彼が解決しなければならない大きな課題でした。llama2モデルのサイズは60MBに達しますが、Xbox 360のメモリアーキテクチャは統一メモリであるため、CPUとGPUが同じメモリを共有する必要があります。そのため、David氏はメモリ使用量を慎重に設計する必要がありました。彼は、Xbox 360のメモリは制限されていたものの、当時のアーキテクチャは非常に先見性があり、現代のゲーム機やAPUの標準的なメモリ管理技術を予見していたと考えています。

何度もコードを書き直し、最適化した結果、David氏はついにXbox 360上でllama2モデルの動作に成功しました。シンプルなプロンプト「眠れるジョーは言った」だけで動作します。特筆すべきは、llama2モデルはわずか700行のCコードで、外部依存ライブラリがないため、特定分野のカスタマイズ下では驚くべき性能を発揮できることです。

他の開発者にとって、David氏の成功は新たな方向性を示唆しています。ユーザーからは、Xbox 360の512MBメモリで、Hugging Face社が開発したsmolLMなどの小型LLMの実装も可能ではないかという意見が出ています。David氏はこれを受け入れ、今後、Xbox 360上でのLLMに関する実験結果がさらに出てくる可能性があります。