在谈垂直领域大模型之前,我们先对目前的大模型做一个简单的梳理,看看大模型都有哪些。
大模型都有哪些?
大模型一般可以分为通用大模型和垂直领域大模型。
通用大模型很好理解,就是使用大量通用数据进行预训练的大模型,通常会具备两种特点:跨任务的通用性和跨域的通用性。
而垂直领域大模型有很多别名,如领域大模型,行业大模型,垂直大模型,说的都是一个意思。垂直领域大模型是指在特定的领域或行业中经过训练和优化的大型语言模型。与通用大模型相比,垂直领域大模型更专注于某个特定领域的知识和技能,具备更高的领域专业性和实用性。
垂直领域大模型的优劣势
与通用大模型相比,垂直领域大模型具有以下优势和劣势:
优势:
- 领域专业性:垂直领域大模型经过专门的训练,能够更好地理解和处理特定领域的知识、术语和上下文。
- 高质量输出:由于在特定领域中进行了优化,垂直领域大模型在该领域的输出质量通常比通用大模型更高。
- 特定任务效果更好:对于特定领域的任务,垂直领域大模型通常比通用大模型表现更好。
劣势:
- 数据需求和训练成本:垂直领域大模型需要大量的特定领域数据进行训练,这可能会面临数据收集和标注的挑战。
- 适应性限制:垂直领域大模型在特定领域中的适应性较强,但在其他领域的表现可能相对较弱。
- 更新和维护成本:由于特定领域的知识和要求经常变化,垂直领域大模型需要定期更新和维护,以保持与新发展的同步。
垂直领域大模型的几种形式
垂直领域大模型有以下几种形式:
- 基于垂直领域数据对通用大模型的微调,也使用垂直领域数据通过某些微调方式(如LoRA、P-Tuning等)对通用大模型进行微调;当然,也有基于垂直领域数据在通用大模型的基础上进行继续预训练;
- 只使用垂直领域数据预训练大模型;
- 使用垂直领域数据和通用数据的混合数据预训练大模型,如BloombergGPT;
- 使用领域知识库结合通用大模型完成知识问答,例如使用Langchain +ChatGLM完成知识问答,具体就是先使用词向量模型找到文档中和问题相似的文本,利用大模型的总结能力对文本进行汇总作为输出;
以上是4种不同的垂直领域数据大模型,目前比较主流的是第1种和第4种。
而除了上述4种外,构造垂直领域的prompt 算是通用模型在垂直领域的一种应用:例如直接用in context learning的方法,通过构造和领域相关的prompt,由通用大模型直接生成回复。
垂直领域大模型的几点看法
我比较认同的点如下:
- 使用领域数据从头预训练一个大模型,可能会有比较好的效果,但由于大模型的参数量通常比较大才会有涌现能力,所以也需要大量的高质量的领域数据。
- 对于垂直领域大模型,只需要在垂直领域上的效果由于大模型就可以了,不必再要求其具有通用大模型的其他能力。
- 在7B、13B这种规模的参数下,领域模型是要优于通用模型的。
领域大模型的常见问题
Q:我有很多的技术标准和领域文本数据,直接给你就能训练领域大模型了吧?
A:是也不是,纯文本只能用于模型的预训练,真正可以进行后续问答,需要的是指令数据。当然可以采用一些人工智能方法生成一些指数据,但为了保证事实性,还是需要进行人工校对的。高质量SFT数据,才是模型微调的关键。
Q:你用领域数据微调过的大模型,为什么不直接问答,还要用你的知识库?
A:外部知识主要是为了解决模型幻觉、提高模型回复准确。同时,采用外部知识库可以快速进行知识更新,相较于模型训练要快非常多。
参考:
关于大模型和自动驾驶的几个迷思
垂直领域大模型的一些思考及开源模型汇总
【LLM系列】对行业大模型的思考
垂直领域大模型汇总