一个极简、易于修改的 LLM 训练框架,覆盖分词、预训练、微调、评估到对话推理全流程,可在单台 GPU 节点上运行。
BlinkDL/RWKV-LM
RWKV 官方训练与参考代码,一种可像 GPT 一样并行训练的 RNN 式大语言模型架构。
- Star
- 14,757
- Fork
- 1,025
- 未关闭 Issue
- 159
- 最近提交
- 23天前
这是什么?
RWKV-LM 是 RWKV 的主要训练与参考代码仓库。RWKV 是一种 RNN 结构的语言模型,但训练时可以像 Transformer 一样并行计算。项目目前的版本是 RWKV-7 "Goose"。按 README 的描述,它不使用注意力机制,推理时间与序列长度呈线性关系,内存占用恒定,没有 KV cache,因此上下文长度增加时显存不会随之增长。
仓库包含 RWKV-7 的参考训练实现(train_temp)、高性能 CUDA 内核,以及 GPT 模式、RNN 模式和混合模式的示例脚本,同时保留了 RWKV-4、5、6 的旧版代码。文档还涵盖从 jsonl 生成 binidx 数据、基于 DeepSpeed 和 PyTorch Lightning 的训练配置,以及保证训练稳定的参数初始化和权重衰减规则。
生态方面,相关项目包括 RWKV 的 pip 包、GGUF 权重、移动端与 WebGPU 推理工具,以及由社区维护的 PEFT、RLHF 等微调实现。
核心功能
- 01训练时可并行计算,推理时以 RNN 方式运行并保持显存恒定。
- 02提供 RWKV-7 参考训练实现和 CUDA 内核。
- 03包含 GPT 模式、RNN 模式和混合模式的示例脚本。
- 04说明了从 jsonl 生成 binidx 数据并基于 DeepSpeed 训练的流程。
- 05给出参数初始化与权重衰减的规则,便于从零训练时保持稳定。
适用场景
- 研究无注意力或线性时间复杂度的序列模型。
- 用参考代码在单张 GPU 上训练自定义 RWKV 语言模型。
- 在长上下文推理中避免 KV cache 带来的显存压力。
- 探索适用于边缘或端侧部署的 RNN 类 Transformer 替代方案。
快速上手
- 1
安装支持 CUDA 12.1 的 PyTorch
pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121 - 2
安装训练依赖(保持 pytorch-lightning 为 1.9.5)
pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade - 3
进入 RWKV-7 参考训练目录
cd RWKV-v7/train_temp/ - 4
将 MiniPile 数据下载到 train_temp/data,然后运行准备脚本
sh ./demo-training-prepare.sh
使用前须知
- 训练需要 NVIDIA CUDA GPU,默认配置约需 7 GB 显存。
- 参考训练代码将 pytorch-lightning 固定在 1.9.5,并依赖 DeepSpeed 与 CUDA 内核。
- README 称 FLA 版 RWKV-7 实现与参考实现不一致且效果更差,也没有可直接替换使用的简单 RWKV-7 层。
标签
常见问题
- RWKV-LM 是什么?
- RWKV 官方训练与参考代码,一种可像 GPT 一样并行训练的 RNN 式大语言模型架构。 RWKV-LM 是 RWKV 的主要训练与参考代码仓库。RWKV 是一种 RNN 结构的语言模型,但训练时可以像 Transformer 一样并行计算。项目目前的版本是 RWKV-7 "Goose"。按 README 的描述,它不使用注意力机制,推理时间与序列长度呈线性关系,内存占用恒定,没有 KV cache,因此上下文长度增加时显存不会随之增长。
- RWKV-LM 可以免费使用吗?用的什么许可证?
- RWKV-LM 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- RWKV-LM 还在维护吗?
- 活跃维护中。RWKV-LM 最近一次提交是在 2026年9月28日。
- RWKV-LM 适合用来做什么?
- 研究无注意力或线性时间复杂度的序列模型。 用参考代码在单张 GPU 上训练自定义 RWKV 语言模型。 在长上下文推理中避免 KV cache 带来的显存压力。 探索适用于边缘或端侧部署的 RNN 类 Transformer 替代方案。
- RWKV-LM 怎么安装和运行?
- 安装支持 CUDA 12.1 的 PyTorch: pip install torch --upgrade --extra-index-url https://download.pytorch.org/whl/cu121 安装训练依赖(保持 pytorch-lightning 为 1.9.5): pip install pytorch-lightning==1.9.5 deepspeed wandb ninja --upgrade 进入 RWKV-7 参考训练目录: cd RWKV-v7/train_temp/ 将 MiniPile 数据下载到 train_temp/data,然后运行准备脚本: sh ./demo-training-prepare.sh
- 在哪里获取 RWKV-LM?
- 源代码和安装说明在 GitHub 上:https://github.com/BlinkDL/RWKV-LM
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 WebGPU 在浏览器内直接运行大语言模型推理的引擎,提供 OpenAI 兼容接口。
Mamba 是基于选择性状态空间模型(SSM)的 PyTorch 序列建模架构,可作为 Transformer 的线性时间替代方案。
配套《从零构建大语言模型》一书的代码,用 PyTorch 分步实现类 GPT 的大语言模型。
一套带逐行注释的教程,用 Python 和 PyTorch 从零实现并训练一个类 LLaMA 架构的小型 GPT。
Jan 是一款开源桌面应用,可在本地下载并运行大模型,提供类似 ChatGPT 的对话界面。