Coleção bilíngue com mais de 100 diagramas originais que explicam LLM, RL, RLHF, DPO, GRPO e algoritmos relacionados a modelos de grande porte.
FareedKhan-dev/train-llm-from-scratch
Um guia prático e codebase em PyTorch para treinar um LLM do zero, cobrindo pré-treinamento, SFT, modelagem de recompensas, DPO/PPO/GRPO e geração.
- Estrelas
- 12,328
- Forks
- 1,816
- Issues abertas
- 2
- Último commit
- há 18 dias
O que é?
Este repositório implementa um modelo de linguagem transformer do zero, usando apenas PyTorch e seguindo o design original de "Attention is All You Need", além de mostrar todo o processo, do texto bruto a um modelo no estilo chat. Inclui um tokenizador BPE em nível de byte, um decoder no estilo do GPT-2 clássico e uma variante moderna com RoPE, RMSNorm, SwiGLU, grouped-query attention e Mixture of Experts, tudo implementado manualmente, sem usar os trainers do Hugging Face.
As etapas de pós-treinamento também são implementadas do zero: fine-tuning supervisionado com uma máscara de loss aplicada apenas às respostas do assistente, um modelo de recompensa Bradley-Terry, DPO, ORPO, KTO, PPO com GAE e GRPO. Cada etapa tem seu próprio script de preparação de dados e arquivo de configuração JSON. Presets menores, como um modelo TinyStories minúsculo, podem ser treinados em minutos na CPU de um laptop, enquanto configurações maiores precisam de uma GPU.
Recursos principais
- 01Implementa attention, MLP e blocos transformer do zero em PyTorch.
- 02Inclui um tokenizador BPE em nível de byte implementado no repositório.
- 03Abrange SFT com uma máscara de loss aplicada apenas às respostas do assistente em dados de chat.
- 04Implementa modelagem de recompensas, DPO/ORPO/KTO, PPO e GRPO.
- 05Oferece um preset minúsculo que pode ser treinado na CPU de um laptop, sem GPU.
Casos de uso
- Aprender passo a passo como funciona um modelo de linguagem transformer e seu loop de treinamento.
- Pré-treinar um LLM pequeno em uma GPU ou laptop como experimento.
- Estudar métodos de pós-treinamento, como DPO, PPO e GRPO, em um codebase fácil de acompanhar.
- Comparar componentes clássicos e modernos de transformers no mesmo pipeline.
Início rápido
- 1
Clone o repositório
git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git - 2
Acesse a pasta do projeto
cd train-llm-from-scratch - 3
Instale o projeto em modo editável
pip install -e . - 4
Treine um modelo pequeno na CPU de um laptop após preparar os dados
python scripts/train_transformer.py --preset tiny --arch modern
Antes de usar
- Configurações de modelos grandes precisam de uma GPU, e um modelo com um bilhão de parâmetros não cabe em uma T4 gratuita.
- Algumas etapas dependem de conjuntos de dados públicos que precisam ser baixados primeiro.
Tópicos
Perguntas frequentes
- O que é train-llm-from-scratch?
- Um guia prático e codebase em PyTorch para treinar um LLM do zero, cobrindo pré-treinamento, SFT, modelagem de recompensas, DPO/PPO/GRPO e geração. Este repositório implementa um modelo de linguagem transformer do zero, usando apenas PyTorch e seguindo o design original de "Attention is All You Need", além de mostrar todo o processo, do texto bruto a um modelo no estilo chat. Inclui um tokenizador BPE em nível de byte, um decoder no estilo do GPT-2 clássico e uma variante moderna com RoPE, RMSNorm, SwiGLU, grouped-query attention e Mixture of Experts, tudo implementado manualmente, sem usar os trainers do Hugging Face.
- train-llm-from-scratch é gratuito? Qual é a licença?
- train-llm-from-scratch é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- train-llm-from-scratch ainda é mantido?
- Manutenção ativa. O último commit de train-llm-from-scratch foi em 2 de out. de 2026.
- Para que posso usar train-llm-from-scratch?
- Aprender passo a passo como funciona um modelo de linguagem transformer e seu loop de treinamento. Pré-treinar um LLM pequeno em uma GPU ou laptop como experimento. Estudar métodos de pós-treinamento, como DPO, PPO e GRPO, em um codebase fácil de acompanhar. Comparar componentes clássicos e modernos de transformers no mesmo pipeline.
- Como instalar train-llm-from-scratch?
- Clone o repositório: git clone https://github.com/FareedKhan-dev/train-llm-from-scratch.git Acesse a pasta do projeto: cd train-llm-from-scratch Instale o projeto em modo editável: pip install -e . Treine um modelo pequeno na CPU de um laptop após preparar os dados: python scripts/train_transformer.py --preset tiny --arch modern
- Onde consigo train-llm-from-scratch?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/FareedKhan-dev/train-llm-from-scratch
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ferramenta CLI para ajustar e fazer pós-treinamento de LLMs com um único arquivo YAML, incluindo opções para GPUs de consumo com pouca VRAM.
Biblioteca Python que executa LLMs grandes camada por camada, permitindo inferência com modelos da classe 70B em uma única GPU de 4 GB, sem quantização.
NEO é uma família de modelos nativos de visão e linguagem que processam pixels e palavras em uma única arquitetura densa sem encoder, com código de treinamento e avaliação.
Engine unificado de treinamento para modelos multimodais, com suporte a treinamento de VLMs, modelos de difusão e LLMs usando FSDP2, Muon e kernels Liger.
Lista selecionada de provedores de API de LLM com planos gratuitos permanentes para inferência de texto, incluindo endpoints, modelos e limites de uso.