1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

品質を測る前に、失格になるAIがある

1
Last updated at Posted at 2026-08-02

この記事は、自社ブログの LYR Performance Note #003 に掲載したものの転載です。

モデル選定で、品質より先に見るべき"足切り"

リアルタイム字幕翻訳では、いちばん賢いモデルが最初に脱落する。品質が低いからではない。答える前に「考えて」しまうからだ。

モデル選定には、品質を測る前の足切りがある——思考を止められるか、決まった形式で必ず返せるか。ここを満たさないモデルは、賢くても使えない。

そして足切りを揃えて測り直すと、常識のほうが崩れた。短い出力では、軽量モデルは速くない。モデル間の生成速度差は、通信と待ちに飲まれて消える。

翻訳に使うモデルを選ぶとき、私は素朴に「品質がいちばん高いものを選べばいい」と思っていた。ベンチマークを回して、いちばん賢いモデルを選ぶ。当然の話に見える。

でも、リアルタイム字幕翻訳では、この当然が通用しなかった。品質を測る前に、多くのモデルが"足切り"で脱落するからだ。しかもその足切り条件は、最初はまったく見えていなかった。

モデルは、翻訳する前に"考えて"いた

第1回で書いたとおり、私はレイテンシを分解して、あるモデルが1行の翻訳に500トークン以上の思考を吐いていたことに気づいた(トークン27倍・コスト5倍・レイテンシ4倍)。賢いモデルは答える前に"考える"——人間には見えない思考の下書きを大量に生成する。難問には有効だが、機械的な1行翻訳では、その思考は完全に無駄だ。

ここで、足切り条件が生まれた

この一件から、モデル選定の必要条件が定まった。品質を測る前に、まずこれを満たすかどうか。

思考(reasoning)をオフにできるか。

これは些細な設定に見えて、実は生死を分ける。

  • あるモデル(Qwen3系)は、思考を完全にオフにする設定があった。1行の翻訳が、思考ゼロで即座に返る。
  • 別のモデル(gpt-oss系)は、思考を「弱・中・強」には設定できても、完全にオフにできなかった。結果、思考が出力枠を食い潰し、100件中26件で生成そのものが失敗した。品質(内容の良し悪し)は悪くないのに、構造的にリアルタイム失格だった。

賢さ(品質)は十分条件。思考オフ(と、決まった形式で必ず出力できること)は必要条件。必要条件を満たさないモデルは、どれだけ賢くても土俵に上がれない。これは、実際に3モデルを本番同型で測って初めて腑に落ちた。

モデル リアルタイム成功率 生成 p50 判定
思考オフ可・高速なモデル 96% 242 ms
前・本番モデル 94% 438 ms ⚠ 別の理由で後に退役
賢いが思考オフ不可のモデル 71%(※26%が生成失敗) 518 ms ❌ 失格

※リアルタイム成功率=本番と同じ条件で投げて、締め切り内に有効な訳(空でなく、決まった形式で返る)が得られた割合。「26%が生成失敗」は、思考が出力枠を食い潰し、訳が最後まで返らなかったケースを指す。

「速い=小さいモデル」も、思い込みだった

ついでに、もうひとつの当然も崩れた。「軽いモデルのほうが速いはずだ」というものだ。

そもそも、なぜ最初に軽量モデルを使っていたのか。理由は速さと安さだった。ところが、いざ品質の壁にぶつかってプロンプトや文脈をあらゆる形で12通り試しても、品質は頭打ち(=軽量モデルの天井)。次の一手として、初めてモデルそのものを変えるという選択肢を、完全に公平な条件(300件・同一プロンプト)で測った。

モデル 品質(合格率) 生成 中央値 コスト
軽量モデル 69.7% 308 ms 1.0x
中型モデル(思考オフ) 84.3%(+14.7pt) 253 ms 5.2x
大型モデル 87.7%(+18.0pt) 320 ms 11.6x

驚いたのは、中型モデルが軽量モデルより"速かった"ことだ(253ms < 308ms)。

