名古屋でAIシステム開発の会社をやっています。デジタル民主主義2030(DD2030)が作っているオープンソースの「広聴AI」に、10月から参加しています。
広聴AIのGitHubに、「ローカルLLMのベンチマーク、推奨スペックの決定」というIssue(#471)があります。2025年5月にできたもので、「どれくらいのPCなら動くのか分からない」「自治体向けに、どんなPCを買えば快適に動くのか案内を出したい」というのがゴールです。
このIssueに、10月12日、開発の中心の西尾泰和さんから整理のコメントが付きました。その指摘を受けて、先に測ってから返信した経緯を書きます。
1. これまで当社が出していたもの
当社はこのIssueに、2回実測を書いていました。
- 10月5日:RTX 3090(GPU)でELYZA-JP-8Bを動かし、意見48件の分析が全部で2分33秒で終わった。GPUのメモリは約21.5GB使った
- 10月7日:gemma4:12bで、広聴AIの意見抽出に208件を流し、意味が変わった「誤読」が6件(約3%)あった。温度0でも結果は揺れた
どちらも、GPUのある当社の機械での数字です。
2. 西尾さんに指摘されたこと
西尾さんのコメントは、2つに分かれていました。
1つ目は棚卸しです。 このIssueが求めている2つの成果物、つまり「ベンチマーク用のスクリプト」と「自治体向けの推奨スペックの文書」は、まだ広聴AIの本体には無い。いま書かれている動作要件は「NVIDIAのGPUとドライバが必須、GPUメモリ8GB以上を推奨」で、「自治体の普通のPCで動く」というゴールとは合っていない。当社が出した実測は「貴重な材料」だが、成果物そのものではない、という整理でした。
2つ目は、目標の定め直しの提案です。
- 目標を「自治体の普通のPC(x86・GPUなし・CPUが主体)で、実用的に最後まで動くか」にする。GPUは「あれば速い補助」
- 測るのは2つの層に分ける。ローカルLLMそのものの速さ(モデルサーバ層)と、広聴AIの処理全体が何件で何分か(パイプライン層)
- チームのやることは4つ。①普通のPCで処理全体を測る、②候補のローカルLLMの速さを測る、③出力の品質を人が見て絞る、④件数と時間の目安表と推奨スペックを決める
当社の実測はどれもGPUの上の数字で、まさに「普通のPC」の答えにはなっていませんでした。
3. 返信する前に、測った
最初は「②と③を手伝えます」と返信しようとしました。ただ、それでは約束を書くだけです。先に測って、数字を持ってから返信することにしました。
条件:同じ機械の中で、普通のPCに近づけました。
- CPU:AMD Ryzen 7 5700X のうち、4コア(8スレッド)だけを使わせる
- メモリ:上限16GB
- GPU:使わない(ローカルLLMのサーバ Ollama を、CPUだけで動かす)
- モデル:ELYZA-JP-8B、gemma4:e4b、gemma4:12b
落とし穴:GPUを切ったつもりで、切れていなかった
最初、GPUを使わない設定(CUDA_VISIBLE_DEVICES=-1)で起動したのに、Ollamaは別の経路(Vulkan)でGPUを見つけて使おうとしていました。起動の記録を見なければ、GPUの数字を「CPUの数字」として出すところでした。
CPUだけで測るには、Vulkanも止める設定(OLLAMA_VULKAN=false、GGML_VK_VISIBLE_DEVICES=-1)が要り、起動の記録に library=cpu と出ることを確かめる必要がありました。同じように測る人のために、返信にも書いています。
結果1:ローカルLLMの速さ
既定の抽出の指示文とコメント1件を4回流し、2回目以降の真ん中の値です。
| モデル | 出力の速さ | 1件 | 最初の読み込み |
|---|---|---|---|
| ELYZA-JP-8B | 1秒に5.7トークン | 7.4秒 | 10秒 |
| gemma4:e4b | 1秒に8.1トークン | 11.5秒 | 70秒 |
| gemma4:12b | 1秒に3.3トークン | 30.6秒 | 41秒 |
結果2:広聴AIの意見抽出を、そのまま通す
広聴AIの処理の中で一番時間がかかる「意見の抽出」を、広聴AIのコードのまま、CPUだけのサーバに向けて20件流しました。
- ELYZA-JP-8B:1件7.9秒、20件で3分5秒、失敗0件
抽出だけで、100件なら約13分、1,000件なら約2時間10分の見込みです。8B級なら、4コア・16GB・GPUなしでも数百件は実用の範囲で、12B級(1件30秒)は1,000件で8時間を超えるので「GPUが要る」側になりそうです。
結果3:思考型のgemma4は、広聴AIを通すと3倍遅い
gemma4:e4bも同じように20件流すと、1件あたり33.8秒(20件で12分41秒)かかりました。Ollamaに直接流したときの11.5秒の、約3倍です。
gemma4は、答える前に考える「思考型」のモデルです。直接流したときは「考えない」設定を付けていましたが、広聴AIからの呼び出しにはこの設定が付きません。広聴AIと同じ呼び方で1件を比べて、確かめました。
| 呼び方 | 1件 | 出力トークン | 思考の部分 |
|---|---|---|---|
| 広聴AIと同じ(設定なし) | 34.1秒 | 201 | 312文字 |
| 「考えない」設定(reasoning_effort: none)を付ける | 12.6秒 | 42 | 0 |
抽出の答えはほぼ同じで、出力の8割が思考の部分でした。速さの数字だけを見てモデルを選ぶと、実際に広聴AIで使ったときに外れます。逆に言えば、広聴AIの呼び出しに「考えない」設定を付けられるようにすれば、思考型のモデルでもCPUのPCでおよそ3分の1の時間になります。
4. 返信したこと
測った数字を表にして、Issueに返信しました。
- 目標の定め直しに賛成し、②(LLM層)を普通のPCに近い条件で先に測ったこと
- モデルサーバ層の3つのモデルの速さと、ELYZAでの抽出20件の結果
- 8B級なら数百件は実用の範囲、12B級は「要GPU」側になりそう、という見立て
- GPUを本当に切るにはVulkanも止める必要がある、という注意
- まだ測れていないもの(処理全体の時間、gemma4:e4bの抽出、品質の比較)。処理全体は、西尾さんが作ったベンチの仕組みが本体に入ったら、同じ条件で測ること
計測のスクリプトと結果は、当社が公開している広聴AIの導入キットに置きました。
5. 測ってから返信してよかったこと
「手伝えます」とだけ書いていたら、相手にとっては、まだ何も無いのと同じでした。先に測ったことで、次の3つが返信に入りました。
- 普通のPCで何件なら何分か、という見積もり
- GPUを切ったつもりで切れていない、という、測った人にしか分からない落とし穴
- 思考型のモデルは広聴AIを通すと3倍遅くなり、「考えない」設定で戻せる、という、モデルを選ぶときの注意と直し方
オープンソースの議論では、意見より実測のほうが、ずっと前に進めます。
当社では、広聴AIを自治体や議員事務所のサーバーに置いて使うための導入キットや、集まった声から意見の割れ方と合意点を出すシステムも作っています。
よくある質問
広聴AIはGPUのないPCでも動きますか?
ローカルLLMを使う場合、4コア・メモリ16GB・GPUなしの条件で、ELYZA-JP-8Bなら意見の抽出は1件約8秒でした。100件なら抽出だけで約13分です。埋め込みやラベル付けを含めた処理全体の時間は、まだ測っていません。
広聴AIのローカルLLMには、どのモデルがよいですか?
CPUだけで動かすなら、8B級が現実的です。12B級は1件30秒ほどかかり、件数が多いとGPUが要ります。gemma4のような思考型のモデルは、広聴AIから呼ぶと考える分だけ約3倍遅くなります。「考えない」設定(reasoning_effort: none)を付けると、およそ3分の1に戻りました。品質(誤読の少なさ)の比較は、これからです。
OllamaをCPUだけで動かすには?
CUDA_VISIBLE_DEVICES=-1 だけでは、Vulkan経由でGPUを使うことがあります。OLLAMA_VULKAN=false と GGML_VK_VISIBLE_DEVICES=-1 も設定し、起動の記録に library=cpu と出ることを確かめてください。
