数据集:

RWKV-4模型卡片 | 基于Pile数据集训练的1.69亿参数模型
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
类进行文本生成。点击下方展开查看不同运行场景:
CPU运行
点击展开
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("RWKV/rwkv-4-169m-pile")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-4-169m-pile")
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-4-169m-pile").to(0)
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-4-169m-pile")
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-4-169m-pile", torch_dtype=torch.float16).to(0)
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-4-169m-pile")
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-4-169m-pile", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-4-169m-pile")
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))
引用
若使用本模型,请引用原始仓库中的工作。