llama.cpp のリリース履歴を追っていて、7月10日の b9951 で手が止まった。ggml-et という見慣れないバックエンドが増えている。ET は EdgeTPU でも ExecuTorch でもなく、Esperanto Technologies が設計した RISC-V チップ ET-SoC-1 を指していた。数年前に話題をさらったあと表舞台から消えていたAIチップが、いまさら推論ランタイムの正式なターゲットとして復活していたわけだ。この巻き戻しのような一件は、単なるマニアックなハード対応にとどまらない意味を持っている。
まず ET-SoC-1 とは何だったか
ET-SoC-1 は、1個のダイに 1,088 個の小さな RISC-V コア(ET-Minion)を敷き詰めた推論アクセラレータだ。ET-Minion はインオーダー実行の 64bit コアで、機械学習向けにベクトル/テンソル演算の独自拡張を持つ。これに OS を回すための汎用コア(ET-Maxion)が数個添えられる。TSMC 7nm、トランジスタ約240億、SRAM 約160MB。ピークで 100〜200 TOPS を 20W 以下でこなす、という「電力あたり性能」に全振りした設計だった。技術的な素性は Esperanto の技術ページ や Hot Chips での発表に残っている。
GPUがひたすら電力を食う方向に進むなか、「1GHz 程度に抑えた大量の小コアで並列に推論を回す」という思想は明快で、データセンターのレコメンド推論を主戦場に想定していた。ただ製品としては広く普及せず、Esperanto は事実上失速する。
休眠していたシリコンが、オープンソースになった
転機は2025年11月19日。スタートアップの Ainekko が Esperanto の知的財産と一部資産をまるごと取得したと発表した。チップ設計、開発フレームワーク、ソフトウェアツール一式が対象で、しかもそれを RTL・リファレンス設計・開発ツールごとオープンソースとして公開する、という筋書きだ。
What Linux did for servers…we believe open hardware can now do for AI inference.
(Linux がサーバーにもたらしたものを、オープンハードウェアは AI 推論にもたらせる)
共同創業者 Roman Shaposhnik のこの一文(GlobeNewswire のリリース)が狙いを端的に表している。閉じたエコシステムから解放し、シリコンのレベルで手を入れられるようにする。ターゲットはデータセンターからエッジ(ロボティクス、産業機器、IoT)へと振り直された。
商用チップの設計データが、動く推論ソフトごと Apache 2.0 相当で公開される例はそう多くない。ここで初めて、冒頭の llama.cpp の話につながる。
llama.cpp が ggml-et バックエンドを取り込んだ
7月10日にマージされた PR #24179 は、この ET-SoC-1 の PCIe カード上で llama.cpp を走らせるための ggml バックエンドを追加するものだ。バックエンドは ggml-et として登録され、行列積(MUL_MAT)、RoPE、RMSNorm、Q4_0/Q8_0 の量子化演算、マルチモーダル用の MROPE といった主要カーネルが実装されている。実機で Gemma-4-E2B や Qwen3-0.6B のような小型モデルが動き、llama.cpp のユニットテストも(境界値を少し緩める程度で)通ったと報告されている。カーネル内でデバイス側ディスパッチを行う「Uberkernel」も実験的に入っているが、こちらはまだ荒削りだ。
正直に言えば、絶対性能はモダンな CPU に及ばない。作者自身がそう認めている。効いてくるのは電力あたりの性能で、そこは今の一般的なデスクトップCPUより有利だ、というのがこのバックエンドの立ち位置になる。小型モデルを低消費電力で常時動かしたいエッジ用途を素直に見据えている。
手元にカードが無くても試せる
個人的にいちばん実務的だと思ったのが、システムエミュレーションモードが用意されている点だ。ビルドは CMake のフラグひとつで有効になる。
# ET バックエンドを有効にしてビルド(既定ではシステムエミュレーション付き)
cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_ET=ON
cmake --build build
# 実機の PCIe カードで動かすときはエミュレーションを切る
cmake -B build -DCMAKE_BUILD_TYPE=Release -DGGML_ET=ON -DGGML_ET_SYSEMU=OFF
-DGGML_ET_SYSEMU が既定で ON になっているおかげで、物理カードを持っていなくてもバックエンドのビルドと挙動確認ができる。新しいハードのバックエンドで最初につまずくのは「そもそも現物が手に入らない」ことなので、エミュレーションを同梱してレビューや貢献のハードルを下げているのは筋がいい。
最新のビルドは llama.cpp のリリースページから追える。
これは「使うため」より「参照するため」の一手だ
| 項目 | ET-SoC-1 の位置づけ |
|---|---|
| コア | 1,088 個の RISC-V(ET-Minion)+ 汎用 ET-Maxion |
| プロセス | TSMC 7nm、約240億トランジスタ、SRAM 約160MB |
| ピーク性能 | 100〜200 TOPS(20W 以下) |
| ライセンス | RTL・ツール一式をオープンソース公開(Ainekko) |
| llama.cpp |
ggml-et バックエンド、小型モデルが実機で動作 |
冷静に見れば、ET-SoC-1 のカードを今から量産して手に入れる人は多くないだろう。それでも意味があるのは、これが「動く実例」としてまるごと公開されている点だ。RTL からツールチェーン、そして推論ランタイムのバックエンドまでが揃った状態でオープンになっているスタックは、独自のエッジ向けシリコンを作りたい人にとって、そのまま参照できる設計図になる。llama.cpp 側にとっても、CUDA・Metal・Vulkan といった主流だけでなく、風変わりな多コア RISC-V アクセラレータをどう抽象化して受け止めるかという検証材料が一つ増える。
派手な新モデルの発表に比べれば地味な出来事だが、「閉じて終わったハードウェア」がオープンソースを経由してソフトウェアの生態系に再接続される、という流れそのものが面白い。GPU 一辺倒の推論に別の選択肢を残しておく意味でも、こういう動きは静かに効いてくると思う。