理由は、ユーザーが待つ時間の作られ方にある。体感の待ち時間は、生成だけで決まらない。

E2E = 待ち行列(Queue) + 通信(Network) + 生成(Inference)

このうちモデルを小さくして削れるのは、最後の1項だけだ。そして短い出力では、その1項が全体の中で最も小さい。

E2Eの内訳を3モデルで比較した積み上げ横棒グラフ。待ち行列167msと通信275msは3モデル共通で合計442ms。生成は軽量308ms・中型253ms・大型320msで、E2E合計は軽量750ms・中型695ms・大型762ms。モデルを小さくして削れるのは生成の項だけで、その差は最大67ms=E2Eの1割未満にとどまる。

図1:E2Eの内訳を3モデルで比較。待ち行列167ms + 通信275ms = 442msは3モデル共通で、モデルを小さくして削れるのは生成の項だけ。E2E合計は軽量750ms/中型695ms/大型762ms。生成だけなら1.27倍あった差が、E2Eでは1.02倍に縮む。
注:生成は本記事の公平比較(N=300)、待ち行列・通信は同時期の本番実測。組み合わせは概算。

つまり「軽量=速い」は、E2Eのうち1項だけを見た結論だった。生成だけなら軽量と大型で1.27倍の差があるが、待ちと距離を含めた実際の待ち時間では1.02倍——モデルを小さくしても、ユーザーの体感はほとんど動かない。これは マニフェストの2番目の原則——「まだ、安く・速くできる」。隔離ベンチではなく、本番の全体像で制約を測り直す——の、モデル選定版だ。

軽量モデルの唯一の優位は、安さだけだった(この"安さ"が、のちに思わぬ形で牙を剥く——第4回)。

では、どのモデルを選んだか

足切りを通り、品質でも中型が軽量を+14.7pt上回り、速度でも勝った。では、大型(+18.0pt)まで行くべきか。私は中型を選んだ。大型は品質でさらに+3.4ptだが、コストは中型の2倍以上(5.2x→11.6x)。字幕翻訳では、その3.4ptに倍のコストは見合わない。必要条件(思考オフ)を満たし、品質とコストの釣り合いが最良の一点——それが中型だった。(この「勝者を選ぶのでなく、一長一短の選択肢から自分に合う一点を選ぶ」という考え方は、Paretoで改めて。)

教訓

  1. 品質の前に、足切り条件がある。 「思考をオフにできるか」「決まった形式で必ず返せるか」——リアルタイム用途では、これを満たさないモデルは賢くても失格。必要条件と十分条件を分けて考える。
  2. 賢さは、いつでも正義ではない。 機械的タスクにとって"過剰な賢さ"は、コストとレイテンシの純負債になる。
  3. 「軽い=速い」を疑え。 短い出力では速度差が通信と待ちに飲まれて消え、いちばん速いのはいちばん小さいモデルではなかった。しかもこの足切り条件は、仕様書ではなくログで見つかった。ボトルネックが変わると、常識は反転する。

付録:生データ

項目 実測 条件・留保
思考の暴発 1行翻訳(想定出力18トークン)に思考トレース500超 → トークン27x / コスト5x / レイテンシ4x 設定で完全オフにできるモデルと、できないモデルがある
3モデルの足切り(本番同型) リアルタイム成功率 96% / 94% / 71%、生成 p50 = 242 / 438 / 518ms 71%のモデルは思考が出力枠を食い、26%が生成失敗
品質の公平比較 軽量 69.7% / 中型 84.3%(+14.7pt, 253ms, 5.2x)/ 大型 87.7%(+18.0pt, 320ms, 11.6x) N=300・同一プロンプト・人手校正judge
「軽量=速い」の否定 生成 p50 の差 242〜518ms は、通信込みのE2Eでは相対的に縮む 短い出力では往復・待ちが支配的

シリーズ「計測が導いた旅」第3回の記事です。原文と続きは LYR Performance Note #003 / 記事一覧 にあります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?