提示工程、RAG和微调 - 哪个才是大模型应用优化的最佳路径?丨IDCF
共 13981字,需浏览 28分钟
·
2024-04-18 07:58
点这里👇星标关注,获取最新资讯!
IDCF DevOps
在上一篇文章 【GitHub Copilot产品经理和微软MVP告诉你:企业是否需要训练自己的代码大模型?- 微软MVP全球峰会纪行】中,我以GitHub Copilot作为案例,和大家分析了企业进行私有化模型训练的6个基本要素。但这其实是一个未完成的话题。
IDCF DevOps
在企业中引入AI能力是当前所有企业管理者都在考虑的问题,但并不是所有人都意识到,AI能力不是独立的,它需要融入到企业现有的管理和工程场景中,用全新的方式重构这些场景,最终演化出我们从未见过的新场景。
大模型应用工程能力建设(SE4AI)
回到大模型应用系统制定问题。即便企业不符合上文中提到的 6个私有训练的基本要求,让模型能够适应企业的私有代码仍然是我们需要解决的问题。
两个优化维度
三个优化方法
提示词工程,RAG和模型微调三种方法,可以分别解决输出形式上的稳定性和内容上的相关性问题,但是不同的方法对这两个问题也有不同的侧重点。以下分别解释说明。
这是最经济可行,也是见效最快的方式;在生成式AI(GenAI)这个领域中大家经常听说的 零样本/多样本学习(Zero-short/Few-short learning)或者 上下文引导学习(in-context learnning)其实都是提示词工程中的一些具体方法和技巧。
如何选择提示工程,RAG或者微调
这3个方法不是非此即彼的关系,而是相互配合的关系。对于任何问题,我们都建议将提示工程的方式作为起点,当经过一段时间的优化以后,如果发现提示词已经变得非常复杂,甚至模板内容都已经快要占满整个模型输入窗口,但是仍然无法获得稳定的模型输出,那么就应该考虑采用微调或者RAG来解决问题了。
-
如果在模板中大部分的内容是模型不知道的知识,这些知识的内容又来自其他的数据源,知识内容不停变动,以至于你不得不创建多个不同模板来实现不同场景,那么应该开始引入RAG进行下一步的优化。 -
如果模板中的内容大部分是各种格式的示例,你的目的也是希望模型能够模仿这些示例来输出内容,但是即便这些示例已经占满了模板,模型输出仍然不够稳定,那么应该开始引入微调进行下一步的优化。
大模型应用验证(测试)
大模型应用效果的验证和传统软件的评估效果不同,因为大模型本身的通用性和非确定性,造成即便是一个特定场景,我们无法穷举所有的输入可能性;对于同样的输入,我们也无法确定模型的标准化输出。类似这样的通用性和不确定的特点决定了传统的测试方法对大模型应用是无法直接使用的,我们必须探索一种适合大模型应用的验证/测试方式。
-
传统应用是确定性的:同样的输入一定有同样的输出 -
大模型应用是不确定性的:同样的输入不一定有同样的输出,不同的输入也可以有同样的输出,输出的内容虽然不相等但是含义一致。
-
Define - 测试目标的定义往往需要我们尽量穷举所有的测试场景,这一点在传统软件工程上是可行的,因为系统本身是确定性;但是在大模型应用上穷举法就是不可行的,因为大模型应用所面对的场景和传统应用场景有非常大的不同。比如:大模型应用可以帮助我们分析软件需求,这样一个场景就是无法通过传统软件工程方法来穷举的,我们必须寻求其他办法;同样,在传统软件应用上,我们也不会提出这类的应用场景,因为依靠常识就知道这种场景是不可行的。 -
Eval - 在测试验证环节上,这个区别更加明显。因为大模型输出不确定性属性,同样的输入会产生每次都不一致的输出,这些输出虽然在形式/用词/格式上有所区别,他们之间的语义上又存在联系。传统测试基于等式的验证方式明显无法适应这样的输出特性。
-
相关性 -
总结能力 -
偏见度 -
毒性 -
友好度 -
伤害性 -
遵从性 -
幻觉程度
小结
本文延续模型私有化训练的问题,对当前比较常见的大模型应用优化方式:提示工程,RAG和微调三种方法的优缺点进行了分析和比较。我们需要了解这三种方式并不是孤立互斥的,而是互相推动的,企业大模型应用最终的形态往往是这三种方法综合使用的结果。
研发效能·创享大会
我们诚挚邀请您出席5月25日在北京举办的【研发效能·创享大会—IDCF五周年专场】,亲身体验现场的交流与分享。
在大会上,本文作者徐磊老师将深入解读《AI驱动软件工程提升企业个性化代码生成准确率的核心实践》,我们期待您的莅临,共同探讨技术发展的前沿动态。
会议规模:本次大会将设有6大主题议程,1个主会场和2个分会场,预计将有300余位行业同仁参会。
我们荣幸地邀请到了徐磊、何勉、张乐、肖然、姚冬、王立杰等15位行业内的顶尖技术专家,他们将围绕软件行业的最新技术、趋势和热点话题进行主题演讲和深度讨论。
会议嘉宾:徐磊,英捷创软CEO/首席架构师/微软最有价值专家MVP/GitHub Star/GitHub Copilot中国区授权服务团队负责人,华为云MVP,工信教考《研发效能(DevOps)工程师》认证讲师,IDCF社区联合发起人。
分享简介:AI驱动代码生成已经是被业界普遍认可的生成式AI商业价值,大模型训练普遍采用开源和公开代码进行训练,在未优化的情况下难以在企业内部达到较高的生成准确率。如何提升AI编码大模型面对企业个性化代码时的生成准确率是这一领域的难点问题。
本次分享将从如何提高生成代码准确率话题展开,深入探讨个性化训练和RAG技术,在解决企业个性化代码生成准确率上的优缺点和技术细节。通过AISE在大型金融机构内的实际使用案例和反馈说明企业级AI辅助研发产品的落地核心要点和收益。
👇点击文末,阅读原文,或扫码报名。早鸟优惠、企业团购,此时不抢更待何时??
研发效能·创享大会
售票说明:
1.坐席有限,先到先得。
2.请扫描二维码或点击“阅读原文”购票。
3.可添加工作人员微信:小柒17822079720,随时掌握大会动态。