学习笔记:垂直领域大模型的定制化:理论基础与关键技术
由于通用大模型不能完全适配特定行业和应用场景,所以需要垂直领域大模型的定制化。
- 对特定行业的知识深度不够
- 垂直领域大模型:训练中使用大量特定领域数据
垂直大模型定制的理论基础
大模型定义
特点:
- 大数据
- 大参数
- 通用性
- 泛化性:在为止数据域中有良好的性能
分类:

构建垂直领域大模型难度:
- 领域数据难以获取,具有机密性
- 领域数据模态和通用大模型使用的中心模态不同,难于迁移
- 构建难度大,开销大,技术难
大模型架构
多模态大模型在理论上包含所有单模态大模型的功能和结构。即"单 模 态 大 模 型 就 是 实 现 了 多 模 态 大 模 型 部 分 功 能 的 大 模 型"。
多 模 态 大 模 型 的 结 构 可 以 分 为 以 下 5 个模块:
- 模态编码器
- 输入投影器
- 主干运算器
- 输出投影器
- 模态解码器

多模态大模型具有一个中心模态,通过模态对齐技术,将其能够处理的所有模态都投影到该中心模态上。
垂直领域大模型的定制过程:根据业务需求选取所需的模块组成业务模块,然后训练整个模型,其中个别模块可以通过迁移和微调方式部署实现。
特征提取
由于原始数据中包含大量冗余和噪音信息,通过特征提取能将数据转换为信息更为密集的特征空间。
深度学习中,可利用神经网络自动提取特征,即每一层都将上一层的输入数据进行计算并转换到一个新的向量空间。
- 自编码器:通过最小化原向量与重构向量之间的重构误差,学习数据的有效表示,通过将输入数据压缩为低维特征向量,再通过解码器将低维向量投影回原始数据空间。

大模型架构中的模态编码器和模态解码器就是将两者对应的自编码器的编码和解码部分,配对成自编码器来训练??
- 变分自编码器:除了最小化重建误差外,还包括最大化输入数据的似然概率,从而学习到压缩向量的分布。
模态对齐
多模态大模型中,需要利用模态对齐,将不同模态的原始数据或特征向量处理成具有相同维度的特征标识,然后通过设计损失函数来表征特征向量间的相关性,进而将各模态的特征向量投影到一个共享的特征空间中。
模态对齐的实现方式:
- 融合编码器建构
融合编码器采用Transformer模型的子注意力机制或交叉注意力机制来编码多模态数据。

- 基于自注意力机制的方法:拼接主副模态的特征向量输入Transformer中产生QKV,让模型自动关注不同模态的特征,并实现跨模态信息融合。
- 基于交叉注意力机制的方法:将模态的特征向量分别计算QKV,进而实现跨模态信息融合。
- 双编码器架构
核心原理是为每种模态单独训练一个专门的编码器,利用对比学习的方法,通过语义相似度同步引导两个编码器的学习过程,将不同编码器的输出特征向量投影到同一个向量空间中。

而一一对齐每对模态的成本较高,进而提出桥接对齐的方法:通过将所有其他模态与一个中心模态进行匹配,进而在语义空间中实现所有模态的对齐。
规模幂律
在其他条件给定的情况下,模型的损失函数随着参数量、计算资源和训练数据量的增加成指数级下降,这意味着通过增加模型参数量、加大计算资源投入和增加训练数据量,模型的性能可能有指数级提升。
涌现现象
模型涌现:随着模型规模的增加,模型拥有根本更多的参数和更复杂的结构,使得其更好的捕捉数据中的复杂特征和模式,能处理更为复杂的推理任务。
但随着模型参数量的增加, 对计算资源的需求和过拟合风险也上升,不能无限制增加模型参数量。
垂直领域大模型的定制方法
垂直领域大模型的定制化方法分为:

基于全架构通用大模型的垂直领域增强
若通用大模型能够完全处理所需的模态数据,就无需修改模型架构,只需对其进行垂直领域增强。根据是否改变大模型参数,又分为:

即插即用
分为两种方式:

