# z loss z lossは、softmax cross entropyに加える正則化項であり、ロジットのlog-sum-expを抑制して数値安定性を確保することを狙う損失関数である。記事では次式が示されている。 $L(x)=\left(\log\left(\sum_{i=0}^{C}\exp(x[i])\right)\right)^2$ ## PLaMo-100Bでの利用 [[PLaMo-100B]]では、z lossの学習安定化効果そのものは大規模ランで切り分けられなかった。一方、性能低下は確認されず、学習がうまくいかない時には他の損失や下流タスクより値の変化が大きいことがあり、学習状態を確認するメトリクスとして使われた。(Source: [[@2024__Preferred Networks__1,000億パラメータ規模の独自LLM「PLaMo-100B」の事前学習]]) FP8をlm-headに適用した小規模実験では、train lossに大きな問題がないにもかかわらずz lossが非常に高くなり、後続ベンチマークの性能も悪化した。この観測から、lm-headの計算はFP8ではなくBF16を用いた。(Source: [[@2024__Preferred Networks__1,000億パラメータ規模の独自LLM「PLaMo-100B」の事前学習]]) ## 横断的知見 - 混合精度訓練では、主損失だけでなく数値安定性に敏感な補助メトリクスを併用することで、下流タスクに現れる前の低精度化の問題を検知できる可能性がある。(Source: [[@2024__Preferred Networks__1,000億パラメータ規模の独自LLM「PLaMo-100B」の事前学習]], [[@2023__arXiv__FP8-LM Training FP8 Large Language Models]]) ## 未解決の問い - z lossの上昇が、lm-head以外の層や異なる低精度形式でも下流性能劣化を予測できるか。 - z lossの適切な閾値と、主損失・勾配ノルム・ベンチマークとの因果関係をどう定量化するか。 ## 関連 - 概念: [[損失関数]] / [[混合精度訓練]] / [[言語モデル事前学習]] - エンティティ: [[PLaMo-100B]] / [[NVIDIA H100]] - 出典: [[@2024__Preferred Networks__1,000億パラメータ規模の独自LLM「PLaMo-100B」の事前学習]]