RWKV 推理教程
KoboldCPP 使用教程
ℹ️

KoboldCpp (opens in a new tab) 是一款简单易用的 AI 模型推理和文本生成工具。

KoboldCpp 基于 llama.cpp 推理后端构建,兼容 ggmlgguf 两种格式的模型。

本教程将指引你在 KoboldCpp 中运行 RWKV 模型,并与模型聊天对话。

效果预览

聊天模式(Chat Mode):模型回答较短,适合日常闲聊。

koboldcpp-chat-mode

指令模式(Instruct Mode):模型回答较详细,适合提问或解决问题。

koboldcpp-instruct-mode

下载与安装

下载 RWKV 模型

KoboldCpp 兼容 ggmlgguf 两种模型格式,推荐使用 gguf 格式的 RWKV 模型。

可以从 RWKV-GGUF 仓库 (opens in a new tab) 下载 gguf RWKV 模型。在 Hugging Face 页面,点击模型文件右侧的下载按钮,以下载模型文件:

rwkv-model-list

ℹ️

RWKV-GGUF 仓库为每种参数的 RWKV 模型提供了不同量化精度的 gguf 模型文件。

量化会影响模型的推理精度,从而影响模型的对话效果,推荐使用损失较低的 Q5_1Q8_0 量化精度,以维持模型的性能和用户体验。

下载 KoboldCpp

KoboldCpp 更新界面 (opens in a new tab)可以下载最新版本的 KoboldCpp 项目。

Windows 系统

Windows 系统推荐下载 koboldcpp.exe,也可以根据设备的硬件配置选择其他 exe 文件:

  • 如果不需要 CUDA(没有 NVIDIA 显卡),可以使用体积更小的 koboldcpp_nocuda.exe
  • 如果您拥有 NVIDIA 显卡但使用老式 CPU,且 koboldcpp.exe 无法运行,试一下 koboldcpp_oldcpu.exe
  • 如果您拥有较新的 NVIDIA 显卡,可以使用 CUDA 12 版本的 koboldcpp_cu12.exe(文件更大,但速度稍快)

Linux 系统

Linux 系统请选择相应 CUDA 版本的 Linux 二进制文件:

  • koboldcpp-linux-x64-cuda1150:带 CUDA 11.5 的 Linux 二进制文件
  • koboldcpp-linux-x64-cuda1210:带 CUDA 12.1 的 Linux 二进制文件
  • koboldcpp-linux-x64-nocuda:不带 CUDA 的 Linux 二进制文件

macOS 系统

如果您正在使用运行于 Apple Silicon (M1, M2, M3 ...) 芯片上的 macOS 系统,可以尝试 koboldcpp-mac-arm64 二进制文件。

配置与运行

调整 KoboldCpp 配置

双击下载的 exe 文件,打开 KoboldCpp 的启动器 GUI 界面:

koboldcpp-start-gui

在启动器的快速启动(Quick Launch)界面,可以调整 KoboldCpp 和模型的配置,重点关注以下三个选项:

  • Model:点击 Browse 按钮,选择一个 gguf 格式的 RWKV 模型文件。

  • Presets:选择一种加载模型的方式。NVIDIA 显卡选择 CUBLAS,AMD 显卡选择 CLBlast,其他显卡选择 Vulkan,CPU 选择 OpenBLAS

  • Gpu layers:GPU 加载的模型层数,推荐保持默认值为 -1 (加载所有层)。如果显存不足,可从最大层数逐步减少加载层数:

    模型参数最大层数
    RWKV-1.5B24
    RWKV-3B32
    RWKV-7B32
    RWKV-14B61

其他选项建议保持默认,或根据需要调整:

  • Use QuantMatMul (mmg) :是否启用 MMQ 模式代替 CuBLAS 处理提示词,这是 CUBLAS 模式特有的选项,更详细的解释请参考 KoboldCpp 文档 - MMQ 的作用 (opens in a new tab)
  • Launch Browser:是否在加载模型后自动打开浏览器,并访问 KoboldCpp 的 WebUI
  • Use ContextShift :是否使用 ContextShift 来减少重新处理上下文的时间。更详细的解释请参考 KoboldCpp 文档 - ContextShift (opens in a new tab)
  • Use FlashAttention :是否使用 FlashAttention 优化内存使用,仅对 CUDA/CuBLAS 模式有效
  • Quite Mode :选择此选项,终端将不会显示模型生成的文本内容
  • Remote Tunnel:是否允许其他设备使用远程隧道连接 KoboldCpp,更详细的解释请参考 KoboldCpp 文档 - Remote Tunnel (opens in a new tab)
  • Context Size:设置 KoboldCpp 可处理的最大上下文长度,RWKV 模型推荐保持默认值 4096
  • 其他参数的释义,请参考 KoboldCpp 文档 (opens in a new tab)

运行 KoboldCpp

配置完毕后,点击右下角的 Launch 按钮启动 KoboldCpp。

此时 KoboldCpp 的启动器 GUI 将会自动关闭,并自动打开浏览器访问 KoboldCpp 的 WebUI 界面:

koboldcpp-webui

至此,KoboldCpp 已经成功运行,可以开始使用 RWKV 模型进行文本生成。

KoboldCpp 使用指南

更改对话模式

KoboldCpp 支持四种聊天模式。在 KoboldCpp 的 WebUI 界面,点击 Settings -> Format -> Usage Mode 按钮,可以调整聊天模式:

  • Instruct Mode:指令模式,适合带有指令的文本生成
  • Story Mode:故事模式,适合小说风格的文本生成
  • Adventure Mode:冒险模式,适合生成交互式小说/角色扮演游戏等内容。
  • Chat Mode:聊天模式,适合闲聊

在我们的测试中,RWKV 模型在 Instruct ModeChat Mode 两种模式下表现较好。Story ModeAdventure Mode 模式则需要进行一些额外的角色设定和配置,方可正常使用。

ℹ️

使用 Chat Mode 时,请将 AI Name 选项设置为 Assistant,以获得最佳对话效果。

koboldcpp-chat-mode-setting-ai-name

更改 WebUI 风格

KoboldCpp 支持三种 WebUI 风格。在 KoboldCpp 的 WebUI 界面,点击 Settings -> Format -> UI Style Select 按钮,可以调整 WebUI 风格:

  • Classic Theme:默认主题,访问 KoboldCpp 的默认界面。
  • Aesthetic Theme:美学主题,可以自定义 UI 大小、背景图、聊天框背景颜色等样式。
  • Corpor Theme:极简主题,类似于 ChatGPT 等在线服务的界面。

推荐使用 Corpor Theme

koboldcpp-instruct-mode

其他设置项

由于 KoboldCpp 的设置项较多,此文档无法列出完整的设置项释义。

对于每个设置项的详细释义,请参考 WebUI 中的注释及 KoboldCpp 文档 (opens in a new tab)

ℹ️

如果不习惯全英文的 WebUI 界面,可使用浏览器的翻译功能将页面翻译成中文。