- 调用已有知识
尽可能调用通用大模型中已经存储的垂直领域知识,通过对提示词进行"微调",即优化提示词,将一段精心优化后的提示词插入到输入数据前面作为模型上下文来影响生成结果。又分为:
- 硬提示
训练一个提示词优化模型?通过在少量监督数据上进行训练模型,并对无监督数据进行集成预测,从而实现对模型的指导。
- 软提示
前缀提示词微调:添加可学习的前缀向量到输入序列的开始部分来适应特定下游任务,只更新前缀向量,而不是模型参数。
P-tuning微调:核心是将提示词也视为模型可以学习的一部分,让模型不仅学习如何相应给定的任务,还学习如何生成最佳的提示词,和deepseek的"think"类似?
- 输入新增知识
通过输入领域知识的方式赋予大模型对垂直领域任务的处理能力,又分为:
- 通过提示词输入知识
是few shot?将领域知识放到提示词中,这样受限于最大提示词长度,限制模型长文本输入能力的三个核心问题:位置编码的局限性、注意力机制的资源消耗、长距离依赖问题。
针对上述问题,提出无损长文本技术,通过外推和内插两个方法实现:
a. 外推:扩展模型的上下文窗口,涉及改进位置编码机制。如Longformer、LongRoPE、BigBird等。
b.内插:在模型现有序列长度能力范围内,通过调整和优化注意力机制来提升对长文本处理能力。如BERT、XL-Net、Transformer-XL等。
- 通过外挂知识库输入知识
知识库+RAG实现
基于微调
在尽可能保留通用大模型预训练知识的同时,对其进行针对性垂直领域知识增强改造,微调方法分为:

- 基于适配器的微调
适配器微调是一种在预训练模型中插入小型可训练适配器模块的方法,微调过程中,只有适配器模块的参数会被更新,预训练模型原有的参数保持不变。如AdapterFusion、IA3。
- 基于低秩矩阵分解的微调
通过将预训练模型中的权重矩阵分解为低秩矩阵的乘积来减少需要更新的参数量,微调时保持原有预训练参数不变,只更新低秩分解矩阵。
a. 低秩适配(LoRA):通过奇异值分解将模型参数分解为低秩矩阵的乘积

b. 自适应低秩适配(AdaLoRA)是LoRA的改进,可以自适应决定哪些层的参数需要更新,通过自适应学习率和任务特定的参数调整策略,是模型能够根据任务的特定需求自动调整微调的强度和范围。
c. 低秩Hadamard积微调
d. 低秩Kronecker积微调
- 全参数微调
全参数微调,所需大量的计算资源和较长的训练时间。
基于预训练模块的垂直领域大模型的改造
主要技术是迁移学习,在大模型架构中,模态编码器、主干运算器和模态解码器3个模块承载了大量知识,所以主要对这三个模块机型改造。
- 基于预训练的模态编码器的迁移学习
将预训练模型的前置特征提取模块作为预训练数据的模态编码器,再在该模块后对接下游任务模块即可实现任务需求。有2种实现方式:
- 同一模态迁移不同数据域
需要对源域和目标域数据的特征分布进行对齐,通过对源域的预训练模态编码器在目标域上进行微调,使其能适应新数据的特征。
- 迁移到不同模态
采用跨模态迁移,借用其他模态的编码器来处理新的数据类型。
- 基于预训练的主干运算器的迁移学习
需要构建相应的前置模块来将数据编码为主干运算器能够处理的特征向量。有两种方式:
- 迁移单一的预训练主干运算器
迁移预训练的模型的主干运算器到垂直领域应用时,需要在有限的领域数据集上进行微调,以适应特定领域的数据特征和任务需求。
- 模块化组合多个预训练主干运算器
允许根据任务需求,将多个专门化的预训练模型整合到一个统一的框架中,即混合专家模型(MOE),使用门控机制和混合策略动态选择和组合专家模型的输出。
门控机制根据输入数据的特征来为每个专家生成一个权重或分数,标识每个专家对当前输入的重要性。
混合策略是将多个专家的输出按照一定的策略结合起来,生成最终的输出,策略比如为平均、加权平均等。
- 基于预训练的模态解码器的迁移学习
- 微调预训练的模态解码器
通过在特定任务的数据集上进行微调来适应新的任务需求,即对解码器的最后几层进行调整,或增加新的层、
- 迁移跨模态生成式的模态解码器
通过条件编码器将条件信息编码为特征向量,然后再与原始数据的特征向量结合,实现条件生成。
无预训练模块的垂直领域大模型全架构构建
单模态大模型由模态编码器、主干运算器和模态解码器组成。以llama2为例,采用字节对编码(BPE)算法实现编解码功能,主干运算器是一个自回归Transformer模型。实现了"输入原始文本-输入文本特征向量-输出文本特征向量-输出原始文本"的完整流程。
而多模态大模型还包括输入投影器和输出投影器来实现模态对齐。以llama2为例,采用自回归Transformer作为主干运算器,然后将主干运算器处理后的图像和音频特征经过MLP转换回图像域,作为控制向量输入到基于DF架构的生成模型中,得到最终的图像和文本结果。
所以,大致流程为:
- 构建大模型时首先确定数据模态
- 接着构建相应模块实现模态编码器和输入投影器,将不同模态的原始数据转换为主干运算器能够处理的中心模态特征向量
- 随后涉及输出投影器和模态解码器,将主干于是暖其处理后的特征向量转为各模态的原始数据形式
- 完成模型结构设计后,可开始训练
构建模态编码器
编码器即从数据中提取特征向量的神经网络,有以下步骤:
- 预处理为合适的数据结构:选择合适的数据结构,如音频处理时将时域信号转为频谱图,推荐系统时用图谱。还需要考虑多种任务输入之间的适配性。
- 设计网路架构:根据数据结构设计相应的网络结构,如文本数据用Transformer架构来捕捉长距离依赖关系,图像数据用CNN架构来提取特征。
- 训练模态编码器:使用样本数量和种类充足的数据集进行预训练,预训练方式有:
- 将模态编码器和模态解码器组合成自编码器,以最小化重构误差为目标进行无监督训练
- 针对特定任务设计模型,使用该任务的损失函数进行有监督训练,训练完成后将模型的上游部分迁移作为模态编码器
构建输入投影器
作用是将来自不同模态的数据投影到一个共同的特征空间中,通过"模态对齐"实现,即通过融合编码器或双编码器架构实现,也即采用桥接器策略来整合不同模态的输入向量,还是通过微调方法使不同模态的投影器互相靠近。
构建主干运算器
作用是对中心模态的特征向量进行理解和生成,构建主干运算器首先选定数据模态,当前主流的Transformer架构,是由解码器和编码器构成,【编码器负责分析输入数据,提取紧凑的特征标识,解码器利用特征标识来生成数据,所以编码器理解能力更强,解码器生成能力更强】,具体架构分为:

