日本語LLMの速さは「char/s」で測れ
ローカルLLMの速度は tok/s で語られますが、日本語ユーザーには誤解のもとです。実機で測ると、同じ tok/s でも日本語は英語の約1/3.5の文字数しか出ません。なぜか、そして正しい測り方を、4機種の実測データで解説します。
結論
日本語のローカルLLMは tok/s ではなく char/s(1秒あたりの文字数)で比較すべきです。 日本語は1トークン≈1.5文字(英語は≈5.5文字)なので、 同じ tok/s でも日本語ユーザーが見る文字数は英語の約1/3.5。 tok/s だけ見ると実速度を過大評価します。
同じ tok/s でも、見える文字数は約1/3.5
RTX 4060ノート・qwen2.5:7b・同一プロンプト長で、英語と日本語を実測(どちらも 52 tok/s)。
| 言語 | tok/s | char/s(文字/秒) | 文字/トークン |
|---|---|---|---|
| 英語 | 52 | 287 | 5.5 |
| 日本語 | 52 | 81 | 1.55 |
tok/s は同じ「52」でも、英語は秒間287文字・日本語は81文字。「50 tok/s 出ます」という宣伝は、日本語では実速度を約3.5倍大きく見せていることになります。
なぜ? トークナイザの「文字密度」
LLMはテキストを「トークン」という単位で処理します。英語は1トークンに平均5文字前後("tion" など)が入りますが、日本語は漢字・かなで1トークンあたりの文字数が少なく(実測で約1.5文字)、 さらに同じ内容を表すのに必要なトークン数も多くなりがちです。 結果、tok/s が同じでも日本語は「出る文字」が少ない。 だから日本語ユーザーは tok/s ではなく char/s を見るべきなのです。
実機の日本語 char/s(4機種)
| デバイス | モデル | tok/s | char/s(日本語) |
|---|---|---|---|
| ノートPC RTX 4060 (GPU) | qwen2.5:0.5B | 325 | 520 |
| ノートPC RTX 4060 (GPU) | qwen2.5:7B | 52 | 81 |
| Mac mini M4 (Metal) | qwen2.5:0.5B | 154 | 234 |
| Mac mini M4 (Metal) | qwen2.5:7B | 22.5 | 34 |
| Jetson Orin Nano | qwen2.5:1.5B | 35 | 56 |
| Raspberry Pi 5 (CPU) | qwen2.5:1.5B | 11 | 18 |
実用の目安:日本語の黙読は約7〜10文字/秒(経験則・要検証)。Pi 5(CPU)の約18文字/秒でも読む速さは超えており実用圏、ノートやMacは待ちほぼゼロ。 全機種・モデルサイズ別・GPU vs CPU は エッジAI実機ベンチ大全 に掲載。
自分の環境で char/s を測る
Ollama を入れていれば、APIの返り値から計算できます(response の文字数 ÷ 生成時間)。
# 日本語プロンプトで生成し、char/s を算出(要 python3)
python3 - <<'PY'
import urllib.request, json
body=json.dumps({"model":"qwen2.5:7b",
"prompt":"エッジAIとは何かを日本語でくわしく説明してください。",
"stream":False,"options":{"num_predict":256}}).encode()
d=json.load(urllib.request.urlopen(urllib.request.Request(
"http://127.0.0.1:11434/api/generate",body,{"Content-Type":"application/json"})))
dur=d["eval_duration"]/1e9; chars=len(d["response"])
print(f"tok/s={d['eval_count']/dur:.1f} char/s={chars/dur:.1f} 文字/トークン={chars/d['eval_count']:.2f}")
PYよくある質問
tok/s と char/s は何が違いますか?
tok/s は1秒あたりのトークン数、char/s は1秒あたりに画面へ出る文字数です。ユーザーが体感する速さは char/s。日本語は1トークンが約1.5文字(英語は約5.5文字)なので、同じ tok/s でも char/s は言語で大きく変わります。
なぜ日本語は同じ tok/s でも遅く感じるのですか?
トークナイザの違いです。実測では同一モデル(qwen2.5:7b)・同一機・同じ52 tok/s で、英語は約287文字/秒(5.5文字/トークン)、日本語は約81文字/秒(1.55文字/トークン)。日本語は1トークンに詰まる文字が少ないため、見える文字数が約1/3.5になります。
日本語で快適なのは何 char/s からですか?
日本語の黙読は概ね7〜10文字/秒(経験則・要検証)。それを上回れば「読む速さより速い」=実用圏です。実測ではRaspberry Pi 5(CPU)でも約18文字/秒なので読む速さは超えており、ノートやMac(数十〜数百文字/秒)は待ち時間ほぼゼロでした。
自分の環境の char/s を測るには?
Ollama のАPIを使います。/api/generate に日本語プロンプトを stream:false で投げ、返ってきた response の文字数 ÷ (eval_duration/1e9) で char/s が出ます。本記事末尾にコマンド例を載せています。
関連
実測: 2026-06、Ollama /api/generate(num_predict=256・同一プロンプト)。値は版・量子化・プロンプトで変動(要検証)。