大模型的三大法宝:Finetune, Prompt Engineering, Reward
编者按:基于基础通用模型构建领域或企业特有模型是目前趋势。本文简明介绍了最大化挖掘语言模型潜力的三大法宝——Finetune, Prompt Engineering 和 RLHF——的基本概念,并指出了大模型微调面临的工具层面的挑战。
以下是译文,Enjoy!
作者 | Ben Lorica
编译 | 岳扬
随着语言模型越来越流行,采用一套通用的方法和工具来充分释放语言模型的潜力就变得至关重要。这些方法中最重要的是提示工程(prompt engineering),其涉及到如何在提示(prompt)或查询(query)中选择和组合词语来请求模型产生所需的回复(response)。如果能够从 ChatGPT 或 Stable Diffusion 中获得所需的输出(output),那么你就离成为一名熟练的提示工程师(prompt engineer)又近了一步。
在 tuning spectrum 的背后是基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF),当模型需要在多种输入和准确率要求极高的情况下训练时,这种方法是最有效的。RLHF 被广泛用于微调通用模型,如 ChatGPT、谷歌的 Bard、Anthropic 的 Claude 或 DeepMind 的 Sparrow。
下图中,我们总结了 Finetune,Prompt Engineering, RLHF 的核心特点和适用场景。
帮助我们充分利用基础模型的策略(中文图片由 Baihai IDP 翻译)
对于大多数团队来说,最佳选择是使用一个已初步训练好的模型,并将其 Fine-tune 以适应特定的任务或数据集。这个过程需要从大型语言模型(LLM)开始,这种模型已经在大量文本数据上进行了训练。虽然许多 LLM 目前是专有的(proprietary),只能通过 API 访问,但开源数据集、学术论文甚至开源模型代码的出现使技术团队能够用在他们特定的领域和应用程序。
另一个有趣的趋势是出现了更易于私有化部署和管理的基础模型,例如 LLaMA 和 Chinchilla,这为将来出现更多的中型模型提供了可能性。选择合适的模型进行微调需要团队不仅考虑特定领域中可用数据的数量,还要评估模型的(开源)许可证与其具体要求的兼容性。
微调基础模型的简略手册
随着我们对基础模型实际应用的理解不断拓展,出现了很多定制化的工具(bespoke tools),能够方便在模型部署前完善这些模型。这里有一些用于微调和定制语言模型的资源:
Hugging Face 的微调教程[1][2])。
OpenAI 的微调指南[3]
co:here 编写的关于如何创建自定义模型的指南[4]
AI21 Labs 编写的关于创建自定义模型的教程[5]
在 NLP(John Snow Labs[6])和 CV(Matroid[7])领域中,已经有了无代码工具开发的实例,可以无代码创建自定义模型。在大模型领域,我期待类似的工具的出现,以完善基础模型的微调和应用。
尽管 RLHF 在训练顶尖语言模型的团队中获得了肯定,但由于缺乏可用的工具,其可及性( accessibility )仍然不足。此外,RLHF 需要开发一个容易受 misalignment(即出现了统计分布不一致现象)和其他问题影响的奖励函数(reward function),并且 RLHF 仍然是一种只有少数团队掌握的专有技术。
虽然提示工程有用,但在生成针对特定任务和领域优化的可靠基础模型方面仍然不足。尽管有些团队可能会选择从头开始构建自己的模型,但由于从头开始训练模型的成本,这些团队不太可能总是这样做。因此,现在的趋势是倾向于微调预训练模型。
这就会导致,技术团队需要简单而多功能的工具,使他们能够使用各种技术[8]来创建自定义模型。
尽管微调(fine-tuning)可以产生最佳模型(optimal models),但在部署模型之前,还需要进一步使用 RHLF 进行调整。此外,Anthropic 最近进行的一项研究表明[9],提示方法(prompting methods)可以帮助使用 RLHF 训练的 LLMs 产生更少有害内容。
微调预训练模型比提示工程,或从头开始训练模型更有优势
END
小编注:需要大语言模型微调和训练工具平台的小伙伴,欢迎体验 IDP。我们也基于平台,快速搭建了多模态模型 IDPChat,欢迎关注和贡献。https://github.com/BaihaiAI/IDPChat
参考资料
[1]https://huggingface.co/docs/transformers/training
[2]https://huggingface.co/blog/trl-peft
[3]https://platform.openai.com/docs/guides/fine-tuning
[4]https://dashboard.cohere.ai/models/create
[5]https://docs.ai21.com/docs/custom-models
[6]https://nlp.johnsnowlabs.com/docs/en/alab/training_configurations
[7]https://www.matroid.com/detector-creation/
[8]https://powerml.co/?utm_source=newsletter&utm_id=gradientflow
[9]https://arxiv.org/abs/2302.07459
本文经原作者授权,由 Baihai IDP 编译。如需转载译文,请联系获取授权。
原文链接:
版权声明: 本文为 InfoQ 作者【Baihai IDP】的原创文章。
原文链接:【http://xie.infoq.cn/article/240fee444cb7467f093a79289】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论