国産LLM「Sarashina」は、使うと明らかに速いです。
「日本のサーバーだからでしょ」と思っていましたが、測ってみたらそれは理由の一部でしかありませんでした。
Claude(Haiku 5.5 / Sonnet 5.5)と GLM-5.3 を相手に、待ち時間を分解した結果です。
結論
- チャットで速いと感じるのは「最初の1文字が出るまでが速いか」(TTFT)。Claude Haiku の約7分の1
- その差のうち「日本のサーバーだから」は3〜5割程。残りはサーバー側の処理の速さ。
- 書き出してからの速さでは、Sarashina3 mini は Claude Haiku に勝てない。ただし nano は別格
ハルシネーション編はこちら:Sarashinaでハルシネーションチェックしてたら頼んでもないのにアニメの話を始めた
比べたモデル
公平にするため、どれもいちばん速く答える設定にそろえ、すべて API から同じ方法で測りました。
| モデル | 設定 |
|---|---|
| Sarashina3 mini / nano | 既定 |
| Claude Haiku 5.5 | 思考オフ、effort: low
|
| Claude Sonnet 5.5 | 思考を最小、effort: low
|
| GLM-5.3 |
reasoning_effort: low(候補3モデルで予備測定して最速だったもの) |
結果1:最初の1文字までが、とにかく速い
| モデル | 最初の1文字まで | うちネットワーク | うちサーバー側 |
|---|---|---|---|
| Sarashina3 mini | 0.11秒 | 0.05秒 | 0.06秒 |
| Sarashina3 nano | 0.10秒 | 0.05秒 | 0.05秒 |
| Claude Haiku 5.5 | 0.71秒 | 0.22秒 | 0.49秒 |
| Claude Sonnet 5.5 | 1.26秒 | 0.22秒 | 1.04秒 |
| GLM-5.3 | 2.51秒 | 0.14秒 | 2.37秒 |
(各20回の中央値。ネットワークは別に10回測った往復時間)
mini と Haiku の差は0.60秒。そのうちネットワークの差は0.17秒で、約3割です。Sonnet との差では約15%、GLM との差では約4%まで下がります。
しかも GLM は、ネットワークでは Claude より近いのに、いちばん遅い結果でした。近いから速い、とは限りません。
この差は、時間をずらして測り直しても崩れませんでした。mini は0.08〜0.21秒、Haiku は0.62秒以上(それぞれ計40回)で、分布は一度も重なっていません。mini の中央値は、20時台に測ったときも22時台に測ったときも0.11〜0.12秒で安定していました。
結果2:書き出してからは、Haiku のほうが速い
| モデル | 地の文 | 技術説明 | 箇条書き |
|---|---|---|---|
| Sarashina3 mini | 146字/秒 | 167字/秒 | 162字/秒 |
| Sarashina3 nano | 585字/秒 | 662字/秒 | 680字/秒 |
| Claude Haiku 5.5 | 172字/秒 | 235字/秒 | 170字/秒 |
| Claude Sonnet 5.5 | 114字/秒 | 138字/秒 | 116字/秒 |
| GLM-5.3 | 81字/秒 | 140字/秒 | 92字/秒 |
(地の文・箇条書きは15回、技術説明は5回の中央値)
mini は、地の文と技術説明で Haiku に負け、箇条書きでほぼ互角でした。mini が勝った課題はありません。 一方の nano は、Haiku の3〜4倍という別格の速さです。
結果3:同じ文章を約半分のトークン数で表す
同じ文章を入力して、トークン数を比べました。
| 同じ文章 | Sarashina | GLM-5.3 | Claude |
|---|---|---|---|
| 日本語(地の文) | 2.1字/トークン | 1.4字/トークン | 1.0字/トークン |
| 英語 | 6.1字/トークン | 4.9字/トークン | 3.0字/トークン |
| Python コード | 2.6字/トークン | 2.9字/トークン | 2.1字/トークン |
Sarashina は、日本語の文章を Claude の約半分のトークン数で表します。ただし英語でも約半分なので、「日本語特化」とは言えません。
そしてこれは、書き出してからの速さを決めるものでもありませんでした。mini は1トークンに約2文字詰められますが、トークンを出すペースは毎秒約70です。Haiku は1トークンあたり約1文字と不利なものの、毎秒約175とペースが2.5倍あり、文字/秒で上回ります。
どう測ったか
- 最初の1文字まで・書き出してからの速さ:ストリーミングで、最初と最後の本文の文字が届いた時刻を記録。トークン/秒はトークナイザーが違うと比べられないので、「空白を除いた文字/秒」にそろえた
- トークン数:「文章あり」と「文章なし」の入力トークン数の差を取り、システムプロンプトなどの固定分を打ち消した
-
ネットワーク:認証なしのリクエストに401が返るまでの時間を
curl -wで分解。モデルは動かないので、距離の分だけが出る
for raw in res: # SSE を1行ずつ読む
piece = text_delta(json.loads(raw.decode()[5:]))
if piece:
now = time.perf_counter()
first = first or now # 最初の1文字
last = now
parts.append(piece)
ttft = first - t0
chars_per_sec = len(re.sub(r"\s", "", "".join(parts))) / (last - first)
限界
- 公開初日の測定で、サーバーが空いていた可能性があります
- GLM は Coding Plan の専用エンドポイント経由で、従量課金の API とは速度が違う可能性があります
- mini はレート制限が毎分6回なので、量をさばく用途では速さを活かしきれません(nano は毎分60回)
まとめ
| 問い | 答え |
|---|---|
| Sarashina は速い? | 速い。最初の1文字まで0.1秒で、比べた中で最速 |
| 日本のサーバーだから? | 一部だけ。差のうち最大3割で、残りはサーバー側の処理の速さ |
| 書き出してからも速い? | mini は Haiku に勝てない。nano は別格 |
| トークナイザーのおかげ? | 同じ文章を約半分のトークン数で表せるが、速さの決め手ではない |
チャットで「速い」と感じるのは、最初の1文字がほぼ待たずに出てくるからです。読む速さはどのモデルもとっくに超えているので、体感を分けているのはこの0.1秒でした。
現時点かなりおバカなのと、「サーバーが日本にある」は今後なんの個性でも無くなっていくので、日本語の自然さや日本人の価値観に寄り添った個性あるモデルでしか生き残る道はないのかなと思ってます。
参考
- Sarashina3 mini / Sarashina3 nano: フルスクラッチで開発した最新の国産LLM(SB Intuitions TECH BLOG)
- 国産LLM「Sarashina3」の無償ベータAPIを6モデルとも叩いた(レート制限の出典)
- Effort(Claude API ドキュメント)
- Chat Completion(Z.ai ドキュメント)