数据集:

RWKV-4 | 15亿参数聊天版模型卡片 (Raven)
RWKV是由Bo Peng主导的项目。您可以通过Johan Wind的博客文章此处和此处深入了解模型架构。加入RWKV Discord服务器获取项目最新动态。
目录
- 摘要
- 模型详情
- 使用指南
- 引用
摘要
以下描述摘自原始代码库:
RWKV是一种具备Transformer级别大语言模型性能的RNN架构。它支持类似GPT的并行训练模式,融合了RNN和Transformer的双重优势——卓越性能、快速推理、节省显存、高效训练、"无限"上下文长度,以及免费获取句子嵌入特征。
模型详情
架构细节可参考上文提到的博客文章及Hugging Face集成说明。
使用指南
原始权重转换至HF格式
使用convert_rwkv_checkpoint_to_hf.py
脚本,指定原始权重仓库ID、文件名及输出目录。添加--push_to_hub
参数可直接推送转换后模型至Hub,并通过--model_name
指定目标仓库。
python convert_rwkv_checkpoint_to_hf.py --repo_id 原始仓库ID --checkpoint_file 原始文件 --output_dir 输出目录 --push_to_hub --model_name 用户/转换后模型名
文本生成
使用AutoModelForCausalLM
和AutoTokenizer
类进行文本生成。点击下方展开不同运行场景的代码示例:
"Raven"系列模型需要特定提示格式,详见集成说明博客。
CPU运行
点击展开
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("RWKV/rwkv-raven-1b5")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-1b5")
prompt = "\n科学家在西藏偏远山谷发现龙群栖息地,更令人惊讶的是这些龙能说流利中文。"
inputs = tokenizer(prompt, return_tensors="pt")
output = model.generate(inputs["input_ids"], max_new_tokens=40)
print(tokenizer.decode(output[0].tolist(), skip_special_tokens=True))
单GPU运行
点击展开
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("RWKV/rwkv-raven-1b5").to(0)
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-1b5")
prompt = "\n科学家在西藏偏远山谷发现龙群栖息地,更令人惊讶的是这些龙能说流利中文。"
inputs = tokenizer(prompt, return_tensors="pt").to(0)
output = model.generate(inputs["input_ids"], max_new_tokens=40)
print(tokenizer.decode(output[0].tolist(), skip_special_tokens=True))
GPU半精度运行
点击展开
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("RWKV/rwkv-raven-1b5", torch_dtype=torch.float16).to(0)
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-1b5")
prompt = "\n科学家在西藏偏远山谷发现龙群栖息地,更令人惊讶的是这些龙能说流利中文。"
inputs = tokenizer(prompt, return_tensors="pt").to(0)
output = model.generate(inputs["input_ids"], max_new_tokens=40)
print(tokenizer.decode(output[0].tolist(), skip_special_tokens=True))
多GPU运行
点击展开
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("RWKV/rwkv-raven-1b5", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-1b5")
prompt = "\n科学家在西藏偏远山谷发现龙群栖息地,更令人惊讶的是这些龙能说流利中文。"
inputs = tokenizer(prompt, return_tensors="pt").to(0)
output = model.generate(inputs["input_ids"], max_new_tokens=40)
print(tokenizer.decode(output[0].tolist(), skip_special_tokens=True))
引用
若使用本模型,请引用原始仓库中的相关工作。