链载Ai

标题: 大模型微调方案设计和能力整合 [打印本页]

作者: 链载Ai    时间: 9 小时前
标题: 大模型微调方案设计和能力整合

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 1.5px;color: rgb(0, 0, 0);font-size: 14px;text-align: justify;visibility: visible;line-height: 2em;">导读本文将介绍大模型应用开发相关的知识地图。

主要包括以下三大部分:


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 1.5px;line-height: 2em;visibility: visible;">1.总述

2.核心要素

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 1.5px;line-height: 2em;">3.应用案例

分享嘉宾|侯容 知乎 舰桥平台研发 Leader

姚经纬 知乎 内容理解研发 Leader

编辑整理|高敏

内容校对|李瑶

出品社区|DataFun



01

总述


1. 技术架构

在构建大型模型应用时,技术架构的规划至关重要。整体架构可被划分为四个层次:基础设施层、模型工具层、模型引擎层及大模型应用层。


(1)基础设施层:涵盖了数据服务、云平台及开源社区等多个方面,为应用开发提供坚实的基础。
(2)模型工具层:是模型训练与部署的平台,构建于基础设施层之上,涵盖了从数据构建、模型训练到模型部署的全过程。


(3)模型引擎层:主要作用是实现路由和编排,将不同的模型能力进行整合和协调。


模型包括文本模型、视觉模型、多模态模型以及分类判别模型等,然而单一的模型并不能直接为最外层的应用提供所需的所有功能,需要根据各种模型能力进行编排,从而提供更加精准和高效的服务,包括但不限于检索、存储、安全、代码、审计等工具能力的集合。举个例子,在智能问答的应用中,不仅仅需要依赖一个生成模型,同时也需要结合内容检索和安全性识别的能力。


(4)大模型应用层:是整个架构的最高层,这些应用包括智能问答系统、写作助手、观点提取、智能助教、标题生成以及文本总结等。


对于规模较大的企业,可能需要建设好这四层。但对于小规模的企业和创业团队来说,许多开源平台和云平台都提供了包含模型引擎、模型工具和基础设施的服务。因此只需要利用现有的资源,针对具体的业务场景,专注于做好路由和编排相关的工作,或者偶尔准备少量数据,进行少量模型微调,就能以相对较低的成本实现需求。


2. 应用开发生命周期



当具备相应技术能力时,开发大型模型应用需遵循一般项目开发的生命周期,包括需求定义、方案设计、方案开发以及部署 & 迭代等四个主要环节。


需求定义与方案设计阶段,主要从两个方向进行考量:
方案开发阶段,也包括两个方向:
方案开发完成后,就进入了部署 & 迭代阶段,同样包括两方面:
02


核心要素


1. 模型调优 – 提示词工程



提示词工程是大模型应用的重要基础,具有控制力更强、反馈更快速、迭代更灵活、可复用等优势,进而可以有效降低训练和运行成本。接下来,分三个部分详细介绍提示词工程:
(1)编写一条优秀的提示词或指令


指令应具备的要素:应当明确模型需要扮演的角色、要解决的问题、目标场景、相应的边界条件、解决问题需要满足的要求和相应的风格。


指令编写原则:提供简洁、正确、清晰且普适的描述,正确引用相关资料。这些原则有助于提升指令的质量,确保大型模型应用的有效性和准确性。


超参数设置:调整超参数,如采样策略、输出长度和返回格式等。


(2)指令调优和编排



调优的主要技巧包括:
另外还可以通过流程编排来进行调优:
(3)评估方法


基于以上这些方面,我们能够快速构建出大模型应用。然而,如何评估这些应用的价值和效果呢?



上图中对比了不同的模型评估方法的优缺点。在实际生产环境中,面临的问题种类繁多,涉及算数计算、方程解答、语言翻译等多种类型。为了解决这些问题,可以引入前置分析模型,该模型能够对问题的本质进行深入剖析。根据模型分析的结论,若问题适宜通过算数计算解决,则将激活相应的计算流程;反之,若问题更适合以翻译方式处理,则将启动翻译流程。通过这种策略,即可实现问题处理的合理分流,提高问题解决的效率和准确性。


2. 模型调优 - 微调

模型微调,即给基础模型提供特定的下游任务数据,使得模型在预训练权重上继续训练,直至满足下游任务性能标准。


