Karpathy é o GOAT hacker de IA!
Empolgado para lançar um novo repositório: nanochat!
(é um dos mais insanos que escrevi).
Ao contrário do meu repositório anterior, nanoGPT, que apenas cobria o pré-treinamento, o nanochat é um pipeline de treinamento/inferência completo, minimalista e do zero de um simples clone do ChatGPT em uma única base de código com dependências mínimas. Você inicia uma caixa de GPU na nuvem, executa um único script e, em apenas 4 horas, pode conversar com seu próprio LLM em uma interface web semelhante ao ChatGPT.
Ele pesa cerca de 8.000 linhas de código que considero bastante limpo para:
- Treinar o tokenizador usando uma nova implementação em Rust
- Pré-treinar um LLM Transformer no FineWeb, avaliar a pontuação CORE em várias métricas
- Treinamento intermediário em conversas usuário-assistente do SmolTalk, perguntas de múltipla escolha, uso de ferramentas.
- SFT, avaliar o modelo de chat em conhecimento geral de múltipla escolha (ARC-E/C, MMLU), matemática (GSM8K), código (HumanEval)
- RL no modelo opcionalmente no GSM8K com "GRPO"
- Inferência eficiente do modelo em um Engine com cache KV, pré-preenchimento/decode simples, uso de ferramentas (interpretador Python em um sandbox leve), converse com ele via CLI ou WebUI semelhante ao ChatGPT.
- Escrever um único relatório em markdown, resumindo e gamificando tudo isso.
Mesmo por apenas ~$100 de custo (~4 horas em um nó 8XH100), você pode treinar um pequeno clone do ChatGPT com o qual pode conversar, e que pode escrever histórias/poemas, responder a perguntas simples. Cerca de ~12 horas superam a métrica CORE do GPT-2. À medida que você escala para ~$1000 (~41,6 horas de treinamento), ele rapidamente se torna muito mais coerente e pode resolver problemas simples de matemática/código e fazer testes de múltipla escolha. Por exemplo, um modelo de profundidade 30 treinado por 24 horas (isso é aproximadamente igual ao FLOPs do GPT-3 Small 125M e 1/1000 do GPT-3) alcança 40s no MMLU e 70s no ARC-Fácil, 20s no GSM8K, etc.
Meu objetivo é reunir toda a pilha "strong baseline" em um repositório coeso, minimalista, legível, hackável e maximamente forkable. O nanochat será o projeto culminante do LLM101n (que ainda está em desenvolvimento). Acho que também tem potencial para crescer em um suporte de pesquisa ou um benchmark, semelhante ao nanoGPT antes dele. Não está de forma alguma finalizado, ajustado ou otimizado (na verdade, acho que há bastante potencial a ser explorado), mas acredito que está em um ponto onde o esqueleto geral é bom o suficiente para ser colocado no GitHub, onde todas as partes podem ser melhoradas.
O link para o repositório e um walkthrough detalhado do speedrun do nanochat estão na resposta.

24,87 mil
21
O conteúdo apresentado nesta página é fornecido por terceiros. Salvo indicação em contrário, a OKX não é o autor dos artigos citados e não reivindica quaisquer direitos de autor nos materiais. O conteúdo é fornecido apenas para fins informativos e não representa a opinião da OKX. Não se destina a ser um endosso de qualquer tipo e não deve ser considerado conselho de investimento ou uma solicitação para comprar ou vender ativos digitais. Na medida em que a IA generativa é utilizada para fornecer resumos ou outras informações, esse mesmo conteúdo gerado por IA pode ser impreciso ou inconsistente. Leia o artigo associado para obter mais detalhes e informações. A OKX não é responsável pelo conteúdo apresentado nos sites de terceiros. As detenções de ativos digitais, incluindo criptomoedas estáveis e NFTs, envolvem um nível de risco elevado e podem sofrer grandes flutuações. Deve considerar cuidadosamente se o trading ou a detenção de ativos digitais é adequado para si à luz da sua condição financeira.