- 基于编码器架构的主干运算器
通常用于需要理解输入文本,如文本分析、情感分析等,只能生成固定长度的输出,生成能力较弱,面对生成任务,主干运算器仅能处理缺失序列补全这种广义生成任务,如BERT。
- 基于解码器结构的主干运算器
减少参数量和计算开销,限制模型长度列处理能力,在生成输出序列时不需要显示的上下文表示,而是通过自注意力机制在序列内部自动捕获信息,该架构通常通过自回归生成方式,即根据先前的生成内容逐个生成词或字符,来完成文本生成,如GPT系列和llama等。
- 基于编解码器架构的主干运算器
导致模型参数量和计算成本较高,如BART、T5等。
构建输出投影器及模态解码器
分为生成式和判决式,生成式解码器在满足条件信息的前提下,生成高质量的数据样本,判决式模态解码器有更精确的恢复能力,侧重于根据输入向量准确重建数据样本。

- 生成式模态解码器
当其他模态的特征向量作为条件信息,将生成的数据作为解码器输出时,这类解码器为生成式模态解码器。不强制要求构建显示的输出投影器,如DiT模型能够根据前一步的结果和条件向量逐步生成图像,交叉注意力机制实现了输出投影器。
生成式模态解码器通常使用端到端的训练策略,训练目标是最小化生成数据与真实数据之间的差异,并确保生成数据满足给定的条件,以及还可以使用对抗性训练以提升生成质量。
- 判决式模态解码器
只负责直接将特征向量恢复成原始数据的形式,需要配合显式的输出投影器将其他模态域上的特征向量转换为目标模态来使用。显式输出投影器采用监督学习的训练方式,即模型接收来自其他模态的特征向量作为输入,并学习将这些特征投影为目标模态的特征向量,通过最小化两个向量间的误差来提升投影准确度。
垂直领域大模型的应用实例
- 通信领域
处理网络日志数据,优化信号传输和调度策略,实现通信网络内生智能,构建通信大模型。
- 自动驾驶领域
大模型对车辆的感知、决策和规划。
- 数学推理领域
利用预训练模型理解和解释数学工时,利用微调技术对特定数学推理问题进行求解。
- 医疗领域
模拟医生的诊疗过程,为患者提供初步医疗咨询和建议。
- 法律领域
对法律文书进行分析,识别文本中关键信息和法律概念,提供精确的案件分析和法律咨询。
用于案件预测,通过分析历史案例和相关法律条文,预测案件结果(已有案件,为什么还需预测),为律师制定辩护策略提供数据支撑。
- 艺术领域
辅助、设计或生成艺术作品等。
- 金融领域
构建信用评分系统,预测股市等。
垂直领域大模型定制化发展方向
- 数据方面挑战
- 特定领域数据获取昂贵又耗时
- 数据收集的隐私保护
- 多模态理解能力有待提升
- 处理新数据模态
- 构建处理多种模态数据的统一模型
- 模型架构方面挑战
- 垂直领域大模型构架需要高度模块化和可定制性
- 模型可解释性,设计可视化工具展示模型内部工作机制
- 算力方面挑战
- 轻量化部署
- 分布式训练和推理
- 安全方面挑战
- 增强鲁棒性
- 开发和部署高效的恶意输入检测机制
- 隐私保护即使减少模型对敏感数据的依赖,确保用户数据安全和隐私
- 工作流程和政策加强
- 安全的模型推理环境:TEE