频僧的RWKV八十一难,前往Autodl取得真精

书接上文,有没有令你更加兴奋?


请听上回分解

💖还请没看过上文的湿主们在上文熟悉一下基本操作,超简单的!上文:频僧的WebUI在Autodl的线上部署

😘Hi!这里是RWKV

  • 因为频僧在几天的体验下来,RWKV的能力在本地模型中确实能算得上非常不错了,不仅是模型的理解能力不错,同时也很懂涩涩,一些比较变态的play它玩起来也是如鱼得水,加上RWKV本来就是由国人开发出来的,所以对中文的支持在本地模型中可以算是独树一帜了。
  • 但是!RWKV的模型跑起来所需要的条件也是十分苛刻,就用现时比较适合用于涩涩的7B模型来说,也已经非常地吃显存了(加载完模型之后已经占用了15 GB了),而这个7B的模型对上下文的理解时常会出错,可想而知更低级的模型在能力上可能会更加不堪。
  • 本来已经整合了一个镜像保存在了CodeWithGPU,但是鉴于太多东西需要按个人的使用习惯来修改而现有的镜像需要修改的话比较麻烦,那么还不如教湿主们按照自己的习惯调教镜像,调教一次,受用终生。(当然可以看看能不能整一个比较简陋的镜像即建即用。)

🧠RWKV-Runner

RWKV-Runner的介绍在Github上面就有啦~感兴趣的湿主可以进去研究一下!
而我们这次部署RWKV就是用的这个启动器,这个启动器最大的好处就是可以接入RisuAI里面进行对话。因为用的是OpenAI API,所以理论上所有支持这个API的ChatGPT客户端都可以调用到这个启动器。(Silly Tavern暂时没办法正常调用。)
虽然RWKV-Runner十分好用,但是因为启动器使用的是图形界面,所以对Autodl并不是很友好,需要配置的东西非常多!
但是,为了能涩涩取精,九九八十一难又如何!


✒️从头开始配置我们的Auto镜像

正如刚才提起,RWKV对显存的占用比较高,所以我建议大家选择24GB以上的显卡来进行部署

之前的文章有提到不同显卡的单价,一定要看!求你了!。

在算力市场页面,我们找到想要租用的显卡,直接点击租用的按钮!莽就完事了!
进入到创建实例的页面,镜像我们需要选择基础镜像,然后按顺序选择我们需要的基础环境。如下图:

Image description

点击 创建实例 后,实例会被创建且开机,Autodl从这一刻开始计费(所以如果你是一个精打细算的湿主,可以先看完教程再创建实例)。


🖥️部署GUI图形界面

因为我们的RWKV-Runner需要用到图形界面,但是Autodl没有自带图形界面。。所以我们需要从头开始慢慢将这个图形界面的问题搞定。
首先要说的是,虽然Autodl的文档里面有关于部署Gui的内容,但是其实按照他的步骤来部署很大机率会得到一个大黑屏!所以,这个教程会引用部分文档内的内容,但是,会从最基本的环境入手,一步步解决这个图形界面的问题。

  • 那么我们就按照官方的推介,用VNC来远程操控我们虚拟机,以下,便是部署VNC服务的步骤
    • 需要注意的是:部署的步骤中,可能会有一些显示会不一样,有很多问题频僧并没有遇到,但是也会提一两嘴,尽量完善我们这个教程。

首先是需要依次运行这几个个命令,以保证我们接下来的环境能更简单(部分镜像没有这些环境,但可以都运行一次):

如果完成所有配置后还是黑屏状态,请湿主再次运行下面这3个命令有可能可以解决。

1
2
3
4
5
apt-get remove --auto-remove gnome-shell

apt-get purge --auto-remove gnome-shell

apt-get autoremove && apt-get clean

然后是安装Xfce4的桌面环境:

1
2
3
apt-get update && apt-get upgrade -y

apt-get install xorg xdm xfce4

因为我的安装过程比较顺利,所以并没有什么选择信息,
如果遇到以下信息可以这样面对:

1
2
3
4
5
6
7
…………
Country of origin for the keyboard: //选择18
…………
…………

Please select the layout matching the keyboard for this machine //选择4
…………

现在就可以按照Autodl的文档来配置VNC啦!

1
2
3
4
5
6
7
8
9
apt update && apt install -y libglu1-mesa-dev mesa-utils xterm xauth x11-xkb-utils xfonts-base xkb-data libxtst6 libxv1

export TURBOVNC_VERSION=2.2.5
export LIBJPEG_VERSION=2.0.90
wget http://aivc.ks3-cn-beijing.ksyun.com/packages/libjpeg-turbo/libjpeg-turbo-official_${LIBJPEG_VERSION}_amd64.deb
wget http://aivc.ks3-cn-beijing.ksyun.com/packages/turbovnc/turbovnc_${TURBOVNC_VERSION}_amd64.deb
dpkg -i libjpeg-turbo-official_${LIBJPEG_VERSION}_amd64.deb
dpkg -i turbovnc_${TURBOVNC_VERSION}_amd64.deb
rm -rf *.deb

来到这里的话湿主就已经部署好VNC要用的环境了!恭喜~


👀启动VNC服务和VNC客户端

