一つのモードで測って満足しない
片方に最適化すると、もう片方が静かに壊れる
Live翻訳の数字を 90 から 96 へ押し上げて、「改善した」と宣言しかけた。全モードで測り直すと、PageとMangaが静かに4ポイントずつ落ちていた。
これは事故ではなく、繰り返し観測される形(regime shift)だった。同じ日に3手で確かめて、3手とも「狙ったモードが上がり、逆側が下がる」を再現した。
規律は単純だ。製品が複数のモードで使われるなら、1つのモードの数字だけで勝利を宣言してはいけない。 +6と−4を並べて初めて、天秤が存在する。片側しか見ていない限り、そもそも判断が成立しない。
LYRの翻訳モデルは、一つではなく複数のモード(=ユーザーの使い方が根本的に異なる利用シーン)で走る。動画字幕をリアルタイムに訳す Live、静止画面をまとめて訳す Page、コマ割りされた Manga。同じモデルが、この3つを兼務している。
ある日、私はそのうちの1つ——Live——を狙って磨いた。そして狙い通りの数字が出た。私は「改善した」と宣言しかけた。
宣言していたら、間違っていた。
Liveを磨いたら、狙い通り上がった
Liveの翻訳品質には、はっきりした弱点があった。慣用句を直訳する、主語を取り違える、言葉を幻覚する。そこで、教師モデルからN個の候補を出して品質で選び抜き(best-of-N)、その良質なデータで追加学習し、さらにLive専用の選好学習(CPO)で仕上げた。
結果は狙い通りだった。8Bモデル(80億パラメータの軽量機)の Live overall(総合品質スコア、同一評価セット上の %)が 90 → 96。以前は「8BのLiveは現役最強の27B(270億パラメータ)より6ポイント低い」と言われていた差が、ゼロになった。best-of-Nで作った良質データが、Liveのギャップを丸ごと埋めたのだ。この達成そのものの物語は小さな専門家が、現役最強と肩を並べたに書いた。
この時点で、私の目の前にあった数字はこれだけだった。
| モデル | Live |
|---|---|
| 磨く前(8B一般) | 90 |
| 磨いた後(8B Live特化) | 96 |
+6ポイント。27B同点。文句なしの勝利に見えた。もしここで手を止めていたら、私はこの数字を根拠に「Live特化を採用」と決めていた。
全モードで測ると、静かに壊れていた
だが、この製品はLiveだけで使われるわけではない。同じモデルがPageもMangaも訳す。だから、Liveだけでなく全モードで測り直した。
すると、こう出た。
| モデル | Live | Page | Manga |
|---|---|---|---|
| 磨く前(8B一般) | 90 | 93 | 92 |
| 磨いた後(8B Live特化) | 96 | 89 | 88 |
| 差分 | +6 | −4 | −4 |
Liveを+6上げた代償に、PageとMangaがそれぞれ−4。狙っていないモードが、静かに劣化していた。Liveの数字しか見ていなければ、この−4は永遠に見えなかった。
注:同一評価セット上の overall %。評価件数は記録に残していないため、単一評価の点推定として読む。
±数ポイントは慎重に扱うべき数字だ。ただし「狙ったモードが上がり、狙っていないモードが下がる」という同じ形が、下で見るように3つの独立な実験で再現した事実は、偶然では説明しにくい。
これは事故ではない。regime shift だ
なぜLiveを磨くとPageとMangaが下がるのか。1回なら偶然のノイズで片付けられる。だが、これは違った。同じ現象を、3つの別々の手で一貫して踏んだからだ。
| 足したデータ | Live | Page | Manga |
|---|---|---|---|
| Live特化(best-of-N+CPO) | ↑(+6) | −4 | −4 |
| Manga厚め(350×3) | −0.7 | −6.9 | ±0(ノイズ) |
| 文脈付き学習(単発行3661足す) | +7.2 | −5.1 | −1.1 |
狙ったモードは上がる。だがそのたびに、別のモードが下がる。3手とも同じ形をしている。これは事故ではなく、構造だ。
正体は regime shift(=使い方の異なる領域では、同じモデルが違う挙動をする現象)にある。8Bは1つのモデルで3モードを兼務するマルチタスクモデルだ。そして各モードは、出力の「形」が違う。Liveは単発の1行を返す。PageとMangaは複数ブロック(3〜7エントリ)を返す。片方の形のデータを増やすと、モデルが学ぶエントリ数やスタイルの分布が偏る。その結果、逆側の形のモードが崩れる。
特にわかりやすいのが上表の3行目だ。単発行のデータ(3661件)を足したら、この実験ではPageが最も大きく崩れた(−5.1、Mangaは−1.1)。複数ブロックを返すモードのうち、より深くエントリ数の分布が「1」に引っ張られたからだ。モード間は、データの分布を通じて強く干渉し合っている。だから片方に最適化する行為は、必然的にもう片方への攻撃になる。
1モードの数字は、勝利の証明ではない
ここから引き出せる規律は単純だ。
製品が複数のモードで使われるなら、1つのモードの数字だけを見て「改善した」と宣言してはいけない。 狙ったモードの向上は、狙っていないモードの劣化を隠す。しかもその劣化は、あなたがそのモードを測るまで、静かに存在し続ける。
文脈付き学習のとき、私は危うくこれをやりかけた。Liveだけを見て「純粋な改善だ」と結論しかけたのだ。だが規律に従って全モードで測り直して初めて、Page/Mangaの−5.1が露見した。狙ったモードの数字は、いつもいちばん先に、いちばん良い顔をして出てくる。だからこそ、そこで満足してはいけない。
これはマニフェスト第1原則「まず計測せよ」の、モード版だ。測る対象を1つに絞ることは、貧しい定義を選ぶことに等しい。豊かに測って初めて、あなたはトレードオフを見ていることになる。+6と−4を天秤にかけて「それでも採る/採らない」を判断できる。Liveの+6だけを見ている限り、天秤そのものが存在しない。
トレードオフが見えて初めて、−4を消しにいく設計(混ぜ再学習やモードごとのrouting)が議題に乗る——その打ち手の詳細は小さな専門家が、現役最強と肩を並べたに譲る。片モードの勝利宣言で止まっていたら、この議題は生まれなかった。
速く測れる時代の落とし穴は、いつもここにある。狙った1点だけを速く測り、良い数字を見て、確信する。その確信のすぐ隣で、測っていないものが静かに壊れている。
教訓
- 1モードの数字は、勝利の証明ではない。 狙ったモードの向上は、狙っていないモードの劣化を隠す。しかもその劣化は、測るまで静かに存在し続ける。
- 豊かに測って初めて、トレードオフが見える。 +6と−4を並べられて初めて「それでも採る/採らない」を判断できる。片側だけを見ている限り、天秤そのものが存在しない。
- 干渉はデータ分布を通じて起きる。 単一モデルが複数モードを兼務する限り、片方の形式に偏らせれば逆側が崩れる。足すデータは、エントリ数やスタイルの分布を壊さない形にする。
付録:生データ
| 実験 | 結果 | 条件・留保 |
|---|---|---|
| Live特化の結果と代償 | 一般CPO(Live 90 / Page 93 / Manga 92)→ Live特化(Live 96 / Page 89 / Manga 88)= Live +6 の代償に 各−4 | 8B・同一評価セット、overall%。内訳は SFT-aug +2、Live-CPO +4。参考: 27B は Live 96 / Page 98 / Manga 99 |
| regime shift の3手一貫実証 | ①Live特化 → Page・Manga −4/②Manga厚め → Page −6.9・Live −0.7(Manga は±0)/③文脈付き学習 → Live +7.2・Page −5.1 | 同日に3手。いずれも「狙ったモードが上がると逆側が下がる」で一致 |
| 機構 | 単一マルチタスクモデルで、Live=単発1行、Page/Manga=複数ブロック(3〜7エントリ) | 片モードの形式に偏るとエントリ数/スタイルの学習分布が偏る。単発行を足すとPageが最も崩れる |
| 不確実性の注記 | overall% は点推定で、評価件数(n)は未記録 | 個々の±数ポイントは単独では根拠にできない。主張は向きの再現性(3手一貫)に依拠 |
| 適用規律 | 毎回全モードを測る/足すデータは分布を崩さない形に | 既存の複数ブロック例に付与、比率cap、モード別routing |