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.
DLLXW/baby-llama2-chinese
Pipeline de pré-treinamento do zero e SFT para um modelo pequeno no estilo LLaMA2 em chinês, executável em uma única GPU de 24 GB.
- Estrelas
- 2,923
- Forks
- 354
- Issues abertas
- 42
- Último commit
- há 2 meses
O que é?
Baby-Llama2-Chinese é um projeto voltado ao aprendizado que cria, de ponta a ponta, um modelo de linguagem pequeno no estilo LLaMA2 em chinês. Ele abrange a tokenização de corpora, o pré-treinamento, o fine-tuning supervisionado (SFT) com conjuntos de dados de instruções e a inferência. O objetivo declarado é produzir um modelo de chat com capacidade básica de responder a perguntas em chinês, usando uma única GPU de 24 GB.
O pipeline usa o tokenizer do ChatGLM2-6B, cujo vocabulário de 64.793 tokens pode ser armazenado em uint16, e processa corpora de pré-treinamento como Wikipedia-zh, BaiduBaiKe, C4_zh e WuDaoCorpora em arquivos binários. O pré-treinamento é executado com torchrun em várias GPUs, e os scripts de SFT criam amostras de prompt e resposta, calculando a loss apenas sobre a resposta. Há checkpoints pré-treinados de 92M a 218M de parâmetros disponíveis para download, além de várias versões de SFT para conversas gerais e médicas.
O repositório também inclui scripts de limpeza de dados para filtrar textos curtos e deduplicar com MinHash ou SimHash, além de um infer.py unificado que carrega checkpoints antigos e detecta automaticamente as dimensões do modelo. Um modelo de recompensa e uma etapa de aprendizado por reforço estão listados como planejados, mas ainda não foram implementados.
Recursos principais
- 01Reúne em um único repositório a configuração do tokenizer, o pré-treinamento e o SFT com todos os parâmetros.
- 02Pré-treina um modelo em chinês de 92M a 218M de parâmetros usando uma única GPU de 24 GB.
- 03Pré-processa corpora em arquivos binários uint16 com o tokenizer do ChatGLM2-6B.
- 04Inclui scripts de deduplicação com MinHash e SimHash para limpeza de corpora.
- 05Oferece o infer.py, que carrega checkpoints de pré-treinamento e SFT e detecta as dimensões automaticamente.
- 06Disponibiliza para download pesos pré-treinados e ajustados por fine-tuning.
Casos de uso
- Aprender como um modelo pequeno no estilo LLaMA é pré-treinado e ajustado por fine-tuning do zero.
- Experimentar com corpora de pré-treinamento em chinês em hardware com recursos limitados de GPU.
- Comparar como o tamanho do modelo e o do vocabulário afetam a loss de pré-treinamento.
- Criar um modelo de chat pequeno e especializado em um domínio, como um modelo de perguntas e respostas médicas, a partir de dados de SFT existentes.
Início rápido
- 1
Baixe o corpus de pré-treinamento tokenizado pelo link do Baidu Netdisk (cerca de 118 GB).
- 2
Coloque os dados baixados no diretório ./data e execute o script de processamento de dados.
python data_process.py - 3
Execute o pré-treinamento com torchrun em 4 GPUs (configuração de exemplo do README).
torchrun --standalone --nproc_per_node=4 pretrain.py - 4
Execute o fine-tuning SFT.
python sft.py
Antes de usar
- A configuração de exemplo de pré-treinamento do README pressupõe várias GPUs, e o autor observa que o hardware com 4 3090 limita o tamanho do modelo e do corpus.
- O corpus completo de pré-treinamento tem cerca de 118 GB e precisa ser baixado pelo Baidu Netdisk.
- A maioria dos downloads de dados e modelos está hospedada no Baidu Netdisk, o que pode ser inconveniente fora da China.
- A documentação está principalmente em chinês, e a etapa de aprendizado por reforço ainda está marcada como pendente.
Tópicos
Perguntas frequentes
- O que é baby-llama2-chinese?
- Pipeline de pré-treinamento do zero e SFT para um modelo pequeno no estilo LLaMA2 em chinês, executável em uma única GPU de 24 GB. Baby-Llama2-Chinese é um projeto voltado ao aprendizado que cria, de ponta a ponta, um modelo de linguagem pequeno no estilo LLaMA2 em chinês. Ele abrange a tokenização de corpora, o pré-treinamento, o fine-tuning supervisionado (SFT) com conjuntos de dados de instruções e a inferência. O objetivo declarado é produzir um modelo de chat com capacidade básica de responder a perguntas em chinês, usando uma única GPU de 24 GB.
- baby-llama2-chinese é gratuito? Qual é a licença?
- baby-llama2-chinese é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- baby-llama2-chinese ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de baby-llama2-chinese foi em 13 de ago. de 2026.
- Para que posso usar baby-llama2-chinese?
- Aprender como um modelo pequeno no estilo LLaMA é pré-treinado e ajustado por fine-tuning do zero. Experimentar com corpora de pré-treinamento em chinês em hardware com recursos limitados de GPU. Comparar como o tamanho do modelo e o do vocabulário afetam a loss de pré-treinamento. Criar um modelo de chat pequeno e especializado em um domínio, como um modelo de perguntas e respostas médicas, a partir de dados de SFT existentes.
- Como instalar baby-llama2-chinese?
- Baixe o corpus de pré-treinamento tokenizado pelo link do Baidu Netdisk (cerca de 118 GB). Coloque os dados baixados no diretório ./data e execute o script de processamento de dados.: python data_process.py Execute o pré-treinamento com torchrun em 4 GPUs (configuração de exemplo do README).: torchrun --standalone --nproc_per_node=4 pretrain.py Execute o fine-tuning SFT.: python sft.py
- Onde consigo baby-llama2-chinese?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/DLLXW/baby-llama2-chinese
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
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.
Um harness mínimo e fácil de modificar que cobre todo o pipeline de LLM, da tokenização ao pré-treinamento, ajuste fino, avaliação e chat, executável em um único nó com GPU.
Uma biblioteca da Hugging Face para pós-treinar modelos de linguagem transformer com SFT, GRPO, DPO, KTO e modelagem de recompensas.
Framework gratuito e open source para fine-tuning e pós-treinamento de LLMs, configurado por arquivos YAML.
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.