以上的环境部署只需要第一次运行成功后,以后开机就不用去管他啦!
接下来的步骤就是每一次开机之后需要做的事情了。
启动VNC服务(这一段因为每次都要操作,建议新建一个文档放在JupyterLab的根目录下):

rm -rf /tmp/.X1*
USER=root /opt/TurboVNC/bin/vncserver :1 -desktop X -auth /root/.Xauthority -geometry 1920x1080 -depth 24 -rfbwait 120000 -rfbauth /root/.vnc/passwd -fp /usr/share/fonts/X11/misc/,/usr/share/fonts -rfbport 6006

这里在第一次运行VNC时,会让湿主设置密码,这个密码非常重要,需要记住!!

1
2
3
4
5
You will require a password to access your desktops. 

Password: #在这里设置湿主的密码
Verify:   #确认密码
Would you like to enter a view-only password (y/n)? #仅观看没啥用。。直接n 回车

当显示了以下的信息,那就是已经成功开启了VNC服务了!

Log file is /root/.vnc/autodl-container-b4e4119a50-1e6ba6cd:1.log

这时候,需要做的事情就是将端口转发至本地,详细教程在之前的那篇文章
当然,要将端口也修改成为我们设置的端口:6006
按照之前教程转发完端口之后,就要下载一个VNC的客户端了,这里推介下载RealVNC Viewer。

下载完后进入程序,进行注册之后,进行以下操作:

Image description

然后输入你刚才设置的密码(不是Autodl的终端密码):

Image description

如果顺利的话,湿主已经可以进入图形界面的桌面了,如果还是黑屏,需要重新运行一次最上面的代码。

可以在这里看到鼠鼠很高兴哦!

Image description

有时候放久了就会黑屏,这时候需要重连一下就可以了。这个是X的问题,放久了X-sever会自动停止。

那么如果湿主已经进到桌面了的话,那我们就继续吧~


💕安装部署RWKV-Runner

既然我们已经搞掂了图形界面,那是时候安装RWKV-Runner了。
我们先进入它的GitHub页面:RWKV-Runner

  • 在右栏找到Releases,进入最新版本的下载页面,
  • Assets栏找到以_linux_x64结尾的包,单击下载!
  • 下载完之后,直接拖进JupyterLab左侧的文件栏根目录。
  • 新建一个文件夹,命名RWKV-Runner,路径中最好不要有中文
  • 然后将刚才下载的文件拖进去(其实先建文件夹再拖好像方便一点。。)

接下来按照官方文档的安装方法安装

  • 运行以下代码
    1
    2
    3
    4
    cd RWKV-Runner/
    sudo apt install python3-dev #更新py
    chmod +x ./RWKV-Runner #这里的文件名不是全的一定要按下Tab补全!!!!!
    ./RWKV-Runner #这里的文件名不是全的一定要按下Tab补全!!!!!
    
  • 当程序响应后,ctrl + c,再运行:
    cd backend-python
    pip3 install -r requirements.txt # or pip3 install -r requirements_without_cyac.txt
    

到这里,我们的RWKV-Runner就可以运行了!
操作如下:

Image description

如果双击没有显示窗口,需要重启实例,运行export DISPLAY=:1一次,再开启VNC和Runner

是不是很简单?


⬇️模型下载

既然Runner已经可以运行了,现在就要下载模型了~

Runner自带一个模型下载器,但是里面的模型不能保证支持NSFW,所以我是使用了HuggingFace上的RWKV模型进行对话。
这里推介下载有两个模型:

实测claude那个涩涩还是非常不错的,闻到点克克子的体香味了!

要下载模型需要特别注意的是,如果用系统盘跑Runner的话,系统盘只有30GB
只能放下一个模型,如果想体验更多模型,可以选择将整个Runner的文件夹移到数据盘或者更改Runner的模型路径。

下载模型的时候最好是在虚拟机里面下载,以下载RWKV-claude-4-World-7B-65k这个模型为例子:
我们先将下载路径设置到模型文件夹:

cd RWKV-Runner/models/

安装一下Git LFS

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs

然后下载模型,在终端中运行:

git lfs clone https://huggingface.co/xiaol/rwkv-7B-world-novel-128k

然后便是漫长的等待。。。完成!


▶️运行Runner模型

在Runner界面下,按照这个设置就可以啦!

Image description

全部到整好以后,点击运行就可以加载模型啦~
到这里,Runner就部署完成了!


🤓接入RisuAI

最后就是要接入RisuAI了

同样的,在Runner->配置中,可以设置API端口,运行中不可更改API接口。
默认接口是和Silly Tavern的8000接口,虽然现在接入ST还有问题,但是预留端口还是很有必要的。

无论大家用的哪个端口,都要用上个教程提到的方法将端口转发到本地。

以我5000端口为例,在RisuAI的设置中,需要将模型都设置成反向代理,
然后在下栏中填写http://127.0.0.1:5000/v1,如图所示。

Image description

然后就可以和AI愉快的进行友好对话啦!

Image description


💾保存镜像

为了安全起见,湿主们可以自行保存一份镜像,以免日后有什么咿喐都可以轻松返回部署好的状态:

Image description


最后还是要提醒下大家,记得关机!关机!

Edit

Pub: 11 Aug 2023 22:57 UTC

Edit: 12 Aug 2023 00:02 UTC

Views: 1107