OpenTPU – AI から開発されたオープンソース AI アクセラレータ

2026/10/07 1:23

OpenTPU – AI から開発されたオープンソース AI アクセラレータ

RSS: https://news.ycombinator.com/rss

要約▶

日本語訳:

元のサマリーは強固ですが、キーポイントリストの粒度をより良く反映するために、特定のハードウェア制約、ツール名、およびビルドの区別を統合することで改善できます。以下が改訂版です:

改善されたサマリー: OpenTPU は、ユーザーが独自の推論ハードウェアを設計し、Intel Core i7 などのホストシステムに PCIe を介して接続された Xilinx Kintex-7 FPGA(具体的には xc7k480t)上にモデルを実行することを可能にするオープンソースの AI アクセラレーターです。包括的なモノリポに含まれており、SystemVerilog デザイン、命令セット、ビット正確なシミュレータ、カーネル言語、コンパイラ、ホストソフトウェアを含み、キャッシュレスアーキテクチャを構築するための重要な教育資源として機能します。该系统は Inspur YPCB-00338 カード上でハードウェアとシミュレータ間のビット正確なトークン一致を実現しており、これらのカードは 2 つの DDR3 チャンネル(ピーク 17.1 GB/s)を有し、キャッシュなしで 133.33 MHz で動作します。データの移動は明示的であり、

opentpu-lens
などのツールを用いて正確な追跡を可能にします。プロダクションイメージでのベンチマークでは、LFM2.5-230M は 82–85% の DRAM 利用率で 85.8 tok/s を達成しました。ビルド B における戦略的な最適化により、FP4 量子化ウェイトと int8 ヘッドを利用することでトークンあたりのバイト数を大幅に削減し、DRAM 使用率を 91–94% に引き上げ、速度をさらに 8–9% 向上させ(総体的には最大で 40–45% の改善)、このアーキテクチャはオンボードメモリの制限に依存せず、PCIe レートで不活性なエクスパートをストレージからストリーミングすることで大規模なミクセル・オブ・エキスパートモデルをサポートします。主要なコマンドラインツールには、推論用の
otpu-chat
、モニタリング用の
otpu-smi
、検証用の
otpu-selftest
が含まれます。今後の作業では、現在の DRAM 利用率の制限を超え、安定性のためにタイミングマージンを最適化する予定です。

本文

openTPU:オープンソース AI アクセラレータ

Google が開発したオープンソースの AI アクセルレーター「openTPU」は、ハードウェア設計における AI エージェントの可能性を探求しています。このプロジェクトは、以下の 2 つの核心的な問いを追求しています。

  • ハードウェア設計において、AI エージェントがどこまで到達できるか?
  • 彼らが自身の推論を実行するチップ自体を構築できるか?

学習の場としての openTPU

openTPU は、エンドツーエンドで読み込める単一の小さなモノリポジトリとして設計されており、学習プロジェクトとしても機能します。

構成要素

以下のすべてが含まれています。

  • ハードウェア設計: SystemVerilog (SystemVerilog)
  • 命令セットおよびコンパイラ: カーネル言語とコンパイル処理を含む
  • シミュレーター: ビット単位で正確な動作を確認可能
  • ホストソフトウェア: 実在する PCIe カードを制御

学習方法

AI アクセラレータの仕組み(Python の行列積計算から配線まで)を理解したい場合は、ここから始めるのが最適です。

ベンチマーク結果

Inspur YPCB-00338 カード(Xilinx Kintex-7 xc7k480t, DDR3 2 チャンネル)上で、10 の現代型モデルを実際の重み付きで動作させています。カードの生成するトークンは、シミュレーターの結果もビット単位で完全に一致します。

デコード・ベンチマーク表

