エッジAIラボ
エッジAIラボ
日本語 × 実機ベンチ

日本語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/schar/s(文字/秒)文字/トークン
英語522875.5
日本語52811.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/schar/s(日本語)
ノートPC RTX 4060 (GPU)qwen2.5:0.5B325520
ノートPC RTX 4060 (GPU)qwen2.5:7B5281
Mac mini M4 (Metal)qwen2.5:0.5B154234
Mac mini M4 (Metal)qwen2.5:7B22.534
Jetson Orin Nanoqwen2.5:1.5B3556
Raspberry Pi 5 (CPU)qwen2.5:1.5B1118

実用の目安:日本語の黙読は約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・同一プロンプト)。値は版・量子化・プロンプトで変動(要検証)。