オープンソースのFPGAアクセラレータ、完全なツールチェーンで最新LLMを実行
openTPUプロジェクトは、単一のリポジトリで完全なAIアクセラレータ設計を公開しました。Kintex-7 FPGAカード上でQwen3やLFM2.5などのモデルを実行し、ビット単位でのシミュレーション精度を実現しています。
英語の原文から自動翻訳されました。
GitHubユーザーFeSens氏は、ハードウェア記述、命令セットアーキテクチャ、シミュレータ、コンパイラ、プロファイラを含むオープンソースのAIアクセラレータ「openTPU」をリリースしました。2026年10月6日に公開されたこのプロジェクトは、完全に透明なソフトウェアおよびハードウェアスタックを用いて、最新の大型言語モデル(LLM)がフィールドプログラマブルゲートアレイ(FPGA)上で効率的に動作することを実証しています。
何が起きたか
openTPUプロジェクトは、現在のAIハードウェア設計における2つの根本的な問いに答えています。すなわち、自律エージェントがどこまでハードウェア設計を進められるか、そしてそれらが自らの推論を実行するチップ自体を構築できるかどうかです。アクセラレータ全体は小さなモノレポ内に収められており、開発者はコードをエンドツーエンドで読むことができます。これにはSystemVerilogによるハードウェア設計、命令セット定義、ビット単位で正確なシミュレータ、独自のカンパイルを持つカーネル言語、そして物理的なPCIeカードを駆動するために必要なホストソフトウェアが含まれます。
この設計は、Xilinx Kintex-7 xc7k480t FPGAと2つのDDR3メモリチャンネルを搭載したInspur YPCB-00338カードでテストされました。実際の重み付きの10個の最新モデルを正常に実行し、シミュレータ出力とビット単位で一致するトークンを生成します。プロジェクトは、LFM2.5-230M、Qwen3-0.6B、Qwen3.5-0.8B、Gemma 4 E2B、LFM2-2.6B、SmolLM3-3B、Phi-4-mini、Qwen3.5-2Bおよび4Bなどのモデルに対する詳細なベンチマークを提供しています。これらのテストはint8および4ビット量子化スキームの両方をカバーしており、大きなモデルでは毎秒3.75トークンから、小さいモデルでは毎秒85.8トークンまでのデコード速度を示しています。
「Build B」と呼ばれる重要なアップデートにより、いくつかのモデルで以前の生産イメージと比較してデコード性能が8〜9%向上しました。このビルドでは、DRAM帯域幅の使用率もピークDDR3-1066速度の91%から94%の間まで増加しました。本システムは、カードの4 GiBメモリを超える混合専門家(Mixture-of-Experts)モデルをサポートしており、ホストストレージから専門家をストリーミングすることで、こうした複雑な操作においてもシミュレータとのビット単位での精度を維持します。
仕組み
アーキテクチャは、透明性とデバッグの容易さを確保するために意図的にシンプルに設計されています。シーケンサはサイクルごとに1つの命令を、いくつかの専用ユニットへ発行します。データ移動用のDMAエンジン、DRAMからストリーミングされるint8重み積算用のマトリクスユニット、fp32演算用のベクトルユニット、そして結果をint8に変換するための量子化器です。キャッシュや隠れたスケジューリングメカニズムはありません。すべてのデータ移動は明示的な命令として定義されるため、実行トレースを見ればサイクルがどこで消費されているかが正確に分かります。
開発者はolと呼ばれるPython風の言語でカーネルを書きます。これは@ol.jitなどのデコレーターを使用して、高レベルの操作をカスタム命令セットにコンパイルします。コンパイラはレイアウト、アフィンループアドレッシング、および融合(fusion)を処理します。生成された命令はFPGA上で実行されるか、PythonベースのISAシミュレータに対して検証されます。シミュレータとRTL(レジスタ転送レベル)ハードウェア設計は同じビットを処理するため、一貫性を保証するためにテストによってチェックされます。これにより、開発者は物理ハードウェアにデプロイする前に、ノートパソコン上でプロトタイプ作成やデバッグを行うことができます。
本システムにはLensという名前のプロファイラが含まれており、RTL、シミュレータ、またはカードからの実行を記録し、ブラウザに表示します。Lensはルーフラインモデル、タイムライン、命令ごとのテーブルを提供し、各サイクルを色分けして、ユニットがビジー状態であるか、DRAM待ちであるか、他の命令待ちであるかを示します。この可視性により、エンジニアはDRAM帯域幅制限など、現在デコード速度を理論上のピークの82〜85%に制約しているような性能ボトルネックを理解するのに役立ちます。
主要な詳細
- プロジェクトは2つのDDR3チャンネルを持つXilinx Kintex-7 xc7k480t FPGA上で動作し、最大17.1 GB/sのピーク帯域幅を達成します。
- ベンチマークでは、4ビット量子化を使用した場合、Qwen3.5-4Bで毎秒3.75トークンから、LFM2.5-230Mで毎秒85.8トークンまでのデコード速度が示されています。
- システムは2レベルブロックスケールを持つFP4値を使用して4ビット重みをサポートし、トークンあたりのバイト数を約3分の1削減します。
- LFM2.5-8B-A1Bなどの混合専門家モデルは、ホストストレージから専門家をストリーミングすることで実行され、98.5%のスロットヒット率で毎秒10.6トークンを達成します。
- すべての構成はシミュレータとトークン単位で一致し、ソフトウェアシミュレーションとハードウェア実行間のビット単位での再現性を保証します。
- ホストソフトウェアのオーバーヘッドは最小限で、最適化されたシステムではトークンあたり0.17〜0.30 msしか追加せず、アクセラレータは基本的に独立して動作します。
なぜ重要なのか
ソフトウェアエンジニアやML実践者にとって、openTPUはAIアクセラレータというブラックボックスの謎を解き明かします。PythonカーネルからSystemVerilog RTLに至るまでの完全なスタックを提供することで、マトリクス乗算や注意機構(attention mechanisms)が物理的な配線の動きやクロックサイクルにどのように変換されるかを理解する貴重な機会を与えます。このレベルの透明性は、教育目的だけでなく、独自のツールに依存せずに特定のハードウェア制約に合わせてモデルを最適化する必要がある開発者にとっても非常に価値があります。
また、このプロジェクトは現在のFPGAベース推論の実用的な限界を浮き彫りにしています。詳細なベンチマークは、デコード性能が計算能力よりもDRAM帯域幅によって強く束縛されていることを示しています。この洞察は、エンジニアが計算スループットの増強だけでなく、メモリアクセスパターンや量子化戦略の最適化へと導くものです。Kintex-7のような比較的古いハードウェア上でQwen3やGemma 4といった最新モデルを実行できることは、効率的なソフトウェアおよびアーキテクチャ設計が既存インフラの寿命を延ばせることを示唆しています。
さらに、「auto-arch-tournament」アプローチが示唆するように、設計プロセスへのAIエージェントの統合は、ハードウェア設計自体が自動化される未来を指し示しています。システムが自らの推論ループを実行するチップを構築・動作させることができるという事実は、特化型AIハードウェアにおけるイノベーションを加速させる可能性のある閉ループ開発環境を生み出します。
できること
- pip経由でopenTPUパッケージをインストールし、ノートパソコンでISAシミュレータを実行して、ハードウェアなしでLFM2.5-230Mなどのモデルをテストしてください。
docs/isa.md内の命令セットドキュメントを研究し、アクセラレータを駆動する低レベル操作を理解してください。- Lensプロファイラを使用して実行トレースを可視化し、自身のカーネル実装におけるDRAMボトルネックを特定してください。
- 4ビット量子化スキームを試してデコード速度を改善してみてください。量子化ドキュメントに記載されているパープレキシティに関するトレードオフにも注意してください。
- 互換性のあるKintex-7 PCIeカードをお持ちの場合は、ビットストリームをビルドし、JTAG経由でロードして
otpu-chatでリアルタイム推論を実行してください。 rtl/ディレクトリを探索し、将来のビルドにおけるタイミングマージンと面積効率の改善に貢献することで、プロジェクトに参加してください。



