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

un

visitante
1 / ?

Dezesseis Dias de region region region

A Execução Que Terminou

ANDREA-120M v1 lançada em 2026-03-22 & terminada em 2026-04-15 no passo 165.000 de 200.000 planejados. Mínimo de perda EMA: 3.23 no passo 110K (chance aleatória: ln(8449) = 9.04, então a perda parecia respeitável). Amostras não.


Passo 80K: região região região região região região região
Passo 110K: ''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
Passo 140K: jogos, jogos, jogos, jogos, jogos, jogos
Passo 165K: Budy Budy Budy Budy Budy Budy Budy Budy Budy

Dezesseis dias de computação RTX 4090. 130W contínuos. Lixo a partir do passo 80K.


Do microGPT ao ANDREA-120M


Por que o microGPT funcionou, mas o 120M não

O ANDREA-12M usou o mesmo proxy de treinamento & passou. Matrizes de pesos menores provaram ser mais robustas a choques de gradiente. Escalar para 120M parâmetros multiplicou cada fragilidade. Cinco falhas se acumularam.


Cinco Falhas Acumuladas


Falha 1: Sem clipping de gradiente. Transições de fonte a cada 7-42 passos produziram picos de gradiente ilimitados. Um único lote ruim em 120M pode empurrar o modelo para um atrator degenerado do qual o otimizador não consegue escapar. O modelo de 12M sobreviveu porque pesos menores toleraram os choques.


Falha 2: Sem aquecimento de LR. A taxa de aprendizado saltou de 0 para o pico imediatamente em pesos recém-inicializados. O modelo caiu em uma bacia ruim antes que qualquer representação pudesse se formar.


Falha 3: Sem decaimento de peso. Adam vanilla permitiu pesos arbitrariamente grandes que amplificaram padrões de repetição na capacidade de 120M.


Falha 4: Sem monitoramento de qualidade de amostra. eval_chat_quality() estava conectado apenas ao runner multi-fase legado; o currículo firehose nunca o invocou. O modelo produziu lixo a partir do passo 80K em diante, não detectado por 10+ dias.


Falha 5: Bandit recompensou fontes repetitivas. repo-docs, repo-docstrings e unfirehose-chat pontuaram mais alto (recompensas médias 340-453) porque conteúdo estruturado em lista reduz a entropia cruzada trivialmente. O bandit alimentou o modelo com mais do que o fez degenerar.


Compostagem

Nenhuma falha isolada teria colapsado a v1. Cada uma amplificou as outras. Choques de gradiente (1) sem aquecimento (2) atingiram um modelo recém-inicializado com pesos arbitrariamente grandes (3), produzindo repetição que o bandido recompensou (5), enquanto ninguém estava observando a saída (4). Cinco causas interseccionais, um colapso.

Por Que Cinco Falhas, Não Uma

Escolha QUALQUER DUAS das cinco falhas da v1. Para cada uma, explique em uma frase: (a) o que foi a falha; (b) como ela interagiu especificamente com outra das cinco falhas para agravar o dano.

Uma Correção Por Falha

Configuração v2 (2026-04-15)


CorreçãoVisa falhaImplementação
Clipagem de gradienteF1 (sem clipagem)Norma L2 global, max_norm=1.0; três kernels CUDA (k_grad_norm_partial, k_grad_norm_final, k_grad_scale) computam e aplicam pré-Adam
Aquecimento de LRF2 (sem aquecimento)Rampa linear de 0 ao pico em 2000 passos. lr(t) = lr_scheduled(t) * min(1, (t+1)/warmup_steps)
AdamWF3 (sem weight decay)Decoupled weight decay (Loshchilov & Hutter 2019), weight_decay=0.01. p -= lr (m_hat/(sqrt(v_hat)+eps) + weight_decayp)
Coherence-gated early stoppingF4 (sem monitoramento)Pontuar cada amostra (diversidade bigram/trigram/palavra/char). Parada automática após 5 amostras consecutivas com pontuação abaixo de 30
Curriculum warmupF5 (bandit come repetição)Primeiros 20K passos restritos a 7 fontes de chat/prosa; firehose ativa depois; repo-docstrings excluídos inteiramente

