Synthesizing and Adapting Error Correction Data for Mobile Large Language Model Applications
- モバイル入力の error correction(EC)では、公開 Web 由来の文だけでは実際のタッチ入力や会話調の短文を十分に表せない。
- 本論文は、LLM で文法誤りを付与し、規則でタイピング誤りを加えることにより、約 120 万対の合成 EC データを作る。
- 差分プライバシー付き federated learning で学習した小型 LM を使って合成データを重み付けし、Gemini Nano の LoRA ファインチューニングで本番 A/B テストの指標を改善した。
Abstract(日本語訳)
エラー訂正は、モバイル端末上でユーザーの入力を支援するために大規模言語モデル(LLM)を適用する際の重要な能力である。本論文では、モバイルアプリケーション向けの LLM を評価し改善するため、LLM を用いて高品質なエラー訂正対のデータセットを合成する。まず、既存のデータ合成パイプラインに対して、拡張可能で信頼性の高い追加要素を構築するため、エラー訂正領域の知識を与えて LLM にプロンプトを入力する。次に、サンプルを再重み付けすることにより、合成データの分布をモバイルアプリケーション領域に合うよう適応させる。この再重み付けモデルは、オフライン評価データ上の LLM 性能と、プライバシーを保護する小型のオンデバイス言語モデルから得たスコアを入力として、本番環境に LLM を配備した際の少数の live A/B test 指標を予測するよう学習される。最後に、オフライン評価と本番 live A/B testing の双方においてエラー訂正のモデル性能を改善するため、合成データを他のデータ源と混合する実践上の指針を示す。
論文の面白いところ
この論文の主題は、合成データを作ることそのものではなく、合成データを本番のモバイル入力に近づける点にある。モバイルキーボードでは、文法誤りだけでなく、隣のキーを押す、文字を落とす、同じ文字を重ねるといったタッチ入力特有の誤りが生じる。公開 Web コーパスから作った検証データで良い結果が出ても、本番の A/B テストで同じ傾向になるとは限らない。このずれを、ユーザーの生データを集め直すのではなく、差分プライバシー付き federated learning で学習した小型 LM のスコアを使って補正する。合成データ、プライバシー保護、A/B テストの三つを、実運用の制約の中で結び付けている点が実用的である。特に、数十億パラメータ級の LLM を直接 federated learning で扱うのではなく、約 800 万パラメータの小型 LM を領域情報のセンサーとして使う設計は堅実である。論文は Gemini Nano を対象にしており、モバイル端末または低遅延のサーバー配備を想定した設定になっている。
問題設定
対象は、モバイルアプリケーションにおける error correction である。ユーザーがチャットや検索欄に短い文を入力したとき、モデルは誤字、脱字、文法誤りを直した候補を返す。既存の本番パイプラインでは、公開 Web データから文法誤りを検出し、さらにタイピングシミュレータで誤りを加えて EC ペアを作る。しかし、この方法では抽出できるデータ量が限られ、公開 Web と実際のモバイル入力との分布差も残る。ユーザー入力を直接使えば領域差は小さくなるが、プライバシーの制約が強い。差分プライバシー付き federated learning は有力な手段であるものの、本番のモバイル環境で安定して扱えるモデル規模は論文中では 1000 万パラメータ程度とされる。したがって、数十億パラメータ級の LLM を改善するには、公開データから大規模な訓練例を作りつつ、モバイル入力らしさを別の方法で取り込む必要がある。
提案手法
手法は二段階から成る。第一段階では、C4 由来の公開 Web データを会話調・短文のモバイル入力に近い形へ絞り込み、Gecko text embedding と k-means により 2 万クラスタへ分け、各クラスタから 10 件ずつサンプリングする。これにより約 20 万文書、約 200 万例の短文候補を得る。次に Gemini Ultra に英語教師の役割を与えるプロンプトを使い、元文に起こりそうな文法誤りを説明させ、その誤りを実際に付与し、最後に訂正文を出させる。訂正文が元の clean text と一致する例だけを残すため、この段階で約 40% が除外される。残った文に対して、文字の入れ替え、脱落、反復、空間的に近いキーの押し間違いなどを規則で加え、約 120 万対の corrupted-clean 文ペアを作る。第二段階では、公開 C4 で学習した小型 LM と、差分プライバシー付き federated learning によりユーザー領域へ適応した小型 LM を使い、各サンプルの重みを推定する。この重みは、オフライン評価の per-sample 成否から本番の click through rate や accept rate などを予測しやすくなるように学習される。最後に、元の本番データ、合成データ、重みで選別した合成データを混合し、Gemini Nano に LoRA で継続的にファインチューニングを行う。
結果
合成データだけで訓練した場合、合成検証データでは大きく伸びるが、元の本番由来検証データでは必ずしも最良ではない。この結果は、公開データから作った合成データと既存の本番評価データの間に分布差があることを示している。クラスタに基づくサンプリングは、単純なランダムサンプリングと比べ、元の検証データで同程度、合成検証データでより良い傾向を示した。再重み付けモデルは、重みなし評価や既存のヒューリスティックな 0/1 フィルタよりも、live A/B test 指標の回帰残差を小さくした。最終的な訓練では、まず全合成データで 1000 steps ファインチューニングし、その後に元データと重みで選別した合成データを混ぜて継続訓練する ContMixFil が良い結果を示した。表 2 では、ContMixFil は元検証データの Top-1 good ratio で 70.48%、重み付き Top-1 で 73.31%、Top-3 で 80.78% を得ている。合成検証データでも Top-3 good ratio は 91.71%、重み付き Top-3 は 93.90% であり、合成データ専用に寄りすぎない性能になっている。本番 A/B テストでは、元データのみで訓練したモデルに対して、ContMixFil が click through rate や accept rate などの主要指標で 2.47% から 7.18% の相対改善を示した。
具体例
たとえば、ユーザーがスマートフォンで「i goes to teh store yestreday and buy two apple」と入力したとする。この入力には、主語と動詞の一致の誤り、過去時制の誤り、キーボード由来の綴り誤り、複数形の誤りが混ざっている。EC モデルに期待される出力は、「I went to the store yesterday and bought two apples」のような自然な訂正文である。論文の合成パイプラインでは、まず clean text から LLM が「goes」「buy」「apple」のような文法誤りを作り、その後に規則が「the」を「teh」、「yesterday」を「yestreday」のようなタイピング誤りへ崩す。モデルは corrupted 文から clean 文を復元するよう LoRA で学習される。難しい点は、すべてを直せばよいわけではないことである。たとえば固有名詞、略語、会話で意図的に崩した表現まで標準英語へ直すと、ユーザーの意図から外れる。そこで論文は、単なる完全一致だけでなく、LLM judge による good ratio や本番の accept rate を重視し、実際にユーザーが採用する訂正に近い評価へ寄せている。