English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

ゲスト
1 / ?

eval_chat_quality() が間違ったランナーに接続されていた

3日目で停止すべきだった10日間の失敗

ANDREA-120M v1はRTX 4090で130W連続で16.1日間訓練されました。サンプル出力は200ステップごとに保存されましたが、実行中は一度も分析されませんでした。80Kステップ(4日目)でサンプルはregion region region region regionと出力。110Kステップでは''''' ''''' '' ''' ''。訓練はさらに11日続き、165Kステップで手動で終了しました。


煙感知器に何が起こったのか

eval_chat_quality() はコードベースに存在していました。サンプルの品質をスコアリングし、正しく動作していました。しかし、レガシーの多段階ランナーにのみ接続されていました。v1 firehose カリキュラムは異なるコードパスを使用し、eval を呼び出していませんでした。煙探知機は別の部屋に閉じ込められていました。


コスト

16.1 日分の計算リソース。130W 連続。~50 kWh の電力。モデルはどの時点でも使用可能な出力を生成しませんでした。Loss EMA はステップ 110K で 3.23 の底を打ち、その後トレーニングが停止したステップ 165K で 4.54 に戻りました。数値的には合理的;意味的には空虚です。


8449 トークンの語彙に対するランダム確率は 9.04 です。v1 は region region region を生成しながら 3.23 の EMA loss に到達しました。Loss だけでは一貫性の崩壊を検知できません。 クロスエントロピーを最小化するために高頻度トークンを繰り返すモデルは、この失敗モードに対して数値的に報酬を受け取ります。

なぜ Loss 曲線が嘘をついたのか

v1 は `region region region region` を生成しながら EMA loss 3.23(ランダム確率 9.04 を大幅に下回る)に到達しました。モデルが数値的に合理的な loss を達成しつつ退化した出力を生成する方法を 2-3 文で説明してください。クロスエントロピー機構を参照してください。

4つの軸ですべてのサンプルをスコアリング

合成スコア

v2は、一貫性ゲートを搭載しており、火hose訓練中に毎100ステップで採取されるすべてのサンプルを4つの指標でスコアリングします:


Coherence gate flow


メトリクス範囲検出するもの
Bigram diversity0-352トークン単位での繰り返し (region region)
Trigram diversity0-353トークン単位での繰り返し (a, b, a, b, a, b)
English word presence0-20非英語(CJK、キリル文字、意味不明な文字列)への逸脱
Character diversity0-10単一文字の崩壊 (''''', ... ... ...)

合計可能点: 100。閾値: 30。


なぜ4つのメトリクスなのか、1つではなく

各メトリクスは異なる失敗モードを捉えます:


- 1つのビグラムに崩壊するモデルはビグラム多様性に失敗しますが、文字多様性はパスします。

- 句読点ノイズ(''''' ''''' '')を生成するモデルは文字多様性に失敗しますが、句読点のペアが多様であればビグラム多様性はパスする可能性があります。

- 非英語(翻訳訓練汚染)へドリフトするモデルは、英語の単語存在を失敗するが、文法的なマンダリンを生成すればBigramおよびTrigramの多様性を通過する。

- a, b, a, b, a, b を生成するモデルはBigram(a-bおよびb-aが出現)を通過するが、Trigram(a-b-a、b-a-bが支配的)を失敗する。


これら4つのメトリクスは、失敗空間を網羅する。合成スコアが30未満の場合、少なくとも1つの軸が全体のサンプルを低下させるほど深刻に崩壊したことを意味する。


連続カウンター

5連続サンプルが30未満のスコアになると自動停止が発動する。単一の不良サンプルは位相遷移や稀なソース引き出し中に発生し得るが、5連続はモデルが回復を停止したことを意味する。サンプルが100ステップごとに取得されるため、5連続の退化サンプル = 確認された一貫性崩壊の500ステップ。

スコアを計算する

ステップ80Kでのv1サンプルは`region region region region region region region region`です。スコアを推定してください:(a) ビグラム多様性、(b) トリグラム多様性、(c) 英語単語の存在、(d) 文字多様性。合計を計算してください。このサンプルだけでゲートがトリガーしますか?

v1はどのような様子だったか

バックテストされたトリガー

v1の保存されたサンプルにv2のコヒーレンスゲートを遡及的に適用すると、ゲートはステップ132Kでトリガーしていたことがわかります。v1は手動終了前にステップ165Kまで実行されました。ゲートは33,000ステップ早くトレーニングを停止していたでしょう。


節約された計算量

RTX 4090 は FP16 cuBLAS で約6ステップ/分で訓練。33,000ステップ / 6ステップ/分 = 5,500分 = 91.6時間 = 3.8日分の計算量を節約。 130W連続で、約12 kWhの電力、プラス3.8日分のGPU摩耗。


なぜステップ132Kで、ステップ80Kではないのか

v1はステップ80Kでregion region regionを生成。なぜその時ゲートが発火しなかったのか?


悪いサンプル間に断続的に良いサンプルが現れたため。バンディットは7-42ステップごとにソースを循環した。退化モデルでも異なるソースからサンプリングすると時折多様な出力が生まれ、連続カウンターが一時的にリセットされた。ステップ132Kまでモデルが深く崩壊し、5連続退化サンプル(500ステップ)が避けられなくなった。


レッスン: 煙探知機をすべてのランナーに配線する

v2 は eval_chat_quality() を firehose カリキュラムのサンプル処理コードパスに直接配線し、レガシーランナーだけではありません。すべてのサンプル、すべての実行、すべてのコードパス: 同じゲートです。この修正には約30行のコードが必要でした。

エンジニアリングパターンを一般化する

v1 は eval_chat_quality() が1つのランナーにしか配線されていなかったため3.8日を無駄にしました。v2のコヒーレンスゲートが、長期間のMLトレーニングのためのエンジニアリング原則として何を確立するかを、2-3文で主張してください。配線選択とcomposite-metric設計の両方を参照してください。