Além disso, sample_every reduzido de 200 para 100 passos (cadência de auditoria dobrada), & limite de repo-docs reduzido de 0.5 para 0.3.


Back-Test

Coherence gate back-testado na v1: teria disparado no passo 132K, economizando 3.8 dias de compute. O gate sozinho teria cortado ~30% do compute desperdiçado da v1; as outras quatro correções impedem que a v1 chegue a disparar o gate.


O que o v2 NÃO Consertou

Contaminação de dados. O v2 confiou em fontes hermes3-* como 'pré-limpos' porque vinham de um professor LLM. DEEP_CLEAN_SKIP no Makefile excluiu hermes3-general, hermes3-creative e hermes3-roleplay de make deep-clean. unfirehose-chat capturou prompts de sistema de agente como turnos de usuário. Esses dois defeitos esperavam na camada de dados, prontos para emergir.

Mapeando Consertos às Falhas

Três dos consertos do v2 se conectam claramente a uma falha do v1 cada. Combine: (a) gradient clipping (max_norm=1.0); (b) LR warmup (rampa linear de 2000 passos); (c) AdamW com weight_decay=0.01. Para cada um, nomeie a falha do v1 que ele aborda e explique em uma frase POR QUE esse conserto específico combate essa falha.

Passo 15K: Dois Defeitos de Dados Surgem

O que a v2 Viu

A v2 foi lançada em 2026-04-15. No passo ~15K de 200K (7,5% completo), as amostras produziram ornamentos de agente-harness (○ ●) & fallback de dominância de artigo (a = 26% das palavras no passo 14.966; the = 21% no passo 14.798). As cinco correções de estabilidade da v2 estavam funcionando corretamente. A falha havia se movido da arquitetura para os dados.


Dois Defeitos Independentes de Pipeline


