Karpathy é o hacker GOAT AI!
Animado para lançar um novo repo: nanochat!
(está entre os mais desequilibrados que já escrevi).
Ao contrário do meu repositório semelhante anterior, o nanoGPT, que cobria apenas o pré-treinamento, o nanochat é um pipeline de treinamento/inferência de pilha completa mínimo, do zero, de um clone simples do ChatGPT em uma única base de código mínima de dependência. Você inicializa uma caixa de GPU em nuvem, executa um único script e, em menos de 4 horas depois, pode conversar com seu próprio LLM em uma interface de usuário da web semelhante ao ChatGPT.
Ele pesa ~ 8.000 linhas de código imo bastante limpo para:
- Treine o tokenizer usando uma nova implementação do Rust
- Pré-treinar um LLM de transformador no FineWeb, avaliar a pontuação CORE em várias métricas
- Treinamento intermediário em conversas de assistente de usuário do SmolTalk, perguntas de múltipla escolha, uso de ferramentas.
- SFT, avaliar o modelo de bate-papo em conhecimento mundial de múltipla escolha (ARC-E / C, MMLU), matemática (GSM8K), código (HumanEval)
- RL o modelo opcionalmente em GSM8K com "GRPO"
- Inferência eficiente do modelo em um mecanismo com cache KV, pré-preenchimento/decodificação simples, uso de ferramenta (interpretador Python em uma sandbox leve), converse com ele por CLI ou WebUI semelhante ao ChatGPT.
- Escreva um único boletim de remarcação, resumindo e gamificando tudo.
Mesmo por um custo tão baixo quanto ~ $ 100 (~ 4 horas em um nó 8XH100), você pode treinar um pequeno clone do ChatGPT com o qual você pode conversar e que pode escrever histórias/poemas, responder a perguntas simples. Cerca de ~12 horas supera a métrica GPT-2 CORE. À medida que você aumenta ainda mais 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 é quase igual a FLOPs de GPT-3 Small 125M e 1/1000th de GPT-3) chega a 40s no MMLU e 70s no ARC-Easy, 20s no GSM8K, etc.
Meu objetivo é obter a pilha completa de "linha de base forte" em um repositório coeso, mínimo, legível, hackeável e com bifurcação máxima. nanochat será o projeto final do LLM101n (que ainda está sendo desenvolvido). Acho que também tem potencial para se tornar um arnês de pesquisa, ou um benchmark, semelhante ao nanoGPT antes dele. Não está de forma alguma terminado, ajustado ou otimizado (na verdade, acho que provavelmente há um pouco de frutos mais fáceis), mas acho que está em um lugar onde o esqueleto geral está ok o suficiente para que possa subir no GitHub, onde todas as partes dele podem ser melhoradas.
Link para o repositório e um passo a passo detalhado do speedrun do nanochat está na resposta.

24,61 mil
21
O conteúdo desta página é fornecido por terceiros. A menos que especificado de outra forma, a OKX não é a autora dos artigos mencionados e não reivindica direitos autorais sobre os materiais apresentados. O conteúdo tem um propósito meramente informativo e não representa as opiniões da OKX. Ele não deve ser interpretado como um endosso ou aconselhamento de investimento de qualquer tipo, nem como uma recomendação para compra ou venda de ativos digitais. Quando a IA generativa é utilizada para criar resumos ou outras informações, o conteúdo gerado pode apresentar imprecisões ou incoerências. Leia o artigo vinculado para mais detalhes e informações. A OKX não se responsabiliza pelo conteúdo hospedado em sites de terceiros. Possuir ativos digitais, como stablecoins e NFTs, envolve um risco elevado e pode apresentar flutuações significativas. Você deve ponderar com cuidado se negociar ou manter ativos digitais é adequado para sua condição financeira.