AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


大模型微调炼丹心得十问
发布日期:2024-07-25 12:08:54 浏览次数: 1867



Q1: 超参数如何设定?

简单任务rank=16,alpha=32一般就ok了,Lightning AI有一篇技术分享专门讨论了,lora的参数设定问题。

Finetuning LLMs with LoRA and QLoRA: Insights from Hundreds of Experiments
https://lightning.ai/pages/community/lora-insights/

Q2:sft微调需要多少数据,

根据任务难度,设定。这句话有点废。具体点,任务难度可以根据模型计算困惑度来衡量。你可以和一般任务对比,自行摸索一个阀值。这是定量。定性,如果提示词能够解决,难度较低,如果通过提示词不能解决,难度是有点,是中等,还是高根据模型已有的先验知识来定。所以一般难度100-300条数据就ok了,中等,困难问题一般需要1000以上,这个以上可能是3000,8000,1w或者10w加。你说任务难度和数据量有没有定性关系, 如果你算力够,又想搞研究写论文,你可以探索一下任务难度指标如何定义,已经和特定模型需要的sft数据量是什么关系。也许已经有论文了,我没看到

Q3: 学习率如何调整

一般lora微调学习率都设定为1e-4,其实很多时候,你要根据loss的情况,调高,或者调低,震荡比较大就调低,太慢就调高。根据任务酌情设定。

Q4: 总是学不会,怎么办

如果你在各种超参数后,效果还是不理想。你第一个反思的应该是你的数据集和你想要的结果是否真的匹配,或者你的指令是否是模型友好的(困惑度比较低),或者你的数据存在不平衡。对,没错大模型时代数据平衡也还是很重要的。所以所谓高质量数据集并不是客户场景,或者业务场景有很多数据就够了。最后一公里其实是针对任务模型友好的数据集,能让模型快速学会。这就像一个好老师,一点就通。而差老师怎么教,你还是不会。

Q5: 听说sft微调的越多,遗忘的越多

是的,不过对于小任务,rank比较低(例如8,16)的任务,影响还是有有限的。一般很少掉点明显。如果有你可以混合一些你想保留的原子能力的数据进去。

Q6: 如何才能一次性微调想要模型学习到多个能力

肯定是可以的,注意相关性和比例,数据集必须是一个好老师,然后还要注意到我提到的以上内容。另外你也可以通过多阶段sft的方式学习多个能力。

Q7: 微调需要很久么,需要多少GPU,普通企业能不能玩

Qlora微调7b模型并不需要很多GPU,也不需要很久。一台12G显存的GPU即可,30分钟-2小时,对于中等任务而言。现在市面是4090租赁价格不过2元/小时。所以硬性成本不高。高的是针对特定能力的高质量数据集如果构建,以及能做微调的人才。我甚至和同时开玩笑说,我失业了我就去卖高质量数据集,我的广告词就是

买我的数据集,微调一小时,能力全都有!主要一个省心省力,按能力大小和数据集制作成本收费。

Q8: 处理sft微调,还能做其他微调么

有的,我们都知道RLHF,这个成本比较高,但是DPO和ORPO,针对偏好微调成本就低很多了。尤其ORPO和sft的成本几乎一样。唯一不同的是数据集需要有偏好对。而且偏好微调一个重要的特点是可以克服遗忘,sft是微调参数越多,遗忘越大。所以如果你想保留通用能力,偏好微调是比指令微调更好的选择。缺点就是数据集的制作成本高。偏好对要做到高质量是有难度的。

Q9: 微调用什么框架

如果你是大神,自己手搓trainer,如果是你高手,对模型比较懂,那就自己写peft,trl的trainer。如果你是专门做落地的,高应用的,没那么多时间手搓代码,你可以用诸如LLaMA-Factory、阿里的swift,书生xtuner、Firefly等,有很多。

Q10: 在实践中如何选择做提示词工程、RAG知识库、微调

一张图解决你的困惑



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询