🚀 RWKV-4 | 1B5參數聊天版本(Raven)模型卡片
RWKV是一個由Bo Peng領導的項目。你可以通過Johan Wind的博客文章此處和此處瞭解更多關於該模型架構的信息。還可以通過加入RWKV Discord服務器來深入瞭解這個項目。

🚀 快速開始
模型簡介
以下是來自原始倉庫的描述:
RWKV是一種具有Transformer級別大語言模型性能的循環神經網絡(RNN)。它可以像GPT一樣直接進行訓練(可並行化)。它結合了RNN和Transformer的優點——性能出色、推理速度快、節省顯存、訓練速度快、具有“無限”上下文長度,並且能免費獲得句子嵌入。
數據集
✨ 主要特性
RWKV結合了RNN和Transformer的優勢,具備以下特性:
- 具有Transformer級別的大語言模型性能。
- 可以像GPT一樣直接進行訓練,支持並行化。
- 推理速度快,節省顯存。
- 訓練速度快,擁有“無限”上下文長度,還能免費獲得句子嵌入。
📚 詳細文檔
模型細節
架構的詳細信息可以在上述提到的博客文章以及Hugging Face集成的博客文章中找到。
使用方法
將原始權重轉換為Hugging Face格式
你可以使用convert_rwkv_checkpoint_to_hf.py
腳本,指定原始權重的倉庫ID、文件名和輸出目錄。你還可以選擇通過傳遞--push_to_hub
標誌和--model_name
參數,直接將轉換後的模型推送到Hugging Face Hub上,指定轉換後的權重推送位置。
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-1b5")
tokenizer = AutoTokenizer.from_pretrained("RWKV/rwkv-raven-1b5")
prompt = "\nIn a shocking finding, scientist discovered a herd of dragons living in a remote, previously unexplored valley, in Tibet. Even more surprising to the researchers was the fact that the dragons spoke perfect Chinese."
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 = "\nIn a shocking finding, scientist discovered a herd of dragons living in a remote, previously unexplored valley, in Tibet. Even more surprising to the researchers was the fact that the dragons spoke perfect Chinese."
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 = "\nIn a shocking finding, scientist discovered a herd of dragons living in a remote, previously unexplored valley, in Tibet. Even more surprising to the researchers was the fact that the dragons spoke perfect Chinese."
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 = "\nIn a shocking finding, scientist discovered a herd of dragons living in a remote, previously unexplored valley, in Tibet. Even more surprising to the researchers was the fact that the dragons spoke perfect Chinese."
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))
📄 許可證
如果你使用此模型,請考慮引用原始工作,原始倉庫地址為此處。