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

un

invité
1 / ?
retour aux leçons

eval_chat_quality() Était connecté au mauvais exécuteur

Un échec de 10 jours qui aurait dû s'arrêter au jour 3

ANDREA-120M v1 a été entraîné pendant 16,1 jours sur une RTX 4090 à 130W en continu. Les sorties échantillonnées étaient stockées toutes les 200 étapes mais jamais analysées pendant l'exécution. À l'étape 80K (jour 4), les échantillons lisaient region region region region region. À l'étape 110K, ''''' ''''' '' ''' ''. L'entraînement a continué pendant 11 jours supplémentaires avant d'être arrêté manuellement à l'étape 165K.


Qu'est-ce qui n'a pas fonctionné avec l'alarme incendie

eval_chat_quality() existait dans le codebase. Il évaluait la qualité des échantillons. Il fonctionnait même correctement. Mais il n'était connecté qu'au runner multi-phase legacy. Le curriculum firehose v1 utilisait un chemin de code différent et n'invoquait jamais l'eval. L'alarme incendie était dans une autre pièce avec la porte fermée.


Le Coût

16,1 jours de calcul. 130W en continu. ~50 kWh d'électricité. Le modèle n'a produit aucune sortie utilisable à aucun moment. La perte EMA a atteint un minimum de 3,23 à l'étape 110K, puis est remontée à 4,54 à l'étape 165K lorsque l'entraînement s'est arrêté. Numériquement raisonnable ; sémantiquement vide.


La chance aléatoire pour un vocabulaire de 8449 tokens est de 9,04. v1 a atteint une perte EMA de 3,23 tout en produisant region region region. La perte seule ne peut pas détecter l'effondrement de cohérence. Un modèle qui minimise l'entropie croisée en répétant un token haute-fréquence est numériquement récompensé pour ce mode de défaillance.

Pourquoi les Courbes de Perte Mentent

v1 a atteint une perte EMA de 3,23 (bien en dessous de la chance aléatoire de 9,04) tout en produisant `region region region region`. Expliquez en 2-3 phrases comment un modèle peut obtenir une perte numériquement raisonnable tout en produisant une sortie dégénérée. Référez-vous au mécanisme d'entropie croisée.

Noter chaque échantillon sur quatre axes

Le score composite

v2 implémente une porte de cohérence qui note chaque échantillon (prélevé toutes les 100 étapes pendant l'entraînement en firehose) sur quatre métriques :


Coherence gate flow


MétriquePlageCe qu'elle détecte
Diversité bigramme0-35Répétition au niveau deux tokens (region region)
Diversité trigramme0-35Répétition au niveau trois tokens (a, b, a, b, a, b)
Présence de mots anglais0-20Déviation vers du non-anglais (CJK, cyrillique, charabia)
Diversité des caractères0-10Effondrement sur un seul caractère (''''', ... ... ...)

Total possible: 100. Threshold: 30.


Pourquoi quatre métriques, et non une seule

Chaque métrique détecte un mode d'échec différent :


- Un modèle qui s'effondre sur un bigramme unique échoue à la diversité des bigrams mais réussit la diversité des caractères.

- Un modèle produisant du bruit de ponctuation (''''' ''''' '') échoue à la diversité des caractères mais pourrait réussir la diversité des bigrams si les paires de ponctuation varient.

- Un modèle dérivant vers une langue non anglaise (contamination d'entraînement à la traduction) échoue à la présence de mots anglais mais passe la diversité Bigram & Trigram s'il produit du mandarin grammatical.

- Un modèle produisant a, b, a, b, a, b passe Bigram (a-b & b-a apparaissent) mais échoue Trigram (a-b-a, b-a-b dominent).


Ensemble, les quatre métriques couvrent l'espace des échecs. Un score composite inférieur à 30 signifie qu'au moins un axe s'est effondré assez gravement pour entraîner l'ensemble de l'échantillon vers le bas.


Compteur Consécutif

L'arrêt automatique se déclenche après 5 échantillons consécutifs avec un score inférieur à 30. Des échantillons défectueux isolés peuvent survenir lors de transitions de phase ou de tirages de sources rares ; cinq d'affilée signifient que le modèle a cessé de se rétablir. Avec des échantillons pris toutes les 100 étapes, 5 échantillons dégénérés consécutifs = 500 étapes de collapse de cohérence confirmé.

Calculer un Score

Un échantillon v1 à l'étape 80K lit `region region region region region region region region`. Estimez les scores : (a) Diversité bigramme, (b) Diversité trigramme, (c) Présence de mots anglais, (d) Diversité des caractères. Calculez le total. La porte se déclenche-t-elle sur cet échantillon seul ?

À quoi aurait ressemblé v1

Déclenchement Back-Testé

Compte tenu des échantillons stockés de v1, l'application rétroactive de la porte de cohérence v2 montre que la porte aurait été déclenchée à l'étape 132K. v1 a fonctionné jusqu'à l'étape 165K avant l'arrêt manuel. La porte aurait arrêté l'entraînement 33 000 étapes plus tôt.


Calcul Économisé

RTX 4090 entraînée à ~6 étapes/min en FP16 cuBLAS. 33 000 étapes / 6 étapes/min = 5 500 minutes = 91,6 heures = 3,8 jours de calcul économisés. À 130 W en continu, cela représente ~12 kWh d'électricité, plus 3,8 jours d'usure du GPU.


Pourquoi l'étape 132K et pas l'étape 80K

v1 a produit region region region à l'étape 80K. Pourquoi la porte ne s'est-elle pas déclenchée alors ?


Parce que des échantillons bons intermittents apparaissaient entre les mauvais. Le bandit parcourait les sources toutes les 7-42 étapes. Même un modèle dégénéré produisait occasionnellement des sorties plus diversifiées en échantillonnant à partir d'une source différente, réinitialisant momentanément le compteur consécutif. À l'étape 132K, le modèle s'était effondré assez profondément pour que 5 échantillons dégénérés consécutifs (500 étapes) deviennent inévitables.


Leçon : Relier le Détecteur de Fumée à Chaque Câble

v2 intègre eval_chat_quality() directement dans le chemin de code de gestion des échantillons du curriculum en firehose, pas seulement dans le runner legacy. Chaque échantillon, chaque exécution, chaque chemin de code : la même porte. La correction a pris ~30 lignes de code.

Généraliser le Modèle d'Ingénierie

v1 a gaspillé 3,8 jours parce que eval_chat_quality() n'était relié qu'à un seul runner. Argumentez (en 2-3 phrases) quel principe d'ingénierie la porte de cohérence v2 établit pour l'entraînement ML à long terme. Référez-vous au choix de câblage & à la conception de métrique composite.