Defeito A: unfirehose-chat capturou prompts de sistema de agente como turnos de usuário. O unfirehose-chat constrói a partir de arquivos JSONL de sessão de harness em ~/.claude/, ~/.fetch/, ~/.uncloseai/. O pipeline de ingestão converteu prompts de sistema de agente multi-seção (# Agent X, ## Identity, ## Rules, etc.) no slot de turno de usuário de pares > user / < assistant. O modelo aprendeu que 'usuários' falam em markdown multi-seção, & reproduziu esses ornamentos em suas próprias saídas.


Defeito B: hermes3-* contornou todos os filtros. DEEP_CLEAN_SKIP no Makefile excluiu hermes3-general, hermes3-creative e hermes3-roleplay do make deep-clean sob a falsa suposição de que dados destilados de LLM estavam pré-limpos. Uma varredura exaustiva mostrou que os filtros existentes, quando aplicados, rejeitariam 87-93% das linhas hermes3 (parágrafos oversized >2000 chars transbordando block_size=1024; respostas de tradução em CJK/Cyrillic/Árabe; execuções de baixa diversidade bigram).


Patch v2.5 (commit de24332, 2026-04-18)


Duas mudanças estruturais.


Mudança 1: has_system_prompt_shape() em filter-dataset.c. Detecta prompts de sistema vazados por FORMA, não por correspondência de caracteres. Três sinais combinados:

1. 3+ cabeçalhos markdown em um turno = descartar.

2. 2+ cabeçalhos com comprimento de turno >=500 caracteres = descartar.

3. Frases de impressão digital de shard do agente (# Agent , Shadow Clone, Your shard, Read it. Become it, This file defines) combinadas com qualquer cabeçalho ou comprimento >=400 = descartar.


Regra de isolamento: verifique o primeiro turno do usuário na separação / (com espaços, não / simples que fragmenta caminhos de URL) para evitar falsos positivos em markdown legítimo nas respostas do assistente.


Mudança 2: hermes3-* movido para fora de DEEP_CLEAN_SKIP. Não confie em nada não filtrado.


Taxas de Descarte Após o Patch


fontein-linesout-linesdescartadas
hermes3-general536,85867,39587.7%
hermes3-roleplay35,1912,48193.0%
hermes3-creative14,2581,37390.4%
unfirehose-chat3,8162,65330.5%
chat45.25744.5381,6% (ruído)
smoltalk11.81211.8120,0%

Os filtros de linha de base já capturavam 87-93% da contaminação hermes3; DEEP_CLEAN_SKIP era o defeito estrutural principal. O novo detector de forma adiciona ~0,1% de rejeição adicional no geral, concentrado em unfirehose-chat, onde remove vazamentos específicos de agent-shard que os filtros existentes não detectam.


Por Que a Forma Supera o Caractere

Os ornamentos evoluem. Um filtro de correspondência de caractere que remove não faz nada sobre na próxima semana. Um filtro baseado em forma (contar cabeçalhos, contar caracteres, reconhecer frases de impressão digital) generaliza entre variantes de ornamentos. Padrão: a detecção de contaminação deve usar heurísticas estruturais.

Por Que Filtrar Por Forma

Os filtros v2.5 filtram vazamentos de agent-shard por SHAPE (contagem de cabeçalhos, comprimento, frases de fingerprint) em vez de por CHARACTER (combinando símbolos específicos como ornamentos). Dê um motivo prático pelo qual isso importa & um modo de falha concreto que um filtro apenas de caracteres NÃO capturaria.

Um Braço de Bandido sem Dados

v3 Lançado em 2026-04-18

Mesma arquitetura & hiperparâmetros que v2; dados limpos após o patch v2.5. Zero vazamentos de ornamentos em auditorias de amostra. v3 rodou limpo até o passo 112K.


Passo 112,619: Auditoria de Amostra Detecta um Padrão

A auditoria de amostra revelou turnos conversacionais coerentes (haiku, Q&A, diálogo), mas fases periódicas focadas em braços de conhecimento (gutenberg, repo-docstrings, repo-docs) vazaram fragmentos semelhantes a código e ruído de tokenização de repositório. Uma amostra no passo 112.080 atingiu perda 0.13: anormalmente baixa, sinalizando substrings memorizados de repo-docs em vez de distribuição de chat aprendida.


O Braço Zumbi

Diagnóstico: exclude_sources removeu corretamente repo-docstrings no início do treinamento, mas o estado persistente do bandit carregava um braço residual repo-docstrings com peso 1.546 de uma execução anterior. A recarga do estado o reintegrou ao pool UCB, mesmo sem um .btok existente para amostrar, produzindo uma puxada zumbi que distorceu a contabilidade de exploração.


Lições: arquivos de estado do bandit (.state.json) derivam de maneiras surpreendentes entre reinicializações. Exclusões de configuração não apagam memória residual de braços. Cinto e suspensórios necessários: cap = 0.0 junto com exclude.


Configuração Polonesa

Perturbação apenas no currículo. Arquitetura, estado do otimizador, cronograma de taxa de aprendizado e histórico de perda todos preservados de step_112600.bin.


Fontev3 basev3 polish
repo-docscap 0.3excluído (cap 0.0)
repo-docstringsexcluídoexcluído + cap 0.0
repo-commitscap 0.4cap 0.2
dictionarycap 0.5cap 0.25
gutenbergcap 0.8 / floor 0.3cap 0.7 / floor 0.4
irc-qa-strict--cap 0.3
unweapon--cap 0.3
synthetic-chat--cap 0.4
hermes3-generalfloor 0.5floor 0.7
hermes3-creativefloor 0.4floor 0.55
hermes3-roleplayfloor 0.4floor 0.5
chatfloor 0.4floor 0.6
smoltalkfloor 0.3floor 0.5
oasstfloor 0.3floor 0.5
dolly--floor 0.4
curriculum_warmup_steps200000

Protocolo Polonês

1. SIGUSR1 para CUDA força checkpoint imediato na próxima fronteira de 100 passos.

2. Proxy para.

3. .samples.json & .state.json arquivados (log de amostras & estado do bandit salvos como registro histórico).

4. .loss.json retido -- histórico cumulativo de treinamento; nunca arquivado.

5. Proxy reinicia. Configuração Polish enviada.

6. CUDA retoma de step_112600.bin com estado fresco do bandit sob novos limites & pisos.


Histórico de perda continua ininterrupto.

Por que Polir, Não Reiniciar

O passo 112.619 estava em 56% do treinamento planejado. A equipe escolheu PERTURBAÇÃO DO CURRÍCULO (preservar pesos, alterar tetos & pisos) em vez de REINÍCIO COMPLETO (re-inicializar no passo 0). Dê duas razões pelas quais o polimento-pivô foi correto & um risco específico que ir para o passo 0 teria introduzido.

O que o Polimento Produziu

Auditoria de Amostra, Horas Após o Pivô

Em poucas horas após a virada polonesa, a auditoria de amostra confirmou a convergência nos quatro objetivos originais do ANDREA-120M.


Recordação factual (biologia), passo 112.584, perda 0.30, ppl 1.

> [extinction prompt]

> < black spider montano is alive, carolina parakeet is extinct.

Dois fatos corretos. Avaliação externa: 9.5/10.


Recordação factual (processamento de sinal), passo 112.668, perda 0.74, ppl 2.

> [Prompt da transformada de Fourier]

> < A transformada de Fourier decompõe sinais em componentes de frequência, permitindo a análise das características do sinal & filtragem no domínio da frequência.

Definição de um frase do livro didático. Avaliação externa: 9.5/10.


Seguimento de restrições (haiku), passo 112,248, perda 1.05, ppl 3.

> Escreva um haiku sobre chuva usando três palavras que começam com 'r'.

> < Refrão rítmico da chuva, Riachos na janela, Respiro da dor da vida.


Conhecimento de ferramentas (Python), passo 112.500, perda 1,94, ppl 7.

> Como encontro pacotes desatualizados em um projeto Python?

> < Use pip list --outdated names to see the pip packages list in your project management...

Ferramenta correta emerge; formulação imprecisa.


Seis Domínios em 700 Passos

Biologia, processamento de sinais, poesia, ferramentas python, diálogo conversacional, diálogo de operações. Seis domínios não relacionados em 700 passos nos diz que o bandit & modelo estão trabalhando em conjunto. A amplitude de domínios É o sinal de convergência.


Avaliação Externa

Revisor independente classificou amostras como 'sólidas para um modelo de 120M parâmetros -- coerência impressionante & retenção de conhecimento nessa escala', com as amostras do periquito-da-carolina & transformada de Fourier classificadas 9.5/10 & 'superando seu peso em tarefas de conhecimento'.


O Que Cada Fase Ensinou


v1 ensinou: cinco falhas compostas colapsam o treinamento. Nenhuma correção isolada salva; todas as cinco devem acertar de uma vez.


v2 ensinou: correções arquiteturais são necessárias, mas não suficientes. A camada de dados pode derrotá-las silenciosamente.


v2.5 ensinou: filtrar contaminação por forma, não por caractere. Padrões são estáveis; símbolos evoluem.


v3 base ensinou: o estado de bandido deriva entre reinicializações de maneiras surpreendentes. Exclusões isoladas não bastam; limite 0.0 cinto-e-suspensórios é necessário.


v3 polish ensinou: quando a falha está na política & o modelo está saudável, perturbe a política. Mantenha os pesos. Mantenha o histórico de perda. Avance.


Uma Verdade

A convergência não é um evento único; é uma cadeia de correções. Cada fase expôs um defeito, corrigiu-o e revelou o próximo. ANDREA-120M lê 9.5/10 no passo 112.584 porque v1, v2, v2.5, v3 base e v3 polish cada um fez seu trabalho.

Qual Fase Ensinou a Lição Mais Difícil

Das cinco fases (v1, v2, v2.5, v3 base, v3 polish), qual você diria que ensinou a lição de engenharia mais transferível? Escolha uma. Declare a lição em suas próprias palavras e dê 2-3 frases explicando por que essa lição se generaliza além do treinamento de modelos de linguagem.