大模型微调方案设计和能力整合
大模型应用开发,听起来门槛很高,但其实背后有一套非常清晰的知识地图。掌握了它,你就知道自己该往哪个方向使劲。这个问题,值得花点时间拆开来聊。
整个图谱可以分成三大块:先讲清楚总体的技术架构和应用要怎么“生”出来,再深挖开发过程中绕不开的核心要素,最后看看具体都有哪些落地的玩法。
我们先来看一张总览图。
总述
1. 技术架构
构建大模型应用,技术架构是地基。地基稳不稳,直接决定了上层建筑能盖多高。整体上,我们可以把它拆成四个层级:基础设施层、模型工具层、模型引擎层,以及最上面的应用层。
基础设施层
模型工具层
模型引擎层
大模型应用层
大企业有能力把这四层都建好。但小团队呢?没关系。现在很多开源平台和云平台已经把模型引擎、模型工具和基础设施服务都封装好了。你只需要用好这些资源,专注在业务场景的路由编排上,偶尔准备点数据做个微调,就能以很低的成本把想法落地。
2. 应用开发生命周期
技术能力到位后,开发一个大模型应用,跟其他项目一样,也得遵循标准的生命周期:需求定义、方案设计、方案开发、部署与迭代。
在需求定义与方案设计阶段,有两个方向必须想清楚:
首先是
业务范畴与交互场景
其次,得盯住
业务目标
到了方案开发阶段,同样有两个方向要抓:
一个是
模型选择
另一个是
工具选择与流程编排
部署与迭代阶段,也分两步走:
一方面,跟现有产品模块做集成测试和上线;
另一方面,要构建持续迭代和持续学习能力,包括回收线上数据、分析线上案例,让模型越用越好。
核心要素
1. 模型调优 – 提示词工程
提示词工程是大模型应用的基础。它控制力强、反馈快、迭代灵活、可复用,能有效降低训练和运行成本。我们分三个环节来看:
编写一条优秀的提示词
指令要具备的要素:明确模型扮演的角色、要解决的问题、目标场景、边界条件、要求以及风格。编写原则是简洁、正确、清晰、普适,正确引用资料。超参数设置也要注意,比如采样策略、输出长度、返回格式。
指令调优和编排
调优的主要技巧包括:
-
Few Shot
-
StepByStep
-
思维链
流程编排方面:
-
ReAct & Langchain
-
RAG(检索增强生成)
-
策略组合
评估方法
效果好不好,得有标准来衡量。
上图对比了不同评估方法的优缺点。在实际生产中,问题种类繁多(算术、方程、翻译等),可以引入前置分析模型,对问题进行剖析,然后分流到不同的处理流程,提高解决效率。
2. 模型调优 - 微调
模型微调,就是用特定下游任务的数据,让基础模型在预训练权重上继续训练,直到满足性能标准。
微调跟提示词工程的根本区别在于:提示词是给模型一个“要求标准”让它执行;微调是给模型“具体示例”,让它自个儿归纳出规律。这能减轻人工总结的工作量。
什么情况下需要微调?
- 提示词工程效果不理想;
- 线上出现了大量bad case,处理不了;
- 想压缩成本:用大模型生成数据,让小模型学习,用更小的参数量和成本也能达到类似效果。
但微调的劣势也很明显:
- 提示词是“所见即所得”,微调的反馈链路长,迭代周期长;
- 需要调整参数、生成新模型,开发和部署成本更高。
微调分类上,参数高效微调(PEFT)是个亮点。它只训练少量参数,能降低训练成本和灾难性遗忘的风险。PEFT里又包括Adapter-tuning、Prefix-tuning和LoRA等,各自的优劣势如上图所示。
3. 迭代要素
好的模型调优,是建立在好的提示词工程基础之上的。先用提示词工程相关技巧取得效果,再结合优质数据、科学的观测、评估和Scaling,才能训练出好模型。高质量样本有特定要求,训练过程中要及时观测、调整,包括数据的Scaling和超参的Scaling。
4. 方案设计 & 能力整合
模型训练好并筛选出优秀者后,要把它们整合进“原子能力体系”中。模型通常作为单点应用存在,再与其他增强类、操作类能力结合,通过上游流程编排,最终实现大模型应用。
流程编排工具分两大类:
-
固定编排流程
-
模型自定义流程
5. 评估
评估在大模型应用开发中至关重要。主要包括:大模型通用能力评估、模型综合能力评估(用于模型打榜)、业务应用能力评估(针对特定场景)。不同任务要用合适的评估方法。
应用案例
大模型的应用主要分两大类:
-
应用相关
-
Inference相关
随着大模型应用持续推进,AI将渗透到千行百业,应用场景一定会更加丰富。