写在前面:无聊又来玩玩LLM了,这次玩玩RWKV,因为我看到hugging face上有个roleplay的模型,遂心动。
【烧显存注意!】需要16G显存的样子
介绍
(随便cv的,见谅,有空单独写一篇博客看看RWKV的源码吧…)
2024 年 1 月 28 日,RWKV 开源基金会宣布开源 RWKV-5-World 7B 模型。
RWKV 是一种创新的深度学习网络架构,它将 Transformer 与 RNN 各自的优点相结合,同时实现高度并行化训练与高效推理,时间复杂度为线性复杂度,在长序列推理场景下具有优于 Transformer 的性能潜力。
RWKV-v5 架构模型能力指标接近 Llama2,但推理成本降低 2~10 倍,训练成本降低 2~3 倍。
官方介绍称,在相同参数大小(7B)的模型独立基准测试中,RWKV 是世界上最环保、最节能的人工智能模型 / 架构(以每个 token 输出为基础)
RWKV 架构的能源效率源自线性 Transformer 架构的 2~10 倍计算效率与 Transformer 架构的二次缩放。随着模型规模的扩大,RWKV 架构的节能特性会越发明显。
RWKV-5-World 7B 模型在线 Demo:https://huggingface.co/spaces/BlinkDL/RWKV-Gradio-2
RWKV-5-World 7B 模型下载地址:
Hugging Face:https://huggingface.co/BlinkDL/rwkv-5-world/blob/main/RWKV-5-World-7B-v2-20240128-ctx4096.pth
wisemodel:https://wisemodel.cn/models/rwk
RWKV Runner
先安装WebUI
参考安装:https://github.com/josStorer/RWKV-Runner/blob/master/README_ZH.md
官方的Simple Deploy Example
git clone https://github.com/josStorer/RWKV-Runnercd RWKV-Runner
python ./backend-python/main.py #后端推理服务已启动, 调用/switch-model载入模型, 参考API文档: http://127.0.0.1:8000/docs# 或者
cd RWKV-Runner/frontend
npm ci
npm run build #编译前端
cd ..
python ./backend-python/webui_server.py #单独启动前端服务
# 或者
python ./backend-python/main.py --webui #同时启动前后端服务# 帮助参数
python ./backend-python/main.py -h
先clone一下项目
git clone https://github.com/josStorer/RWKV-Runner
进入后端目录
cd RWKV-Runner/backend-python
新建一个conda环境
(下面是全凭回忆写的,有错的话…(你已经是个成熟的coder了,要学会自己debug()
conda create -n RWKV python=3.10
安装环境
pip install -r requirment.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
安装前端环境,npm
先装一下nvm,把nvm理解成anaconda就行了,是npm的环境管理工具
nvm地址:https://github.com/nvm-sh/nvm
安装nvm:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
设置环境变量
source ~/.bashrc
检验nvm安装完成
command -v nvm
安装node和npm,这里装的是16.13.0版本
nvm install 16.13.0
设置npm镜像
npm config set registry https://registry.npmmirror.com
从项目根目录进入前端目录,编译前端
cd RWKV-Runner/frontend
npm ci
npm run build #编译前端
(少女泡茶中…)
…
npm ci卡了我好久…
记得npm run build
(继续泡茶…)
回到项目根目录,同时启动前后端,
python ./backend-python/main.py --webui --port 2777
用ssh架一个隧道到服务器
ssh -L 2777:localhost:2777 root@172.31.224.191 -p 22
访问http://127.0.0.1:2777/
下载模型
hugging face上很多了,我主要是想来玩roleplay模型,遂下载之。
https://huggingface.co/xiaol/RWKV-v5.2-7B-Role-play-16k
(RWKV模型挺好的就是只用下一个pth文件就好)
在UI看了半天不知道怎么改模型,直接用API改好了…
看了下文档里面有写:调用/switch-model载入模型, 参考API文档: http://127.0.0.1:8000/docs
(我这里port是2777,自行修改即可)
文档里找到switch-model的文档说明
点try it out修改request body,将路径改成自己的路径,execute即可
烧显存注意,大约需要16G显存
等模型加载进显存
回复你好测试,ok
关于roleplay
看了下社区的作者说是claude的格式,我也不知道claude的格式是啥…到时候再说吧… 结束!
(有空看看别人的roleplay项目实现吧…)
roleplay prompt参考:
https://tieba.baidu.com/p/8455687480