AI・機械学習
中級

LLMラベルスムージング損失(エルエルエムラベルスムージングソンシツ)

正解ラベルのone-hot分布を平滑化し、モデルの過信を抑制する正則化手法。Transformerの原論文で採用され、LLMの汎化性能向上に貢献する。

0 回閲覧
0 いいね

LLMラベルスムージング損失とは

ラベルスムージング(Label Smoothing)は、正解トークンの確率を1.0から (1 - ε) に引き下げ、残りの ε を他の全トークンに均等に分配する正則化技法である。2015年にSzegedyらがInception v2で提案し、2017年の「Attention Is All You Need」(Transformer原論文)で機械翻訳に採用されて広く知られるようになった。

通常の交差エントロピーではone-hotラベル(正解=1、他=0)を使うが、ラベルスムージングでは正解=0.9、他=0.1/(V-1)(V=語彙サイズ、ε=0.1の場合)のようなソフトラベルを使う。これにより、モデルが正解トークンに過度に高い確率を割り当てる過信を防ぎ、汎化性能が向上する。

数学的定義

スムージング後のターゲット分布 q'(k) は:

q'(k) = (1 - ε) × q(k) + ε / V

ここで q(k) は元のone-hotラベル、ε はスムージング係数(通常0.1)、V は語彙サイズ。損失関数は標準的な交差エントロピーだが、ターゲット分布が平滑化されている。

Transformer論文での採用

「Attention Is All You Need」では ε=0.1 のラベルスムージングを使用し、WMT 2014英独翻訳でBLEUスコアが+0.5〜1.0向上した。以降、Transformer系モデルの事前学習・ファインチューニングで広く採用されている。

モデルε値効果タスク
Transformer (原論文)0.1BLEU +1.0英独翻訳
BERT0.1MLM精度向上言語理解
T5 11B0.1SuperGLUE +0.3マルチタスク
PaLM 540B0.0 (不使用)大規模では効果限定的汎用
Gemma 2 27B0.1HellaSwag +0.5推論

興味深いことに、PaLM 540Bのような超大規模モデルではラベルスムージングを使用していない。モデルサイズが十分に大きい場合、暗黙的な正則化効果(大パラメータ空間のランダム初期化)が十分であるため、追加の正則化が不要になるという仮説がある。

ε パラメータの影響

ε値効果リスク
0.0スムージングなし(標準CE)過信・過学習
0.05軽度のスムージング安全な開始点
0.1標準設定(最も広く使用)バランス良好
0.2強いスムージング学習が遅くなる可能性
0.3+極端なスムージング正解と不正解の区別が曖昧に

ε=0.1 が事実上のデフォルトで、ほとんどの場合でチューニング不要。ε>0.2 はラベルノイズと同等になり性能が劣化するリスクがある。

過信抑制のメカニズム

Expected Calibration Error (ECE)

ラベルスムージングを使ったモデルは、予測確率と実際の正答率の一致度(キャリブレーション)が改善される。例えば、モデルが「90%の確信度」と出力した場合、実際に90%正解するようになる。これは医療AI・自動運転などの安全性が重要なアプリケーションで不可欠な性質。

知識蒸留との関係

ラベルスムージングは暗黙的な知識蒸留と解釈できる。正解以外のトークンにも小さな確率を割り当てることで、教師モデルのソフトラベルと同様の効果を得ている。Hintonの知識蒸留論文(2015年)でもこの関連性が議論されている。

実装のポイント

PyTorchでの実装

PyTorchの torch.nn.CrossEntropyLoss には label_smoothing パラメータが組み込まれており(PyTorch 1.10以降)、1行で適用できる。

Hugging Face Transformersの Trainer でも label_smoothing_factor 引数で設定可能。GPT-2/BERT/T5等のファインチューニング時にシームレスに適用できる。

損失値の解釈に注意

ラベルスムージングを使うと理論上の最小損失値が0ではなく -Σ q'(k) log q'(k) になる。モデル間の損失値を比較する際は、同じε値で統一する必要がある。

FAQ

Q1: ラベルスムージングとDropoutは併用すべき?

併用可能で、実際にTransformer原論文でも両方使用している。ただし、両方の正則化が強すぎると学習が収束しにくくなるため、Dropoutを弱めに(0.1以下)する調整が一般的。

Q2: 大規模LLMの事前学習にも効果がある?

モデルサイズが100B超になると効果が限定的になる傾向がある(PaLMの事例)。ファインチューニングでは規模に関係なく有効。

Q3: εはタスクごとに変えるべき?

ε=0.1で始めて問題がなければ変更不要。ノイジーなラベル(クラウドソーシングのアノテーション等)ではε=0.2が有効なことがある。