モデル重みの形式Decode (Device) [トークン/秒]Decode (Wall) [トークン/秒]Prefill (Device) [トークン/秒]DRAM バンドウィスド [GB/s]
LFM2.5-230Mint859.052.3295.614.5 (ピークの 85%)
LFM2.5-230M4 bit、int8 ヘッダー85.882.1335.414.1 (ピークの 82%)
Qwen3-0.6Bint821.621.392.114.4 (ピークの 84%)
Qwen3-0.6B4 bit、int8 ヘッダー31.330.7103.413.9 (ピークの 82%)
Qwen3.5-0.8Bint817.616.361.414.5 (ピークの 85%)
Qwen3.5-0.8B4 bit、int8 ヘッダー24.523.366.714.1 (ピークの 83%)
Gemma 4 E2B4 bit、int8 ヘッダー10.5710.5332.115.6 (ピークの 92%)
Gemma 4 E2B4 bit、4 bit ヘッダー12.1412.0929.915.5 (ピークの 91%)
LFM2-2.6Bint86.056.0321.416.1 (ピークの 94%)
LFM2-2.6B4 bit、int8 ヘッダー10.9610.9320.615.8 (ピークの 93%)
SmolLM3-3Bint85.004.9921.116.0 (ピークの 94%)
SmolLM3-3B4 bit、int8 ヘッダー8.748.7222.815.7 (ピークの 92%)
Phi-4-mini (3.8B)int83.993.9813.816.0 (ピークの 94%)
Phi-4-mini (3.8B)4 bit、int8 ヘッダー6.566.5515.015.8 (ピークの 92%)
Qwen3.5-2Bint88.028.0038.216.0 (ピークの 94%)
Qwen3.5-2B4 bit、int8 ヘッダー12.0912.0341.715.8 (ピークの 92%)
Qwen3.5-4B4 bit、int8 ヘッダー5.885.8712.915.7 (ピークの 92%)
Gemma 4 E4Bint8/4bit、第 0〜23 レイヤー3.783.7514.816.0 (ピークの 94%)

注: 測定条件は各ビルドの日付(2026 年 9 月 29 日〜10 月 1 日)とプロダクションイメージ(

deploy_champ_e698dcd7
など)に基づいています。 ビルドの改良点: ビルド B は、LFM2-2.6B および Phi-4-mini のデコードを8〜9% スピードアップし、DRAM ピーク性能も 82〜87% から**91〜94%**に改善しました。

ハードウェア仕様

  • イメージ: メインイメージ
    e698dcd
    は 133.33 MHz で動作。メモリコア内の CPU が LiteDRAM コントローラーを較正し、4 コラム式システミック行列ユニットおよびストリームエンジン(docs/stream.md)を備えています。DDR3-1066 を使用し、ピーク性能は 17.1 GB/s です。
  • ホスト: カードは Intel Core i7-4790 搭載の opentpu 内に搭載されています。

手法と詳細

  • 手法: デコードは、512 トークンのプロンプト後に 64 グリディ tokens を生成し、ホスト側で argmax ループを行います(Stream 化されていません)。
  • DRAM トラフィック: カード自身のカウンターから取得。
  • Gemma 4 E2B: レイヤーごとの埋め込みテーブルをカード上保持(3.5〜3.6 GiB)。Hugging Face のグリディ tokens を 3 プロンプトで一致させます。
  • Gemma 4 E4B: テーブルはホスト上に留まり、1 トークンごとに 11 KB の行をカードにコピーします。イメージサイズは 3.96 GiB。

ストリーム化されたロジットの比較

カードが動作中にロジットをストリーミングして取得する場合(

tools/decode_profile.py
)、4 bit デコードはデバイスおよびウォールタイムでより高速です。

モデルDevice [トークン/秒]Wall [トークン/秒]備考
LFM289.584.5
Qwen333.733.3
Qwen3.524.624.2
LFM2-2.6B11.0711.02ビルド B (79c5707a)
SmolLM3-3B8.928.89ビルド B (79c5707a)
Phi-4-mini6.696.67ビルド B (79c5707a)

モデル・オブ・エキスパート(MoE)モデル

カードの 4 GiB を超えるモデルは、エキスパートをホストストレージからストリーミングします。

  • LFM2.5-8B-A1B (パラメータ 85 億): 平均 10.6 トークン/秒。98.5% のエキスパートがスロットにヒットし、各トークンあたり 5.2 MB がストリーミングされました。
  • Qwen3.5-35B-A3B (パラメータ 347 億): 平均 3.95 トークン/秒。62% のエキスパートがヒットし、PCIe を介して各トークンあたり 153 MB(1.41 GB/s)がストリーミングされました。

クアンタ化(4 bit 重み)

  • 方式: FP4 値を使用し、1 重みあたり 4.25 bit で保持(LM ヘッダーは int8)。
  • 効果: バイト数を約 3 分の 1 削減。デコード速度は Qwen3.5 で 40% 向上、Qwen3 および LFM2 で 45% 向上します。

ホストオーバーヘッド

ホストの干渉はほぼありません。

  • LFM2/Qwen3: トークンあたり追加オーバーヘッドは、omarchy で 0.17〜0.30 ms、opentpu で 0.45〜1.3 ms です。

仕組み

アーキテクチャは意図的にシンプルに設計されています。

  • サイクルごとの動作: シーケンサーが 1 つの指令を発行します(DMA: データ移動、行列ユニット: 乗算、ベクトルユニット: fp32 計算、クアンタイザー: int8 変換)。
  • キャッシュなし: キャッシュや隠れたスケジューリングは存在せず、すべてのデータ移動が明示的な指令です。

アーキテクチャフロー

