AI知识库

53AI知识库

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


大模型微调到底有没有技术含量?
发布日期:2024-08-24 22:54:21 浏览次数: 1642


在技术领域,尤其是近年来兴起的LLM(大型语言模型)方向,在入门门槛较传统NLP(自然语言处理)有所降低,但工作的技术含量,往往取决于你的思维方式与执行方法。

我以大型模型微调的几个关键环节为例来探讨几种不同的做法,虽然它们可能都能实现最终目标,甚至在模型效果上相差不多,但对细节的把控确大有不同,这就反应了所谓的技术含量。

数据处理环节

方法一:直接沿用同事或实验室之前的训练数据,未经检查便投入训练。

方法二:下载开源数据集,人工针对几类不同的数据编写system语句,构建“system + query + answer”的训练数据。

方法三:掌握GPT喜爱的提示词(prompt),利用GPT生成标准格式的数据,并致力于扩充提示词的任务和表达多样性,甚至添加噪声提示词以提高抗噪性。使用大模型之间相互检查的方法来提高数据质量。

方法四:根据业务埋点数据收集真实问题与回答,通过规则或GPT分析用户反馈,以获取高质量真实的训练数据。

方法五:借鉴CoT、RAG、function_call、Agent等思路,将复杂任务在数据层面进行拆解,例如将“长文本摘要”转变为“长文本每章摘要,再基于每章摘要写长文本摘要”。

……

模型训练环节

方法一:直接使用Github中下载下来的代码,仅修改数据路径后运行训练模型。

方法二:深入研究训练代码的每个参数,理解其含义,如offload、sequence_parallel等,并探究数据加载器(dataloader)的处理方式、session数据的损失计算等。

方法三:在理解参数的基础上,提出自己的见解,如训练轮数、数据量级、特殊标记(special_token)的使用是否合理,学习率设置是否恰当,warmup策略是否必要,并通过查阅资料或咨询老师来解答疑惑。

方法四:对训练代码提出质疑并进行改进,如考虑替换或结合deepspeed和megatron框架,优化训练速度,解决潜在的性能瓶颈。

……

实验分析环节

方法一:仅对验证集进行验证,根据验证结果判断训练是否结束,若效果不佳,则归咎于数据问题。

方法二:结合预训练模型/sft_base模型的结果,分析每个sft_exp模型的bad case,如幻觉问题、过拟合问题,pretrain模型压根就没有这个能力?这个 size 的模型就做不了这种复杂逻辑问题?并设计实验进行验证。

方法三:不仅意识到模型结果和数据质量有关,还去分析和训练方法的关系。通过训练日志、tensorboard和模型评估结果共同分析,batch_size设置多少合适?3 个 epoch 和 2 个 epoch 的效果对比?special_token 太多还是训练集的创作任务太多?最终 loss 又是多少、低于 0.5 就要担心过拟合了?

方法四:运行大模型常用基准测评(benchmark),验证模型的通用能力,分析为何特定任务训练会导致某些能力下降,研究通用能力的平衡问题进而分析,为什么自己训 task A 会导致数学能力下降?自己训 task B 会导致创作能力下降?想办法去研究通用能力的跷跷板问题,去避免学着忘着的尴尬现象。

……

征途漫漫

在数据分析、机器学习、深度学习、大模型陆续出来后,对模型的封装性越来越强,只要几步就可将模型训练起来,所以很多调包侠将注意点放在了数据质量上,而封装性越强,也就意味着对模型的更改调整越困难,对算法人员的专业性要求也就越高。

上述这些不同的做法,虽然都能达到一定的目的,但对个人能力的锻炼和提升却有着显著差异。在技术道路上,只有不断探索、质疑、改进,才能在看似平凡的工作中,挖掘出无限的可能。


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

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

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

联系我们

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

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询