数据集:

RWKV-4 | 140亿参数聊天版模型卡片 (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-14b")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-14b")
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-14b").to(0)
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-14b")
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-14b", torch_dtype=torch.float16).to(0)
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-14b")
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-14b", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-14b")
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))
引用
若使用本模型,请引用原始仓库的研究成果。