在 RWKV Runner 教程的上篇(新手教程),我们讲述了如何使用 RWKV Runner 本地部署并运行 RWKV 模型: 而在今天发布的教程下篇,我们将主要介绍 RWKV Runner 的进阶用法,包括模型的自定义模型配置、服务器部署、API 相关、LoRA 微调,以及如何连接实体 MIDI 键盘作曲等内容。 自定义模型配置在教程的上篇中,我们介绍了 RWKV Runner 拥有许多预设的模型配置,我们可以根据自己的显卡选择某项预设模型配置。 实际上,在 RWKV Runner 的配置页面,可修改预设模型配置的参数,或点击 + 号添加自定义的模型配置。 如果说预设模型配置像餐厅提前准备好的食物套餐,那么自定义模型配置就像是自助餐,你可以随意调整自定义配置中的各类参数,但请记住:对每项参数的调整,都会影响模型最终的生成效果。 以下为自定义模型配置的 API 参数说明,及其调整效果: 下为自定义模型配置的模型参数说明及其调整效果。 自定义模型配置示例下面一项自定义模型配置的过程: 1. 点击 + 号,新建一项配置,调整 API 参数 由于是不需要创造力的翻译任务,我们稍微调低了 Temperature 和 Top_P 两项参数,使翻译的结果更准确。 2. 调整模型参数 在这一步,我们选择了一个 RWKV-5 1.5B 参数的 World 模型。 由于我们设备是 AMD的核显,无法使用 CUDA 驱动模型。因此我们在 Strategy 选项中选择了 “WebGPU(Python)”。 由于 WebGPU(Python)模式只支持 Safetensors 格式。因此,我们需要点击 Runner 的“转换”弹框,将 .pth 后缀的官方模型转换为 .st 后缀的模型格式。 3. 重新运行模型 耐心等待模型转换完成后,我们再次点击“模型”选项,选择转换完成后的 .st 模型,并点击运行。
🌐 服务器部署以下是一份简易的服务器部署示例: 1. 在你的服务器中选择一个空的目录,然后执行以下语句,将 RWKV Runner 克隆到服务器中:
2. 如需启动后端推理服务,请执行以下命令:
此时可调用 /switch-model 载入模型,参考 API 文档:http://127.0.0.1:8000/docs 3. 如需启动前端服务,请执行以下命令:
4. 如需同时启动前后端服务,请执行以下语句:
5. 如需查看帮助参数,请执行:
更详细的服务器部署案例请在此查看: https://github.com/josStore r/RWKV-Runner/tree/master/deploy-examples
🖇️ API 相关1. API 并发压力测试
body.json:
2. Embeddings API 示例
注意: 1.4.0 版本对 embeddings API 质量进行了改善,生成结果与之前的版本不兼容,如果你正在使用此 API 生成知识库等,请重新生成。 如果你在用 langchain, 请直接使用以下代码:
LoRA 微调功能LORA(Low-Rank Adaptation)是一种针对大型预训练模型的微调技术。它不改变原始模型大部分参数,而是仅通过引入两个低秩矩阵来调整模型的部分权重,以此实现对特定任务的有效优化。这种方法能够在保持模型原有泛化能力的同时,减少微调所需资源,并提高特定任务的性能。 RWKV Runner 的“训练”版块支持一键 LoRA 微调 RWKV 模型,但目前仅支持在 Windows 系统中使用。 在开始训练之前,请确保你的 Windows 设备上已安装最新版的 WSL(Windows Subsystem for Linux) 2 。 LoRA 训练环境配置 在开始训练之前,我们需要先配置一次 LoRA 训练的环境。 以下步骤详细指导如何在一台新电脑上配置 RWKV Runner 的 LoRA 训练环境,请确保配置全程处于畅通的网络。 1. 选择基底模型,转换训练数据 打开 RWKV Runner 的训练 - 训练参数一栏,选择你要使用的基底模型,然后点击训练按钮。 初次执行时,系统会提示你数据需要转换,点击上方的转换按钮,将训练数据转换为更适合训练的格式。 2.开启 WSL ,激活 Linux 环境 再次点击训练,RWKV Runner 将会尝试开启 Windows WSL 功能,激活 Linux 环境。 此操作会要求管理员权限,你需要点击确认,并在弹出的窗口完成激活。此时建议你重启电脑,如果之前已经开启过WSL功能,则可以不进行重启。 3. 为 WSL 安装 Ubuntu 接着,RWKV Runner 会自动查询 Windows 是否安装了 Ubuntu 系统。如果没有找到, Runner 将会提示你进行安装。 对于一般使用windows家庭版或专业版的用户,点击弹框的安装按钮后,Microsoft Store 将会自动打开并跳转至 Ubuntu 的安装界面。 4.打开 Ubuntu 商店安装前,建议你先在命令行执行一次 wsl --update 进行 WSL 更新,并执行 wsl --set-default-version 2 将 WSL 的默认版本设为 2。 然后点击微软商店的安装按钮,安装完毕后,再点击打开按钮,让 Ubuntu 执行初始化配置。 如果你使用的是服务器版 Windows 系统,通常该系统没有商店组件,请使用命令行自行安装 Ubuntu 系统。 5. 为 Ubuntu 配置训练环境 继续点击训练按钮,现在将会为 Ubuntu 配置训练环境。在这个阶段,RWKV Runner 界面将会出现一系列命令文本,并下载多个组件。 此阶段请保证你的网络畅通,Ubuntu 训练环境只需要配置一次。 6. 开始 LoRA 训练 在环境配置完毕后,RWKV Runner 将自动开始训练,当你见到这个图形化Loss曲线时,意味着训练已正式开始。 根据你设置的保存间隔轮次,在 LoRA 模型一栏,将会出现多个训练完成的 LoRA 权重,你可以选择一个权重,并点击合并模型按钮。 合并模型将会生成一个直接可用的新微调模型,新的微调模型会带有 LoRA 后缀。此时可在 RWKV Runner 的配置页面选择新的微调模型并正常启动。 LoRA 微调的参数设置以下是 RWKV Runner 中 LoRA 微调的参数设置: 数据处理调整
训练参数调整 以下是 LoRA 训练参数的作用和推荐设置: 其他参数主要涉及到优化器配置和学习率策略:
还有一些特定于 LoRA 的超参:
其他开关,如前馈网络预处理和 Head QK ,正常情况下保持关闭即可。 LoRA 微调参考示例以下是一名 RWKV 用户基于 RWKV-6 3B 模型进行 Lora 微调的 roleplay (角色扮演)模型: 此次 LoRA 微调使用全新的 180M 全中文数据集: 使用如下参数,在 RWKV-Runner 中进行 21 个epoch 的 LoRA 微调: 🎹 MIDI 硬件输入RWKV Runner “作曲” 功能支持使用 MIDI 硬件创建旋律,这个章节介绍如何为 RWKV Runner 配置 MIDI 硬件输入。 如果你没有实体的 MIDI 键盘, 可以使用像 Virtual Midi Controller 3 LE 这样的虚拟 MIDI 输入软件,再配合 loopMIDI,即可使用普通电脑键盘作为 MIDI 输入。 连接 USB 接口的 MIDI 设备 USB 接口的 MIDI 设备是即插即用的,你能够在 RWKV Runner 作曲界面选择已插入的 USB MIDI 输入设备: MacOS 的 MIDI 蓝牙连接 对于想要使用蓝牙输入的 Mac 用户,请安装 Bluetooth MIDI Connect。 启动 Bluetooth MIDI Connect 后,点击托盘连接,之后可以在作曲界面选择你的输入设备。 Windows 系统的 MIDI 蓝牙连接
Windows 系统只为 UWP 实现了蓝牙 MIDI 支持,因此我们需要创建一个虚拟的 MIDI 设备,并通过 UWP 程序将实体蓝牙 MIDI 设备的输入重定向到虚拟的 MIDI 设备,再将输出提供给 RWKV Runner 。 听起来似乎有些复杂,但无需担心,只需跟着以下几个步骤操作即可: 1. 使用 loopMIDI 创建一个本地的虚拟 MIDI 设备 首先,我们需要下载用于创建虚拟 MIDI 设备的 loopMIDI 软件。 下载完成后,打开 loopMIDI 并点击左下角的加号,创建一个虚拟的 MIDI 设备(如下图中的 loopMIDI Port ): 2.使用 Bluetooth LE Explorer 连接实体 MIDI 设备的蓝牙 第二步,你需要下载 Bluetooth LE Explorer,以发现并连接实体的蓝牙 MIDI 设备。 Bluetooth LE Explorer 下载地址:https://apps.microsoft.com/detail/9N0ZTKF1QD98 打开 Bluetooth LE Explorer,点击 “Start” 搜索设备, 然后点击 “Pair” 绑定实体 MIDI 设备(下图中的 Vboard 49 为实体 MIDI 键盘的蓝牙名称)。 3.将实体 MIDI 设备的蓝牙输入重定向到虚拟的 MIDI 设备 在这一步,你需要安装 MIDIberry,这个 UWP 应用能将实体 MIDI 设备的蓝牙输入重定向到虚拟的 MIDI 设备。 启动 MIDIberry 后, 在输入栏双击你实际的蓝牙MIDI 设备名称( Vboard 49 ),并在输出栏双击此前使用 loopMIDI 创建的虚拟 MIDI设备名称(loopMIDI Port): 4. 使用 RWKV Runner 监听虚拟 MIDI 设备的输入 完成以上步骤后,实体 MIDI 设备的蓝牙已被映射到虚拟的 MIDI 设备上,此时可以在 RWKV Runner 的作曲界面选择虚拟 MIDI 设备(loopMIDI Port)作为输入。
常见问题由于进阶教程通常需要较为复杂的配置,无法将常见问题一一列出。 如果你遇到了无法解决的困难,建议加入 RWKV 官方 QQ 群 224287095 提问,提问时请附带问题截图和文字描述。 RWKV 模型介绍RWKV 是一种创新的深度学习网络架构,它将 Transformer 与 RNN 各自的优点相结合,同时实现高度并行化训练与高效推理,时间复杂度为线性复杂度,在长序列推理场景下具有优于 Transformer 的性能潜力。 RWKV 模型的最新版本是 RWKV-6 ,架构图如下: 相对 Transformer 架构,RWKV 架构的推理成本降低 2~10 倍,训练成本降低 2~3 倍。 RWKV 模型最初由彭博设计,今已捐赠给 Linux Foundation AI&Data 作为孵化项目。 加入 RWKV 社区RWKV 官网:RWKV Language Model QQ 频道:QQ频道邀请 QQ 交流群:224287095 |
|