50 pontos por GN⁺ 2026-03-08 | 2 comentários | Compartilhar no WhatsApp
  • Um framework autônomo de pesquisa, autocontido, que condensa o núcleo de treinamento de LLM do nanochat em uma única GPU e um único arquivo com cerca de 630 linhas, permitindo que agentes de IA repitam autonomamente experimentos de treinamento de LLM durante a noite
  • Humanos modificam o prompt, e o agente de IA modifica o código de treinamento → treina com um orçamento fixo de 5 minutos → compara os resultados → repete o loop de manter ou descartar
  • O agente opera em um loop autônomo em uma feature branch do git e acumula commits no script de treinamento sempre que alcança validation loss mais baixo em arquitetura de rede neural, otimizador, hiperparâmetros etc.
  • O objetivo é projetar um agente que produza o progresso de pesquisa mais rápido possível sem intervenção humana

Visão geral do projeto

  • Estrutura em que um agente de IA modifica e experimenta autonomamente o código de treinamento com base em uma implementação simplificada de GPU única do nanochat
  • O agente repete o loop de modificar o código → treinar por 5 minutos → verificar os resultados → manter/descartar, enquanto o usuário confere pela manhã os logs do experimento e o modelo melhorado
  • O fluxo consiste em conectar ao repositório o agente desejado, como Claude ou Codex, fazê-lo ler program.md e então iniciar os experimentos

Estrutura principal de arquivos (apenas 3 importam)

  • prepare.py - inclui constantes fixas, preparação de dados (download dos dados de treinamento, treinamento do tokenizador BPE) e utilitários de runtime (dataloader, avaliação); não é alvo de modificação
  • train.py - arquivo único modificado pelo agente; inclui o modelo GPT completo, o otimizador (Muon + AdamW) e o loop de treinamento; todos os elementos podem ser alterados, como arquitetura, hiperparâmetros, otimizador e batch size
  • program.md - arquivo de instruções básicas para o agente; é editado por humanos e funciona como uma skill leve que define a direção da pesquisa autônoma do agente

Princípios de projeto

  • Modificação em um único arquivo: o agente altera apenas train.py, mantendo o escopo das mudanças administrável e facilitando a revisão de diff
  • Orçamento fixo de tempo: independentemente da plataforma, a execução dura sempre exatamente 5 minutos → cerca de 12 execuções por hora, aproximadamente 100 experimentos durante o sono
    • Isso permite comparação direta entre experimentos, independentemente de mudanças em tamanho do modelo, batch size, arquitetura etc.
    • Desvantagem: não é possível comparar com resultados de execução de outras pessoas em plataformas diferentes
  • Autocontenção: sem dependências externas além de PyTorch e alguns poucos pacotes; sem treinamento distribuído; sem configuração complexa

Requisitos e execução

  • Requisitos: uma única GPU NVIDIA (testado em H100), Python 3.10+, gerenciador de pacotes uv
  • Atualmente é exclusivo para GPU NVIDIA; suporte a outras plataformas como CPU/MPS não está incluído no momento para evitar aumento do código
    • Se for necessário suporte mais amplo a plataformas, recomenda-se consultar o repositório nanochat principal; já existe um fork para macOS (miolini/autoresearch-macos)
  • Ao executar o agente, rode Claude/Codex etc. dentro do repositório com todas as permissões desativadas e use um prompt para que ele leia program.md e comece os experimentos

Intenção de design do program.md padrão

  • O program.md padrão é mantido intencionalmente como uma baseline mínima
  • Pode ser usado de forma a iterar e melhorar ao longo do tempo, buscando um "código de organização de pesquisa" que alcance o progresso de pesquisa mais rápido
  • A estrutura também permite, com clareza, expandir com agentes adicionais ou instruções mais específicas

2 comentários

 
tensun 2026-03-08

Por favor, também façam para AMD ROCm.

 
xguru 2026-03-08

Tweet de apresentação do Karpathy
> Preparei isso para quem quiser testar durante o fim de semana.
> É uma obra misturando código, ficção científica e um pouco de loucura :)

Professor, por que o senhor faz esse tipo de coisa no fim de semana?