行业百科>领域大模型的构建方法
领域大模型的构建方法
2023-11-09 16:40:25
OpenAI 的成功不仅让大家看到了大模型的能力,而且形成了一整套工程化方法用来构建大模型应用,虽然对方法的探索还在不断完善,但已基本形成了一定的模式。目前较为成熟的构建方法有以下数种:
(1)从头构建。使用通用数据和领域数据混合,从头开始训练一个大模型,这当然只有极其个别的行业机构才能够承担,例如金融、医疗、法律、教育等领域,最典型的代表就是布隆伯格的金融大模型 BloombergGPT。
(2)二次预训练。可以认为是在通用预训练模型基础上,利用领域数据(通常也要按照一定配比关系混合一些通用数据,否则往往会使原有大模型已经具备的能力退化甚至消失)进行数据调参,这种方式被称为继续预训练或二次预训练。像 LawGPT 就是做了二次预训练的。这种方法具有很强的不确定性,现有实践普遍反映效果一般,还没有指令微调效果好,有人认为是数据质量和数据配比问题。
(3)指令微调。在一个通用模型的基础上利用标注数据进行监督式微调,即称为指令微调(instruction tuning,也称为 supervised fine-tuning),这是大模型具备任务响应能力的关键,也是现在开源社区最普遍的做法,有很多“领域大模型”比如“华佗”、ChatLaw 等都是这样做的。这种做法的优势是可以快速看到不错的结果,但通常有天花板效应,已有效果很难获得更大的提高。
(4)结合向量知识库方式。各类大模型加上领域知识库,针对已有大模型缺乏领域知识的问题,利用向量数据库等方式根据问题在领域知识库中找到相关内容,再利用通用大模型强大的泛化和推理能力以及对各类指令的适应性生成回复,这是目前大模型实现领域应用的主流,也已经有不少开发框架可以直接应用,在 Langchain 和 HuggingFace 中可以找到很多开源框架,当然微软等越来越多的公司也提供他们的解决方案。
(5)通过上下文学习方式。上下文学习(即 in-context learning)是一种提示词回馈,通过构造和领域相关的提示词(包括指令、示例等,可综合采用提示词模版),再通用大模型生成回复,类似于上述向量知识库方式的简化版。这种方式通常受限于大模型每次能够接受的 token 数(即记忆容量)。随着业界把上下文标签(token)数量(也称为 context window)越做越大,提示中可以容纳的知识也越来越多,直接用通用大模型也可以对领域问题有很好的回复。
上述 5 种方式既可以综合采用,也可以独立实现。第 1 种“从头训练”费用高昂且结果不可控,因此一般不推荐采用;第 2 和 3 是在通用大模型的基础上进行微调,对参数权重进行了调整也增加了知识内容,是训练行业大模型的典型做法,也需要想当成本,目前我们能够用来进行微调的都是开源大模型;第4和5都是部署大模型来解决行业问题,它是利用2或3的结果作为基础模型(又称为基座模型)而进行的应用开发,只能算是一种大模型应用,目前有很多宣称自己开发了大模型的厂商其实都是这种情况。目前如果采用最优秀的商用大模型(例如 GPT4)在其下游搭建应用,常常能够得到更好的效果,当然这种应用模式也有较高的使用成本,在开放给最终用户使用时也会有合规性问题,因此通常只能作为内部使用或效果对标(benchmarking)。
上一篇文章
领域大模型应用的评价
下一篇文章
大模型应用的两种方法
相关新闻
大模型数据治理的特点和范围
2023-11-09 17:07:05
大模型应用的数据处理步骤
2023-11-09 17:31:02
大模型开发中的数据需求
2023-11-09 16:27:49
免费领取更多行业解决方案
立即咨询