+---------------------------+
| カーネル (ol 内)          |
|   MLP, Attention, Full    |
|   モデルレイヤー           |
+------------+--------------+
             |
             v @ol.jit
+------------+--------------+
| 言語 + コンパイラ         |
| レイアウト、アフィニループ |
| アドレス指定、フュージョン |
+------------+--------------+
             |
             v ISA(1 つの指令に 32 ビット語×8)
+------------+--------------+
| ISA シミュレーター        <======> RTL          (SystemVerilog)
| (Python)                 +------------------+
+------------+--------------+                  | Vivado ビットストリーム
             |                                  |
             v                                  |
+------------+--------------+                   |
| FPGA カード               |-----------------> Kintex-7 xc7k480t
| PCIe                    |                   |
+------------+--------------+<------------------+
             |                                  |
             v                                  |
+------------+--------------+                  |
| ホスト         otpu-chat    |   otpu-smi       |
|         otpu-lens        |   otpu-selftest  |
+---------------------------+

カーネルの例

from opentpu import language as ol

@ol.jit
def mlp(h, gamma, w_gate, w_up, w_down, out, eps):   # 簡略化版;詳細は kernels/mlp.py
    x = ol.load(h)
    xs = ol.quantize(rmsnorm(x, ol.load(gamma), eps))
    g = ol.dot(xs, w_gate)
    u = ol.dot(xs, w_up)
    a = ol.all_gather(silu(g) * u)
    y = ol.all_gather(ol.dot(a, w_down))
    if ol.program_id() == 0:
        ol.store(out, x + y)

Lens (プロファイラー)

  • 機能: レンズは RTL、シミュレーター、またはカードから実行を記録し、ブラウザで表示します。
  • 可視化: ルーフライン、タイムライン、および各指令ごとのテーブルを表示(docs/lens.md 参照)。

お試しください

カードを使用しない場合、すべての動作はノートパソコン上で可能です。

インストールと実行

# イネード
pip install -e .
pip install pytest torch transformers

# テスト実行 (RTL テストには Verilator 5 も必要)
python3 -m pytest -q

# モデルダウンロード
hf download LiquidAI/LFM2.5-230M --local-dir models/LFM2.5-230M

# シミュレーターでのチャット
otpu-chat --model lfm2 --backend isa

カードを使用する場合

  1. ビットストリームをビルド:
    make bit
    (boards/ypcb-00338)
  2. JTAG 経由でロード。
  3. セットアップと実行:
    sudo otpu-setup
    otpu-chat --backend board
    

コマンド参照表

コマンド機能
otpu-chat
Qwen3-0.6B、LFM2.5-230M、Qwen3.5-0.8B などとのチャット
otpu-smi
温度、電力、DRAM バンドウィスド、ユニット利用率を表示
otpu-lens
実行を記録し、プロファイラーで開く
otpu-selftest
、
otpu-diag
カードの正常動作確認

読み始める場所

  1. docs/isa.md: 命令セット。他のすべてはこれに基づいています。
  2. opentpu/kernels と docs/compiler.md: カーネルがどのように指令になるか。
  3. opentpu/isasim.py: シミュレーター(これが仕様)。
  4. rtl/: ハードウェア (
    rtl/top/otpu_top.sv
    から開始)。
  5. docs/lfm2.md, docs/qwen35.md, docs/benchmarks.md: 全体モデルとサイクルの行先。
  6. docs/board.md: 物理的なカード(クロックから PCIe まで)。

次に進むこと

  • DRAM の最後の数%: デコードは DRAM エフェシエンスに制約されています。LiteDRAM パスの効率改善が続いています。
  • タイミングマージンと面積: 設計は 128 バイトポートが追いつく 133.33 MHz で閉じていますが、僅かなマージン(WNS +0.032 ns)です。Vivado の実行トーナメントで改善が続いています。
  • より高速なプリフィル: プリフィルはまだ行列ユニットの乗算速度に制限されています。

貢献とライセンス

  • 貢献: バグ報告とプルリクエストを歓迎します。多くの作業には Python と Verilator のみで十分です。変更時は
    python3 -m pytest -q
    を通す必要があります。
  • ライセンス: Apache License 2.0

同じ日のほかのニュース

一覧に戻る →

2026/10/07 5:57

Decisions API が公開ベータ版を開始しました

