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.
o nanochat agora pode treinar um LLM de grau GPT-2 por <<$100 (~$73, 3 horas em um único nó 8XH100).
O GPT-2 é apenas o meu LLM favorito porque é a primeira vez que a pilha de LLM se junta em uma forma reconhecivelmente moderna. Portanto, tornou-se uma espécie de obsessão estranha e duradoura para mim treinar um modelo com capacidade de GPT-2, mas por muito mais barato, com o benefício de ~7 anos de progresso. Em particular, suspeitei que deveria ser possível hoje treinar um por <<$100.
Originalmente, em 2019, o GPT-2 foi treinado pela OpenAI em 32 chips TPU v3 por 168 horas (7 dias), a $8/hora/TPUv3 na época, totalizando aproximadamente $43K. Ele alcança uma pontuação CORE de 0.256525, que é uma métrica de conjunto introduzida no artigo DCLM em mais de 22 avaliações como ARC/MMLU/etc.
Com as últimas melhorias incorporadas ao nanochat (muitas delas originadas no repositório modded-nanogpt), agora posso alcançar uma pontuação CORE mais alta em 3.04 horas (~$73) em um único nó 8XH100. Isso representa uma redução de custo de 600X ao longo de 7 anos, ou seja, o custo para treinar o GPT-2 está caindo aproximadamente 2.5X a cada ano. Acho que isso é provavelmente uma subestimação porque ainda estou encontrando mais melhorias relativamente regularmente e tenho uma lista de ideias para experimentar.
Um post mais longo com muitos detalhes das otimizações envolvidas e dicas sobre como reproduzir está aqui:
Inspirado pelo modded-nanogpt, também criei uma tabela de classificação para "tempo até o GPT-2", onde este primeiro modelo "Jan29" é a entrada #1 com 3.04 horas. Será divertido iterar mais sobre isso e eu acolho ajuda! Minha esperança é que o nanochat possa crescer para se tornar um LLM experimental muito bonito/limpo e ajustado para prototipar ideias, para se divertir e, claro, para aprender.
As maiores melhorias de coisas que funcionaram imediatamente e simplesmente produziram ganhos foram 1) núcleos de Flash Attention 3 (mais rápidos e permitem o argumento window_size kwarg para obter padrões de atenção alternados), otimizador Muon (tentei por ~1 dia deletá-lo e usar apenas AdamW e não consegui), caminhos residuais e conexões de salto controladas por escalares aprendíveis, e embeddings de valor. Houve muitas outras coisas menores que se acumulam.
Imagem: doce visual semi-relacionado de derivar as leis de escalonamento para a atual minissérie do modelo nanochat, bonita e satisfatória!

Top
Classificação
Favoritos
