Andrej Karpathy acabou de lançar um dos repositórios mais "desequilibrados" que ele já escreveu - NanoChat. É um sistema do zero, mínimo, mas completo, semelhante ao ChatGPT, que ensina como treinar e executar seu próprio LLM por menos de US$ 100. Com apenas ~ 8 mil linhas de código limpo, cobre tudo, tokenizer (baseado em Rust), pré-treinamento em FineWeb, mid-train em SmolTalk, SFT em MMLU / GSM8K / HumanEval, RL opcional via GRPO, inferência eficiente com cache KV + pré-preenchimento/decodificação e uma WebUI no estilo ChatGPT. (1/n)
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.
Você pode ativar uma GPU, executar o script e ter seu próprio chatbot conversando em ~4 horas. Karpathy diz que o modelo de $100 já pode escrever poemas e histórias e superar o GPT-2 no CORE; $ 1000 o aproxima GPT-3 Pequenos FLOPs de 125 milhões com pontuações de 40 + MMLU e 70 + ARC-Easy. O objetivo é um repositório unificado, legível e hackeável que agrupa o "pipeline de linha de base forte" completo: um sucessor do nanoGPT e a espinha dorsal de seu próximo curso LLM101n.
Mesmo com um orçamento minúsculo, os resultados são surpreendentes. • Corrida de $ 100 (8×H100, 4 horas): vence GPT-2 no CORE, pode escrever poemas e contos. • Execução de $ 1000 (≈24 horas, GPT-3 Small 125 M FLOPs, escala 1/1000): – MMLU 40+ – ARC-Fácil 70+ – GSM8K 20+ é um mini-pipeline genuíno de nível de pesquisa.
Quando alguém perguntou se o NanoChat poderia ser usado para treinar um LLM pessoal (em notas do Notion, dados de saúde, etc.), Karpathy jogou água fria na ideia: "Este não é um bom repositório para isso ... Pense nesses micromodelos como crianças muito pequenas; eles não têm a inteligência bruta de seus primos maiores. Se você ajustá-los em dados pessoais, poderá obter um "papagaio fofo" que imita seu estilo de escrita, mas ainda será desleixado. 🪿
Por que a personalização é difícil Para criar um modelo genuinamente personalizado, você precisaria: • Preparar dados de base de alta qualidade • Gerar toneladas de dados sintéticos (complexos + diversos) • Ajuste fino em um LLM forte e aberto (por exemplo, Tinker) • Possivelmente misture grandes dados pré-treinamento para reter a inteligência geral Esse ainda é um território de nível de pesquisa hoje, não um projeto de fim de semana.
Imagem maior Karpathy vê o NanoChat como o novo nanoGPT— uma estrutura mínima, mas completa, que pode se transformar em uma linha de base padrão para pesquisa de LLM, colaboração da comunidade e educação. No momento, não está totalmente otimizado, mas a arquitetura é sólida - pronta para os colaboradores do GitHub avançarem, módulo por módulo.
Mostrar original
4,63 mil
15
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.