cryscan / web-rwkv

Implementation of the RWKV language model in pure WebGPU/Rust.
Other
210 stars 15 forks source link

转st脚本不支持带lora的rwkv模型,以及可能的ggml模型Vulkan后端支持? #13

Closed XieDeWu closed 3 months ago

XieDeWu commented 7 months ago

当前个人使用rwkv.cpp转ggml并colab跑cuda,从而间接支持带lora的rwkv模型 ggml模型能从多种大模型转化而来包括rwkv与其合并的lora层 而rwkv.cpp实现了ggml-rwkv模型(附加了Lora层的也支持)的CPU与CUDA后端,能跑,但是不支持本地的AMD硬件 我想用Vulkan跑,但是此处前提是使用st模型 但是我想对于合并了lora的rwkv模型.pth需要转化为.st格式失败了 无论格式转化工具用py转换还是rust转化,均为未支持附加或者说合并了lora层的rwkv大模型 所以能否添加来自rwkv的ggml模型vulkan运算支持?

或 使得转化脚本支持附加的lora层?(在RWKV-Runner合并的lora,合并的模型也能在Runner下跑) 报错信息如下: py:
Traceback (most recent call last): File "C:\Users\ybryerp\Desktop\ai\web-rwkv\convert_safetensors.py", line 62, in convert_file(args.input, args.output, ["lora_A"], TypeError: convert_file() got multiple values for argument 'rename'

rust: Error: Unexpected toplevel type error: process didn't exit successfully: target\release\examples\converter.exe --input C:\Users\ybryerp\Desktop\ai\web-rwkv\RWKV-4-H-7B.pth (exit code: 1)

cryscan commented 7 months ago

行,先可以把LoRA融进去跑,之后有空加到脚本里去。现在web-rwkv本身其实已经可以载入LoRA,但对LoRA的参数的名字有要求。

XieDeWu commented 6 months ago

好的

cryscan commented 3 months ago

@XieDeWu 已经支持保存/读取量化、LoRA合并后的模型。参见 serialization 例子。