## Japanese Translation: Decisions API は、テキストまたは画像の評価において Responses API より 10 倍の高速化を実現し、gpt-6-luna モデルを専有して動作する専用 POST /v1/decisions エンドポイントを通じて型付けされた結果を返します。現在公開ベータ版で提供中であり、General Availability は近日を予定しています。対応する具体的な回答タイプは 3 つあり、predicates(条件の確率)、choices(固定セットからの選択)、scores(ルーブリック評価)です。機能的には、API は単一のリクエスト内での独立した質問間で入力共有を可能にし、ワークフローを簡略化する一方で、依存関係のある決断は別々の順序実行呼び出しによって取り扱う必要があります。リクエストではテキスト入力またはインライン base64 エンコードされた画像を受け付けるが、ホスト URL および file_id 入力はサポートされていません。コスト効率の向上は、入力トークンのみに対して課金される(100 万トークンあたり 0.1 ドル)モデル採用と出力トークン料金の非課金化を通じて達成されます。また、HIPAA 準拠を米国、欧州、スイスデータセンターで確保するためのゼロデータ保持ポリシーも備わっています。開発者は、偽陽性と偽陰性の間のトレードオフに基づいてルーティング閾値を設定するためにラベル付けされた例を使用することで、コストと精度の最適化が可能です。これにより、条件チェック、固定選択、詳細な評価に対する高速かつ自動化された決定が最小の遅延で可能になります。

2026/10/07 1:03

EmbeddingGemma 2:オープンで軽量なマルチモーダル埋め込みモデル

## Japanese Translation: EmbeddingGemma 2 は、オンデバイス多模态埋め込みにおいて最も高性能なモデルとして、テキスト、画像、音声、ビデオ、コードを統一空間にネイティブにマッピングする画期的なローカル AI 機能の飛躍を示しています。7.4 億パラメータを有し、商用許諾の Apache 2.0 ライセンス下にある堅牢な Gemma 4 アーキテクチャを基礎とすることで、軽量さを維持しつつもベンチマークスコアで業界トップレベルの成績を収めます。その特徴は、Matryoshka Representation Learning(MRL)によるストレージ効率化であり、ベクトル次元を動的に削減することで最大 6 倍までのスペース削減を可能にします。オンデバイス性能向けに最適化されており(テキストのみウェイトの場合 Google Pixel 11 Pro で約 191MB の RAM を必要とする)、ローカルハードウェア上で直接長形式メディアを処理できる impressive な 8K トークンコンテキストウィンドウを搭載しています。ローカル索引付けにおけるコード性能に著しい向上をもたらすと同時に、埋め込みをローカルで生成することでオフラインクロスモーダル検索を実現しデータプライバシーを確保します。開発者はすぐに Hugging Face や Kaggle を介してモデルを利用でき、MediaPipe、LiteRT、WebGPU などのデプロイメントツールや vLLM、Ollama などのサービングフレームワークを活用し、外部クラウドサーバーに依存せず既存のワークフローへのシームレスな統合が可能です。この進展は、効率的かつオフライン AI リトリバルのための新たな業界標準を確立します。

2026/10/07 5:33

パラマウント・スカイダンスがワーナー・ブラザーズ・ディスカバリーとの1,110億ドル合併を完了しました。

## Japanese Translation: パラマウント・グローバルは、ワーナー・ブラザース・ディスカバリーとの歴史的な 1,110 億ドル規模の合併を正式に完了させ、去年別の取引で買収した企業であるスカイダンスという名前の新しいメディア会社を創設しました。この組み合わせには、2 つの最大の映画スタジオ、広範なライブ・スポーツ関連資産(CBS スポーツおよび TNT スポーツを含む)、主要なストリーミングプラットフォーム(パラマウント+ および HBO マックス)ならびに CBS や CNN などの主要ニュース事業、さらに深いコンテンツライブラリとブランドが統合されています。 この取引は、合併が競争を著しく減少させ反トラスト法に違反すると主張するカリフォルニア州およびその他の 11 の州からの法的な課題に直面しました。米国地方裁判所の裁判官は 7 月に合併が競争を害する可能性が高いと裁定し、これを受けて各州から和解案の提議が行われました。言論自由およびメディア擁護団体は、和解を拒否するよう裁判所に要請しましたが(和解は訴追した州の住民に対して「実質的な何ら物事もないものを与えるに過ぎない」と主張)、9 月 30 日にアラセリ・マルティネス・オルギン裁判官は、訴訟回避を実現し合理的な事実および法的解決として合意を批准しました。 和解に基づき、パラマウントは国内映画に対する最低限の投資額および配給閾値を満たす必要があり、基本ケーブルチャネルのライセンスリングは各実体の保有に対して個別交渉の下で継続されます。エレン・ケイガン法務長官は差し止め申請を行わず、裁判プロセスは州側の訴訟とマルティネス・オルギン裁判官が和解を受諾したことに中心を置きました。スカイダンスの将来の成功は、これらの投資要件を満たし、さらなる法的混乱なく継続的なライセンス交渉を管理することによって左右されます。

OpenTPU – AI から開発されたオープンソース AI アクセラレータ | そっか~ニュース