ziwang-com / zero-lora

zero零训练llm调参

Home Page:http://www.m-f.vip

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

如何在合并 Lora 的情况下输出 ggml 文件?

ziwang-com opened this issue · comments

ggerganov/llama.cpp#1449
如何在合并 Lora 的情况下输出 ggml 文件?#1449
打开
FNsi 打开了本期 五月 last week ·3 评论
打开
如何在合并 Lora 的情况下输出 ggml 文件?
#1449
FNsi 打开了本期 五月 last week ·3 评论
评论
@FNsi
FNsi 评论 last week
我认为 Lora 正在申请,而做ggml_graph_comput(lora_ctx, &gf)

我应该怎么做才能输出一个完整的 ggml 文件,包括美洲驼 + 合并的 lora?

我认为简单地通过添加参数uint_8 *dst 来修改Llama_apply_lora_from_file_internal是行不通的......

有没有相反的方法可以将其转换为完整的ggml文件或从ram中复制出来的方法?

mirek190和UbiquitousWhite用竖起大拇指的表情符号做出反应
FNsi用眼睛表情符号做出反应
@FNsi FNsi 更改了标题 劳拉适应后如何将张量输出到 ggml 文件? 如何输出与劳拉合并的 ggml 文件? last week
@slaren
合作者
斯拉伦评论 last week
目前,没有任何方法可以使用llama.cpp创建预合并的模型。如果需要这样做,可以将其与 pytorch/PEFT 合并,然后将合并的模型转换为 ggml。

支持这一点不会太难, 我们可以添加一个函数来将加载的模型保存到磁盘,您可以在应用 LoRA 后使用, 但每个 API 都会增加复杂性和更多代码需要维护, 并且不相信我们真的需要这个.有什么理由用美洲驼这样做.cpp而不是使用 python 来合并 LoRA?

@FNsi
作者
FNsi 评论 5 days ago •
目前,没有任何方法可以使用llama.cpp创建预合并的模型。如果需要这样做,可以将其与 pytorch/PEFT 合并,然后将合并的模型转换为 ggml。

支持这一点不会太难, 我们可以添加一个函数来将加载的模型保存到磁盘,您可以在应用 LoRA 后使用, 但每个 API 都会增加复杂性和更多代码需要维护, 并且不相信我们真的需要这个.有什么理由用美洲驼这样做.cpp而不是使用 python 来合并 LoRA?

这是我本能的想法, 我认为如果我们能一步到位地获得 Lora 的量化模型, 而不是将美洲驼重量转移到 HF 或一次又一次地从拥抱脸下载大文件, 那会更直接.

我尝试这样做的最重要原因是因为我想合并没有 pth-hf-pth-ggml 但内存要求较低的多 loras,就像在 32gb 笔记本电脑中一样。因此,更多的劳拉斯合并将像野火一样受到考验。

例如,目前我正在使用wizard-vicuña + Lora:evol-starcoder,我发现它非常有用!有点疯狂,它可以正确地进行大量计算(有时仍然是错误的),是的,它可以读取代码并告诉我代码到底是做什么的,因为它只有 13b,这只是向我展示了一个简单的事实:

更多的洛拉斯可以带来更高的生产力。

正如我们目前所知,这些模型训练数据大小没有达到饱和点,并且暗示loras可能是近乎完美的模型,具有所有这些参数的全部潜力。

这就是为什么我想知道如何直接用骆驼.cpp来做这件事,降低界限,更多的人加入进来,最后可能会创造一个令人难以置信的模型。

@iplayfast
iplayfast 评论 3 days ago
我也认为这很有用,只是因为我正在学习美洲驼.cpp并且想专注于它。与 PyTorch/PEFT 合并的想法表明这是可能的,但你不知道你不知道什么。我当然甚至不知道看 peft(不管那是什么!在美洲驼中提供 API .cpp意味着我会找到它。我理解不愿意添加额外的API,但我真的觉得这会很有用,而且我之前在llama.ccp中寻找过。