原文链接:https://www.freddyboulton.com/blog/when-to-finetune?continueFlag=03133d546a002fc4ba73dda1632eeebe
考虑到大语言模型(llama 70b, mixtral, claude...)的能力在不断的增强的情况下,微调是否仍然是值得做的事。
下面是值得微调的一些原因:
1.提示工程达不到预期
一开始要进行提示工程而不是微调,因为提示工程是实现最低可行性产品的最快途径。
但是在进行了多轮的提示工程之后,基础模型仍然不能生成合理的回复,那么就要考虑使用微调越过平稳期。
这里就强调了为项目设置一个良好的评估方式的重要性,能够客观地评价回复的质量。
2.提示工程是不切实际的
对于某些问题,为模型正确响应提示中的查询可能需要的所有上下文进行编码入提示中是不切实际的。
例如,要求LLM为专有编程语言生成代码。在这种情况下,语言的整个“规范”必须包含在提示中,这要么是不可能的,要么成本非常高,因为它占据了上下文限制的大部分。
3.数据是你的优势
为了使微调模型在特定任务上优于通用模型,它必须在比基础模型训练更好的数据上进行训练。
如果您有一个定义明确的任务和大量基础模型尚未见过的高质量数据,那么微调可能会产生性能更好的模型。
4.延迟和成本
在给定任务中,微调可以使小型模型优于大型基础模型。微调也可能意味着您可以使用更短的提示。最终,这将意味着更便宜的托管和更快的推理时间。
案例研究:
1.关于怎么使用一个软件库的问答系统
通常情况下微调效果会更好,除非这个库非常受欢迎,基础模型已经学习得很好了。
2.根据几个条件(如锻炼时长和可用器材)生成个性化锻炼计划的应用程序。
我认为提示工程在这里就足够了,因为锻炼是非常主观的,并且有很多可以接受的答案。
我不知道可以收集哪些数据来改进GPT-4/Claude给出的答案。
也许如果锻炼必须满足非常具体的标准,那么就有必要进行微调。
3.一款应用程序,可集成到服装店的库存中,并根据“氛围”建议服装。
我认为微调在这里效果最好。显然,使用RAG将库存中最相关的物品被注入到提示中,但在决定如何将物品进行组合时,存在很多细微差别是基础模型天生无法理解的。
此外,微调还可以使商店能够将应用程序能够捕捉到著名/知名时装设计师的风格。
总结:
1.效果怎么样(回复质量和速度)
2.是否和私有数据有关
3.问题是否主观
4.答案是否有具体标准