Tópicos populares
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

Andrej Karpathy
Gosto de treinar redes neurais grandes e profundas. Anteriormente Diretor de IA @ Tesla, equipa fundadora @ OpenAI, PhD @ Stanford.
Há três dias, deixei o autoresearch a ajustar o nanochat por ~2 dias no modelo depth=12. Ele encontrou ~20 alterações que melhoraram a perda de validação. Testei essas alterações ontem e todas elas foram aditivas e transferidas para modelos maiores (depth=24). Acumulando todas essas mudanças, hoje medi que o "Tempo para GPT-2" do leaderboard caiu de 2,02 horas para 1,80 horas (~11% de melhoria), esta será a nova entrada no leaderboard. Portanto, sim, estas são melhorias reais e fazem uma diferença real. Estou levemente surpreso que minha primeira tentativa ingênua já funcionou tão bem em cima do que eu pensava ser um projeto já bem ajustado manualmente.
Isso é uma novidade para mim, porque estou muito acostumado a fazer a otimização iterativa do treinamento de redes neurais manualmente. Você tem ideias, as implementa, verifica se funcionam (melhor perda de validação), gera novas ideias com base nisso, lê alguns artigos para inspiração, etc, etc. Este é o pão com manteiga do que faço diariamente há 2 décadas. Ver o agente fazer todo esse fluxo de trabalho do início ao fim e tudo por conta própria enquanto trabalhava em aproximadamente 700 mudanças de forma autônoma é incrível. Ele realmente analisou a sequência de resultados dos experimentos e usou isso para planejar os próximos. Não é uma "pesquisa" nova e revolucionária (ainda), mas todos os ajustes são "reais", eu não os encontrei manualmente antes, e eles se acumulam e realmente melhoraram o nanochat. Entre as coisas maiores, por exemplo:
- Ele notou uma falha que meu QKnorm sem parâmetros não tinha um multiplicador de escala anexado, então minha atenção estava muito difusa. O agente encontrou multiplicadores para afiná-la, apontando para trabalhos futuros.
- Ele descobriu que as Value Embeddings realmente gostam de regularização e eu não estava aplicando nenhuma (oops).
- Ele descobriu que minha atenção em bandas era muito conservadora (esqueci de ajustá-la).
- Ele descobriu que os betas do AdamW estavam todos bagunçados.
- Ele ajustou o cronograma de decaimento de peso.
- Ele ajustou a inicialização da rede.
Isso é além de todo o ajuste que já fiz ao longo de um bom tempo. O commit exato está aqui, desta "rodada 1" de autoresearch. Vou iniciar a "rodada 2" e, em paralelo, estou analisando como múltiplos agentes podem colaborar para desbloquear o paralelismo.
Todos os laboratórios de fronteira de LLM farão isso. É a batalha final do chefe. É muito mais complexo em escala, claro - você não tem apenas um único arquivo train.py para ajustar. Mas fazê-lo é "apenas engenharia" e vai funcionar. Você ativa um enxame de agentes, faz com que colaborem para ajustar modelos menores, promove as ideias mais promissoras para escalas cada vez maiores, e humanos (opcionalmente) contribuem nas bordas.
E, de forma mais geral, *qualquer* métrica que você se preocupe que seja razoavelmente eficiente para avaliar (ou que tenha métricas proxy mais eficientes, como treinar uma rede menor) pode ser autoresearchada por um enxame de agentes. Vale a pena pensar se seu problema também se enquadra nesse grupo.

425
Empacotei o projeto "autoresearch" em um novo repositório minimalista autossuficiente, caso as pessoas queiram brincar durante o fim de semana. É basicamente o núcleo de treinamento do nanochat LLM reduzido a uma versão de um único GPU, um arquivo com cerca de 630 linhas de código, então:
- o humano itera sobre o prompt (.md)
- o agente de IA itera sobre o código de treinamento (.py)
O objetivo é projetar seus agentes para fazer o progresso de pesquisa mais rápido indefinidamente e sem qualquer envolvimento seu. Na imagem, cada ponto é uma execução completa de treinamento de LLM que dura exatamente 5 minutos. O agente trabalha em um loop autônomo em uma branch de recurso do git e acumula commits do git no script de treinamento à medida que encontra melhores configurações (com menor perda de validação no final) da arquitetura da rede neural, do otimizador, todos os hiperparâmetros, etc. Você pode imaginar comparar o progresso de pesquisa de diferentes prompts, diferentes agentes, etc.
Parte código, parte ficção científica e uma pitada de psicose :)

1,4K
Top
Classificação
Favoritos
