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

un

visitante
1 / ?

eval_chat_quality() Estava Conectada ao Executor Errado

Uma Falha de 10 Dias Que Deveria Ter Parado no Dia 3

ANDREA-120M v1 treinou por 16,1 dias em uma RTX 4090 a 130W contínuos. Saídas de amostras foram armazenadas a cada 200 passos, mas nunca analisadas durante a execução. No passo 80K (dia 4), as amostras liam region region region region region. No passo 110K, ''''' ''''' '' ''' ''. O treinamento continuou por mais 11 dias antes de ser interrompido manualmente no passo 165K.


O Que Deu Errado com o Alarme de Incêndio

A função eval_chat_quality() existia no código. Ela pontuava a qualidade das amostras. Ela até funcionava corretamente. Mas estava conectada apenas ao runner multi-fase legado. O currículo firehose v1 usava um caminho de código diferente e nunca invocava a eval. O alarme de fumaça ficava em outra sala com a porta fechada.


O Custo

16,1 dias de computação. 130W contínuos. ~50 kWh de eletricidade. O modelo não produziu saída utilizável em nenhum momento. A EMA de perda atingiu o mínimo de 3,23 no passo 110K, depois subiu para 4,54 no passo 165K quando o treinamento parou. Numericamente razoável; semanticamente vazio.


A chance aleatória para um vocabulário de 8449 tokens é 9,04. O v1 atingiu perda EMA 3,23 enquanto produzia region region region. A perda sozinha não pode detectar colapso de coerência. Um modelo que minimiza a entropia cruzada repetindo um token de alta frequência é numericamente recompensado pelo modo de falha.

Por Que as Curvas de Perda Mentiram

O v1 atingiu perda EMA 3,23 (bem abaixo da chance aleatória 9,04) enquanto produzia `region region region region`. Explique em 2-3 frases como um modelo pode alcançar perda numericamente razoável enquanto produz saída degenerada. Referencie o mecanismo de entropia cruzada.

Pontue Cada Amostra em Quatro Eixos

A Pontuação Composta

A v2 implementa um portão de coerência que pontua cada amostra (coletada a cada 100 passos durante o treinamento em mangueira de incêndio) em quatro métricas:


Fluxo do portão de coerência


MétricaFaixaO que ela detecta
Diversidade de bigramas0-35Repetição no nível de dois tokens (região região)
Diversidade de trigramas0-35Repetição no nível de três tokens (a, b, a, b, a, b)
Presença de palavras em inglês0-20Desvio para não-inglês (CJK, cirílico, gibberish)
Diversidade de caracteres0-10Colapso em caractere único (''''', ... ... ...)

Total possível: 100. Limiar: 30.


Por que Quatro Métricas, Não Uma

Cada métrica captura um modo de falha diferente:


- Um modelo colapsando para um bigrama único falha na Diversidade de Bigramas, mas passa na Diversidade de Caracteres.

- Um modelo produzindo ruído de pontuação (''''' ''''' '') falha na Diversidade de Caracteres, mas pode passar na Diversidade de Bigramas se os pares de pontuação variam.

- Um modelo que deriva para não-inglês (contaminação de treinamento de tradução) falha na presença de palavras em inglês, mas passa na diversidade de Bigram & Trigram se produzir mandarim gramatical.

- Um modelo que produz a, b, a, b, a, b passa no Bigram (a-b & b-a aparecem) mas falha no Trigram (a-b-a, b-a-b dominam).


Juntas, as quatro métricas abrangem o espaço de falhas. Uma pontuação composta abaixo de 30 significa que pelo menos um eixo colapsou o suficiente para arrastar toda a amostra para baixo.


Contador Consecutivo

O auto-halt dispara após 5 amostras consecutivas com pontuação abaixo de 30. Amostras ruins isoladas podem ocorrer durante transições de fase ou puxões de fontes raras; cinco seguidas significam que o modelo parou de se recuperar. Com amostras tomadas a cada 100 passos, 5 amostras degeneradas consecutivas = 500 passos de colapso de coerência confirmado.

Calcular uma Pontuação

Uma amostra v1 no passo 80K lê `region region region region region region region region`. Estime as pontuações: (a) Diversidade de bigramas, (b) Diversidade de trigramas, (c) Presença de palavras em inglês, (d) Diversidade de caracteres. Calcule o total. O gate é acionado apenas por esta amostra?

Como a v1 Teria Parecido

Acionamento Testado Retroativamente

Dadas as amostras armazenadas da v1, aplicando retroativamente o gate de coerência da v2 mostra que o gate teria sido acionado no passo 132K. A v1 rodou até o passo 165K antes da terminação manual. O gate teria parado o treinamento 33.000 passos antes.


Computação Economizada

RTX 4090 treinada a ~6 passos/min em FP16 cuBLAS. 33.000 passos / 6 passos/min = 5.500 minutos = 91,6 horas = 3,8 dias de computação economizados. A 130W contínuos, isso é ~12 kWh de eletricidade, mais 3,8 dias de desgaste da GPU.


Por que Passo 132K e Não Passo 80K

v1 produziu region region region no passo 80K. Por que o gate não disparou então?


Porque amostras boas intermitentes apareciam entre as ruins. O bandit ciclava pelas fontes a cada 7-42 passos. Mesmo um modelo degenerado ocasionalmente produzia saídas mais diversas ao amostrar de uma fonte diferente, reiniciando momentaneamente o contador consecutivo. No passo 132K, o modelo havia colapsado profundamente o suficiente para que 5 amostras degeneradas consecutivas (500 passos) se tornassem inevitáveis.


Lição: Conecte o Alarme de Fumaça a Todos os Cabos

A v2 conecta eval_chat_quality() diretamente ao caminho de código de manipulação de amostras do currículo firehose, não apenas ao runner legado. Toda amostra, toda execução, todo caminho de código: o mesmo portão. A correção levou ~30 linhas de código.

Generalize o Padrão de Engenharia

A v1 desperdiçou 3,8 dias porque eval_chat_quality() estava conectada apenas a um runner. Argumente (em 2-3 frases) qual princípio de engenharia o portão de coerência da v2 estabelece para treinamento de ML de longa duração. Referencie tanto a escolha de fiação quanto o design de métrica composta.