数据集:

RWKV-4 | 30亿参数聊天版模型卡(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 RAW_HUB_REPO --checkpoint_file RAW_FILE --output_dir OUTPUT_DIR --push_to_hub --model_name dummy_user/converted-rwkv
文本生成
使用AutoModelForCausalLM
和AutoTokenizer
类进行文本生成。点击下方展开查看不同场景下的运行方式:
"Raven"系列模型需特定提示格式,详见集成说明博文。
CPU环境运行
点击展开
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("RWKV/rwkv-raven-3b")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-3b")
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-3b").to(0)
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-3b")
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-3b", torch_dtype=torch.float16).to(0)
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-3b")
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-3b", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-3b")
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))
引用
若使用本模型,请引用原始仓库中的研究成果。