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.
BlinkDL/RWKV-LM
Código oficial de treinamento e referência do RWKV, uma arquitetura de modelo de linguagem no estilo RNN que também pode ser treinada em paralelo como um transformer GPT.
- Estrelas
- 14,757
- Forks
- 1,025
- Issues abertas
- 159
- Último commit
- há 23 dias
O que é?
RWKV-LM é o principal repositório de treinamento e referência do RWKV, uma arquitetura de modelo de linguagem que funciona como uma rede neural recorrente, mas pode ser treinada em paralelo como um transformer. O projeto está atualmente no RWKV-7 "Goose", e o README descreve o design como livre de attention, linear no tempo e constante no uso de memória, sem KV cache. Na inferência, apenas um estado oculto de tamanho fixo é carregado de um token para o seguinte, então o uso de memória não aumenta com o tamanho do contexto.
O repositório inclui a implementação de referência para treinamento do RWKV-7 (train_temp), kernels CUDA rápidos, scripts de demonstração para os modos GPT-like, RNN e combinado, além de código mais antigo do RWKV-4, 5 e 6. Também documenta a preparação de dados de jsonl para o formato binidx, configurações de treinamento com DeepSpeed e PyTorch Lightning, além de regras de inicialização e weight decay para reproduzir um treinamento estável.
O ecossistema vinculado inclui um pacote RWKV para pip, pesos GGUF, projetos de inferência para dispositivos móveis e WebGPU, e ferramentas de fine-tuning, como implementações de PEFT e RLHF mantidas por outros contribuidores.
Recursos principais
- 01Treinamento paralelo no estilo GPT com inferência no estilo RNN e uso constante de memória.
- 02Disponibiliza a implementação de referência para treinamento do RWKV-7 e kernels CUDA.
- 03Inclui scripts de demonstração para os modos de inferência GPT, RNN e combinado.
- 04Documenta a preparação de dados de jsonl para binidx e o treinamento com DeepSpeed.
- 05Apresenta orientações de inicialização e weight decay para um treinamento estável do zero.
Casos de uso
- Pesquisar modelos de sequência livres de attention ou com complexidade linear no tempo.
- Treinar um modelo de linguagem RWKV personalizado em uma única GPU usando o código de referência.
- Executar inferência com contexto longo quando a memória do KV cache é um fator limitante.
- Explorar alternativas baseadas em RNN aos transformers para implantação em dispositivos de borda ou no próprio dispositivo.
Início rápido
- 1
Instale o PyTorch com as wheels do CUDA 12.1
pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121 - 2
Instale as dependências de treinamento (mantenha o pytorch-lightning na versão 1.9.5)
pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade - 3
Acesse o diretório de treinamento de referência do RWKV-7
cd RWKV-v7/train_temp/ - 4
Baixe os dados do MiniPile para train_temp/data e, em seguida, execute o script de preparação
sh ./demo-training-prepare.sh
Antes de usar
- O treinamento requer uma GPU NVIDIA compatível com CUDA. A configuração padrão precisa de cerca de 7 GB de VRAM.
- O código de treinamento de referência fixa o pytorch-lightning na versão 1.9.5 e depende do DeepSpeed e de kernels CUDA.
- O README informa que a implementação RWKV-7 do FLA não está alinhada à implementação de referência e tem desempenho inferior; além disso, não há uma camada RWKV-7 simples que possa ser usada como substituição direta.
Tópicos
Perguntas frequentes
- O que é RWKV-LM?
- Código oficial de treinamento e referência do RWKV, uma arquitetura de modelo de linguagem no estilo RNN que também pode ser treinada em paralelo como um transformer GPT. RWKV-LM é o principal repositório de treinamento e referência do RWKV, uma arquitetura de modelo de linguagem que funciona como uma rede neural recorrente, mas pode ser treinada em paralelo como um transformer. O projeto está atualmente no RWKV-7 "Goose", e o README descreve o design como livre de attention, linear no tempo e constante no uso de memória, sem KV cache. Na inferência, apenas um estado oculto de tamanho fixo é carregado de um token para o seguinte, então o uso de memória não aumenta com o tamanho do contexto.
- RWKV-LM é gratuito? Qual é a licença?
- RWKV-LM é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- RWKV-LM ainda é mantido?
- Manutenção ativa. O último commit de RWKV-LM foi em 28 de set. de 2026.
- Para que posso usar RWKV-LM?
- Pesquisar modelos de sequência livres de attention ou com complexidade linear no tempo. Treinar um modelo de linguagem RWKV personalizado em uma única GPU usando o código de referência. Executar inferência com contexto longo quando a memória do KV cache é um fator limitante. Explorar alternativas baseadas em RNN aos transformers para implantação em dispositivos de borda ou no próprio dispositivo.
- Como instalar RWKV-LM?
- Instale o PyTorch com as wheels do CUDA 12.1: pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121 Instale as dependências de treinamento (mantenha o pytorch-lightning na versão 1.9.5): pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade Acesse o diretório de treinamento de referência do RWKV-7: cd RWKV-v7/train_temp/ Baixe os dados do MiniPile para train_temp/data e, em seguida, execute o script de preparação: sh ./demo-training-prepare.sh
- Onde consigo RWKV-LM?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/BlinkDL/RWKV-LM
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um mecanismo TypeScript que executa inferência de LLM inteiramente no navegador com WebGPU e oferece uma API compatível com a OpenAI.
Mamba é uma arquitetura de modelagem de sequências em PyTorch baseada em modelos seletivos de espaço de estados, que oferece uma alternativa aos Transformers com tempo de execução linear para tarefas com linguagem e outras sequências.
Código complementar ao livro Build a Large Language Model (From Scratch), com a implementação passo a passo de um LLM semelhante ao GPT em PyTorch.
Tutorial comentado em 12 capítulos que ensina a criar e treinar do zero, em Python e PyTorch, um GPT pequeno no estilo LLaMA.
Jan é um app de desktop open source para baixar e executar LLMs localmente, com uma interface semelhante à do ChatGPT e opção de conexão a modelos na nuvem.