こんにちは、ハルです。今週いちばん「えっ、そこまでAIにやらせたの?」って声が出たのがこれ。個人開発者のFeSensさんが、AIに半導体の設計図からそれを動かすソフトまでを丸ごと書かせて、データセンターのお下がりの中古カードで言語モデルを動かしちゃった話なんだよ。GitHubのリポジトリとHacker Newsのスレッド、まとめ記事を片っ端から追いかけてみたよ。私は実機を触ってないから、ここに書くのは全部、公開されている情報とネット上の声からわかったこと。そこは先に言っておくね 🔍
何を作ったの? 設計図からコンパイラまで全部AIに書かせた
まずopenTPUが何なのか。ひとことで言うと「AIの推論(学習済みモデルに答えを出させること)専用の計算回路」を、作者がAIに設計させたプロジェクトなんだよ。READMEによると、AIに書かせたのはこんなところ。
- SystemVerilogで書いたRTL(チップの中の回路がどう動くかを書いた設計図のこと)
- ISA(その回路が理解できる命令の一覧表。CPUでいう機械語の決まりごと)
- 回路とビット単位でぴったり同じ結果を出すシミュレータ(本物の回路をパソコンの中で真似するソフト)
- カーネル言語とコンパイラ(計算の手順を書く専用の言葉と、それを回路向けの命令に変換するソフト)
- プロファイラ(どこで時間がかかっているかを調べる道具)
- PCIe(パソコンと拡張カードをつなぐ道)の制御ソフト
普通は、チップの設計と、その上で動くソフトを作る人たちは別のチームなんだよね。それが1つのリポジトリにまとまっているのがまずおもしろいところ。載せた先は、データセンターで使われなくなったInspur YPCB-00338というカードで、中身はXilinxのKintex-7 xc7k480tと、DDR3メモリ4GiB。FPGA(あとから中の回路を何度でも書き換えられるチップ)だから、AIが書いた設計図をそのまま焼いて試せるんだよ。
作者はHacker Newsの投稿(HNでの名前はfsbonetto)で、この中古ボードは約300ドルで手に入って、ホビーで回路をいじる人たちの間で人気があると書いているよ(別のまとめ記事では200ドルとされていた)。この上でQwen3、Qwen3.5、LFM2.5など10種類のモデルを動かしていて、出力はシミュレータとビット単位で一致したという。何十万円もする専用機材じゃなくて、中古のカード1枚でやってるのがグッとくるんだよね 🛠️
数字で見るopenTPU:85.8 tok/sの中身
READMEの数字をまとめるね。tok/sは「1秒間に何トークン(文字のかたまり)を出せるか」。デコードは答えを1トークンずつ書き出していく速さで、プリフィルは最初に質問文をまとめて読み込む速さのことだよ。
- LFM2.5-230M(4bit):デコード85.8 tok/s、プリフィル335.4 tok/s
- LFM2.5-230M(int8):デコード59.0 tok/s、プリフィル295.6 tok/s
- Qwen3-0.6B(4bit):31.3 tok/s
- Qwen3.5-0.8B:16.3〜23.3 tok/s
- 2.6B〜3.8Bのモデル:3.75〜12.09 tok/s
4bitやint8というのは、モデルの数値をどれくらい細かく持つかの話。4bitのほうが粗いぶんデータが小さくて、メモリから読み出す量が減るから速くなる。int8の59.0 tok/sはAI Weeklyでも紹介されていたよ。
回路側の数字もしっかり出てる。メモリはDDR3-1066の2チャネル構成で、ピークの帯域(1秒あたりにメモリとやりとりできるデータ量の上限)は17.1 GB/s。そのうち実際に使えているのは82〜94%だという。上限のかなり近くまで使い切ってるってことだね。クロック(回路が1秒間に刻むリズム)は133.33 MHzで、タイミングの余裕を表すWNSは+0.032 ns。信号がギリギリ間に合ってる、という意味の値なんだよ。メインブランチのコミットは1,439件。リポジトリは2026-09-24に作られて、10-08の時点でスター537、フォーク36。だいたい2週間でこの量なんだよね 📊
速さを決めたのはAIの賢さじゃなくて「合否判定の仕組み」
今回いちばん読み込んだのがここ。作者はHNで、先にAIでRISC-V(だれでも使えるCPUの命令の決まりごと)のCPUコアを開発したときのやり方をそのまま使ったと語っているよ。エージェントの改善を何回も回して、最初は毎秒数トークンだったのを、小さいモデルなら毎秒80トークン以上まで上げたんだって。
その前作がauto-arch-tournament。教科書どおりの5段パイプラインのRV32IMコアを出発点にして、ClaudeやCodexが1ラウンドごとに「ここをこう変えたら速くなるはず」という仮説と、その実装を出してくる。それを次の3つの関門に全部かけるんだよ。
- riscv-formalによる形式証明(数学的に「命令の決まりを破っていない」ことを確かめる)
- Verilatorでのシミュレーション(実際に動かして結果を確かめる)
- yosys/nextpnrでの論理合成(本当に回路として組めるかを確かめる)
この3つを全部通って、しかもCoreMark/MHz(クロック1回あたりどれだけ仕事ができるかを測るベンチマーク)が上がったものだけを取り込む。結果は、仮説73件のうち採用は10件。かかった時間は9時間51分で、CoreMark/MHzは92%上がって最終的に2.91になったという。7割以上の案はちゃんと落とされてるんだよね。openTPUは、この仕組みをCPUから推論用の回路に広げたものなんだよ。
作者のまとめは「勝負を決めるのはループそのものじゃなくて、ループにつなぐ検証器だ」。これってまさに、いま言われているハーネスエンジニアリング(自分で動くAIを縛って、方向を決める仕組みの設計)の話だと思った。AIがどれだけ賢い案を出しても、それを機械的に「正しいか」「速くなったか」で裁けなければ、使えない変更が積み上がっていくだけ。逆に、ビット単位で一致するシミュレータみたいな厳しい審判がいれば、AIは何十回失敗してもいい。ここ、すごく納得できたな 💡
うまくいってない話と、HNで強かった疑問
ここからが大事なところ。スレッドは342ポイント・コメント400件まで伸びたけど、褒める声ばかりじゃなかったよ。
まずモデルの大きさ。HNのRetro_Devさんは、看板の数字は「2億3000万パラメータのモデルで、とても小さい」と指摘していた。これは本当にそうで、READMEでも2.6B〜3.8Bのモデルだと3.75〜12.09 tok/sまで落ちる。それに、CPUやGPU、市販の推論機材と比べた数字は、スレッドにもまとめ記事にも出てこない。だから「毎秒80トークンは速いのか」は、正直いまの材料じゃ判断できないんだよね 🤔
次に「人がどこまで手を入れたの?」問題。AI Weeklyは、READMEにはAIと人間がそれぞれどれだけ書いたかも、使ったエージェントのモデル名も書かれていないと報じている。HNでも、経験のある人が方向をつけた効果が大きいんじゃないか、という声が出ていた。浮動小数点(小数を扱う計算)の正しさを疑う人もいて、「LLMには正しい浮動小数点演算はいらないらしい」という皮肉まで飛んでたよ。
作者自身も、READMEで限界をはっきり書いている。デコードはDRAMの帯域で頭打ちになっていて(82〜85%)、回路をいくら工夫してもメモリの読み出しが追いつかない。タイミングの余裕は+0.032 nsしかない。4GBを超えるMoEのモデルは、ホスト側のストレージからエキスパートを流し込まないといけない。自分で弱点を並べてくれているのは、正直ありがたいって思った。
話はさらに広がって、「重みを最初からシリコンに焼き込んじゃえば?」という方向にもいったんだよ。dmitrygrさんたちは、27B級のモデルだと重みだけでレチクル(チップ1枚を一度に焼ける面積の上限で、約800mm²)を大きく超えると計算していた。zdragnarさんは、チップを設計しているあいだに最先端のモデルのほうが先に入れ替わってしまう、と書いていたよ。
ハルの感想をまとめるとこう。openTPUは「AIが速いチップを作った」話として読むと、比べる数字が足りなくて評価しきれない。でも「厳しい審判を用意すれば、AIに設計図からコンパイラまでを2週間で積み上げさせられる」という作例として読むと、すごく価値がある。次に見たいのは、同じボードやGPUと並べた比較と、人間がどこで口を出したかの記録だね 🚀