模型微调与提示词工程的本质区别在于,提示词工程主要是向模型提供一个下游任务的要求标准,并让模型理解这个标准后执行相应操作;而模型微调则是通过提供具体的数个乃至成百上千个示例,让模型自行归纳并实现预期的效果,这一过程减轻了人工总结的工作量。


需要进行模型微调的情况主要有三种:
模型微调与提示词工程相比的劣势主要在于,提示词所见即所得,而模型微调反馈的链路是比较长的,也在无形中延长了迭代周期。另一方面,模型微调需要调整参数,产生新的模型,因此开发、部署成本也会更高。



模型微调的分类如图,其中参数高效微调,其原理在于,在训练过程中,固定了绝大多数的参数,只对少量的参数进行训练。理论上其效果是最优的。但劣势是消耗资源与预训练相当,难以规模化。另外可控性较差,容易引发灾难性遗忘等问题。


另外一种是参数高效微调(PEFT),只训练少量参数,可以降低训练成本,也能降低灾难性遗忘的风险。PEFT 又包括 Adapter-tuning、Prefix-tuning 和 LoRA。具体优势和劣势如上图中所示,不再赘述。


3.迭代要素



好的模型调优是建立在好的提示词工程基础之上的,需要使用前文中提到的相关技巧,获得一个较好的效果,在此基础上再结合优质的数据和科学的观测、评估和 scaling,才能训练出一个好的模型。



要构造高质量的样本,需要满足如上图所示的一些要求。训练过程中需要及时观测、评估并进行相应的调整,包括数据的 scaling 和超参的 scaling。


4. 方案设计&能力整合



为了使效果更为显著,在模型训练完毕并筛选出表现优异的模型后,需将这些模型融入原子能力体系,该体系包括模型类能力,模型通常作为独立的单点应用存在。这些原子能力与其他增强类能力和操作类能力相结合,通过上游流程的编排,最终实现大模型应用的开发。


流程编排工具主要分为两大类:一是固定编排流程,二是模型自定义流程。固定编排流程的逻辑是预先设定好的,以 RAG 为例,流程是人工编写并编排好的,模型实际上只参与整个流程中的一个环节。另一种模型自定义流程模式,以 OpenAI 的 Assistant 接口为例,在接收到用户请求后,模型能够自主决策后续步骤。


5. 评估


评估(详见上图)在整个人工智能大模型应用开发过程中占据着非常重要的地位,评估主要包括大模型通用的能力评估、模型综合能力评估(开源社区提供的,供各类预训练模型进行打榜)、业务应用能力评估(特定的应用场景)。针对不同的任务应该选择适当的评估方法。


03


应用案例



大模型的应用主要有两种,一种是应用相关的,一种是 inference 相关的。


应用相关的主要包括 AI 搜索、工作副手和对话助手。


Inference 相关的包括:中间件,主要用于任务编排;基础工具,致力于向量检索和数据检索等;模型工具,提供基础的模型能力,如文生图、文生视频。


随着大模型应用的持续推进,未来在千行百业都会融入AI,应用场景一定会更加丰富。


以上就是本次分享的内容,谢谢大家。



分享嘉宾

INTRODUCTION


侯容知乎舰桥平台研发 Leader

姚经纬知乎 内容理解研发Leader

侯容,知乎舰桥平台研发 Leader。毕业于北京化工大学,18 年初入职知乎,先后在社区业务线完成多方向的业务流程建设和架构的搭建。22 年从 0 到 1 搭建和落地舰桥平台,为业务赋能。知乎舰桥平台是:面向内容运营、用户运营、活动运营、创作者运营、场景运营(热点&热榜&话题&推送等)、生态分析等业务场景搭建的一站式平台。其中包含内容&用户管理和运营平台、内部营销平台(活动引擎&搭建&分析&投放平台)、内部投放和资源管理平台、创作者管理平台、DMP 平台、内容池平台、经营分析平台、场景运营平台等等,全方位赋能业务运营和业务发展。在大模型面向 B 端业务中有实践经验。

姚经纬,内容理解研发 Leader。知乎大模型项目的早期参与者,并一直参与大模型技术在知乎各业务落地的研发工作,包括理解、生成、对话等多个业务场景。在知乎 AI 探索业务方向有过落地并多次线上化的经验。






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5