A apostila 15 registrou que, com dados suficientes, o modelo de mundo deixava de custar ao gerador e passava a render 3,38%. Era uma semente só. Com mais sementes, e depois com uma medida de validação que parou de oscilar, o custo aparece em todas as rodadas — e cresce com o tamanho do modelo.
A apostila 15 treinou o mini no corpus inteiro, com o orçamento de Chinchilla (1.961 passos, 64 milhões de tokens), de duas formas: só o gerador, e o gerador com o modelo de mundo hierárquico de alvo EMA — a receita que tinha ido melhor na apostila 13. O gerador sozinho chegou a 3,7503 de perda de validação; com o modelo de mundo, a 3,6236. Isso é 3,38% melhor, e a apostila leu o resultado como uma inversão: no treino curto da coleção o mapa custava cerca de 1%, e com dados suficientes passaria a render.
A leitura tinha uma explicação razoável — com poucos dados, prever o próximo estado compete com o gerador pela mesma capacidade; com muitos, funciona como regularizador — e combinava com o que se espera de uma arquitetura preditiva. Mas vinha de uma rodada de cada lado, com uma semente só, num regime em que o desvio entre sementes nunca tinha sido medido. A apostila 13 §12.3 mediu esse desvio no duelo: cerca de 0,84% da perda. Na escada, ninguém tinha medido.
Em 17/09, numa RTX 5090, o mesmo par foi treinado com as sementes 2 e 3, com os mesmos passos, o mesmo lote e o mesmo corpus. Antes disso, a rodada repetiu o controle do duelo, que deu 5,2577 de validação, o mesmo número da placa de 11/09 até a quarta casa: a máquina não é a fonte da diferença. Essa rodada trouxe também as medidas das apostilas 13 e 16.
O resultado dela apontou um problema na própria régua (§4), e por isso houve uma segunda rodada no mesmo dia, com a validação medida de outro jeito: seis rodadas do mini e quatro do pequeno, todas com --eval-seed, a opção nova que faz toda avaliação ler os mesmos lotes.
| semente | só gerador | + mapa | diferença |
|---|---|---|---|
| 1337 (a da apostila 15) | 3,7503 | 3,6236 | −3,38% |
| 2 | 3,5762 | 3,6401 | +1,79% |
| 3 | 3,6091 | 3,7974 | +5,22% |
| média ± desvio | 3,6452 ± 0,0925 | 3,6870 ± 0,0959 | +1,15% |
Os dados não confirmaram a inversão. Nas duas sementes novas o mapa custa, e a média das três fica em +1,15% — o mesmo custo que a apostila 13 tinha medido no treino curto. A semente 1337 é a única em que o modelo com o mapa fica abaixo, e é também a semente em que o gerador sozinho teve o pior resultado das três (3,7503).
Só que o desvio aqui é grande demais para afirmar qualquer coisa: 0,0925 no gerador sozinho, 2,5% da perda, contra os 0,84% do duelo. A diferença entre as médias, 0,042, é menos da metade desse desvio. Com esta régua, nem a inversão nem o custo se sustentam.
O desvio grande não vem só da inicialização. Ele começa dentro de cada rodada. A cada avaliação, o treino sorteia 20 lotes novos do conjunto de validação e mede a perda neles; duas avaliações seguidas do mesmo modelo quase não mudam os pesos, mas mudam a amostra.
| rodada | passo 1147 | 1311 | 1475 | 1639 | 1803 | 1960 |
|---|---|---|---|---|---|---|
| só gerador, semente 2 | 3,964 | 3,819 | 3,735 | 3,576 | 3,648 | 3,719 |
| só gerador, semente 1337 | 3,919 | 3,878 | 3,750 | 3,764 | 3,799 | 3,759 |
| + mapa, semente 2 | 4,020 | 3,773 | 3,687 | 3,821 | 3,640 | 3,780 |
Na semente 2, o gerador sozinho marca 3,576 no passo 1639 e 3,719 no fim do treino. São 0,14 de diferença entre duas medidas do mesmo modelo quase pronto — mais que os 0,127 que separavam as colunas da semente 1337 e sustentavam a inversão. O "melhor checkpoint" é o menor de 12 números desse tipo: ele escolhe, em cada rodada, a avaliação que caiu na amostra mais fácil. Comparar dois mínimos de medidas ruidosas compara, em boa parte, quem teve mais sorte no sorteio.
O conserto é pequeno e aditivo: model/train.py --eval-seed <n> faz toda avaliação ler os mesmos lotes de validação. Sem a opção, o comportamento continua o de antes, para não quebrar a comparação com o que já está registrado.
Com os lotes fixos, o par inteiro foi treinado de novo: três sementes do mini e duas do pequeno, dos dois lados. Os números desta seção não se comparam com os da §3 — são amostras de validação diferentes —, mas se comparam entre si, que é o que a pergunta pede.
| modelo | semente | só gerador | + mapa | diferença |
|---|---|---|---|---|
mini | 1337 | 3,6729 | 3,6841 | +0,30% |
| 2 | 3,6237 | 3,7141 | +2,50% | |
| 3 | 3,6136 | 3,7051 | +2,53% | |
| média ± desvio | 3,6367 ± 0,0318 | 3,7011 ± 0,0154 | +1,77% | |
pequeno | 1337 | 2,9478 | 3,0978 | +5,09% |
| 2 | 2,9475 | 3,0875 | +4,75% | |
| média ± desvio | 2,9477 ± 0,0002 | 3,0927 ± 0,0073 | +4,92% |
Três coisas mudam de status com esta tabela.
mini — de 2,5% para 0,87% da perda, praticamente o mesmo 0,84% que a apostila 13 mediu no duelo. No pequeno, as duas sementes terminam a 0,0003 uma da outra. Sortear a validação respondia por quase toda a variação que parecia vir da inicialização.mini a média é +1,77%, duas vezes o desvio entre sementes; no pequeno, +4,92%, vinte vezes o desvio.mini para +4,92% no pequeno, com o mesmo peso de perda e o mesmo decaimento de EMA. É o contrário do que a leitura da inversão sugeria — que mais orçamento faria o mapa render.| rodada | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
mini, só gerador | 5,724 | 5,069 | 4,721 | 4,479 | 4,259 | 4,073 | 3,936 | 3,835 | 3,766 | 3,720 | 3,692 | 3,673 |
mini, + mapa | 5,778 | 5,117 | 4,762 | 4,495 | 4,227 | 4,015 | 3,888 | 3,807 | 3,756 | 3,723 | 3,699 | 3,684 |
pequeno, só gerador | 4,342 | 3,598 | 3,393 | 3,283 | 3,196 | 3,137 | 3,084 | 3,037 | 3,004 | 2,975 | 2,960 | 2,948 |
pequeno, + mapa | 4,485 | 3,634 | 3,416 | 3,310 | 3,241 | 3,197 | 3,159 | 3,137 | 3,117 | 3,105 | 3,100 | 3,098 |
As curvas mostram onde o custo nasce. No mini, o modelo com o mapa vai melhor no meio do treino (3,888 contra 3,936 na sétima avaliação) e perde só no fim, quando o gerador sozinho continua descendo e ele desacelera. No pequeno, o mesmo acontece mais cedo e mais forte: da sexta avaliação em diante a curva com o mapa achata, e a distância entre as duas cresce até o fim. Quanto maior o modelo, mais cedo a perda do mapa parece competir com a do gerador.
A regra da apostila 13 §12.3 — diferença abaixo de cerca de 0,9% da perda não é resultado — foi medida no duelo, com a validação sorteada, e continua valendo para o que está registrado com aquela régua. Com lotes de validação fixos, o desvio entre sementes na escada é o mesmo 0,87% no mini e quase zero no pequeno, e diferenças pequenas voltam a ser legíveis. Daqui para a frente, rodada de escada sai com --eval-seed.
| onde | antes | agora |
|---|---|---|
| 15 §5 | "com orçamento de verdade, o modelo de mundo para de custar e passa a render": −3,38% | tabela com as duas réguas: o mapa custa +1,77% no mini e +4,92% no pequeno; a leitura de inversão foi retirada |
| 17, tabela das medidas | "3,38% melhor (PPL 37,5 contra 42,5)" | o custo do mapa ao gerador, com validação fixa, nos dois tamanhos |
model/train.py | lotes de validação sorteados a cada avaliação | opção --eval-seed: lotes fixos; sem ela, o comportamento de antes |
As frases da coleção sobre o custo do modelo de mundo ao gerador, medidas com 5,7 milhões de tokens, continuam valendo com 64 e com 212 milhões. O que não continua é a ideia de que mais dados, sozinhos, transformam esse custo em ganho: com esta receita, o custo persiste e aumenta com o tamanho. O que o mapa entrega em troca está medido em outras apostilas — o leme que governa a geração (12), a violação de expectativa e o guardrail (13) — e nada disso aparece na perda de validação.
mini e duas no pequeno. Três é o mínimo para estimar um desvio, e o desvio estimado tem ele mesmo incerteza grande.pequeno treina 3,3 vezes mais passos que o mini; separar as duas coisas pede um mini com o orçamento do pequeno.pequeno, onde ele custa 5%? A bateria do pequeno com mapa mostrou o nível 2 prevendo bem o bloco seguinte, mas o leme sem governar; repetir isso com as duas sementes diria se é característica do tamanho.As fontes das ideias e do método usados aqui. Os números foram medidos no projeto.
Treinos numa RTX 5090 em 17/09/2026 (cloud/round_1709.sh e cloud/round_1709b.sh). Dados em out/gpu_1709/, model/runs/*-escala e model/runs/*-escalafix.