FuseLLM:基于知识融合的大模型集成方法
前言
传统的模型融合方法主要分为集成方法和权重合并方法。这两种方法在以往的 NLP 比赛中非常常见,是提升性能的有效手段。然而,上述两种方法通常都需要对每个源模型进行预训练或微调,在大模型场景下,对每个源模型都进行初始化成本过高。
为了减少初始化源大语言模型(LLM)的成本,使集成后的模型能够受益于所有源 LLMs 的优势,本文介绍了一种基于知识融合的方法来进行大模型的融合。该方法旨在创建一个统一的 LLM,使其性能超越任何单一的源 LLM。
1. 背景与概念
1.1 因果语言建模(Causal Language Modeling, CLM)
因果语言建模是训练语言模型的一种核心目标,它旨在最小化模型预测下一个词的负对数似然。在传统的语言模型训练中,这个目标是通过比较模型生成的词概率分布与实际文本中的词(以 one-hot 编码表示)来实现的。
CLM 的训练目标可以形式化地表示为:
$$\mathcal{L}{CLM} = -\sum{i=1}^{T} \log P(y_i | y_{<i}; \theta)$$
其中 $P(y_i | y_{<i}; \theta)$ 是在模型参数 $\theta$ 下,第 $i$ 个词给定前一个词的预测概率。
1.2 概率分布矩阵
为了更一般地看待语言模型,我们将序列预测转换为概率分布矩阵。对于给定的文本序列,模型会生成一个概率分布矩阵 $P$,其中每一行 $p_i$ 代表模型对第 $i$ 个词的预测分布。这个矩阵可以看作是模型对词汇表 $V$ 中每个词的概率预测。
CLM 的训练目标可以重写为概率分布矩阵的形式,通过计算预测分布与真实标签分布之间的差异来衡量损失。这里使用 KL 散度(Kullback-Leibler Divergence)作为两个矩阵之间的差异度量。
$$\mathcal{L} = D_{KL}(P_{target} || P_{source})$$
其中 $P_{target}$ 是 one-hot 编码的标签矩阵,每一行对应于文本序列中的一个词;$P_{source}$ 是模型预测的概率分布矩阵。
小结:从知识融合的角度看,不同 LLMs 生成的概率分布矩阵可以反映它们对文本的理解和知识。因此,通过比较和融合这些概率分布矩阵,可以提取和整合多个模型的知识,从而提升目标模型的性能。
2. LLMs 融合方法
2.1 知识外化
不同的 LLMs 对同一文本生成的不同概率分布矩阵代表了这些模型嵌入的多样化知识。FUSELLM 方法通过概率建模来融合这些源 LLMs 的概率分布,目的是创建一个统一的 LLM,这个新模型能够超越任何单一的源 LLM。
2.2 训练目标
为了实现上述目标,FUSELLM 在与预训练数据集相似的原始文本语料库上对目标 LLM 进行轻量级持续训练。在训练过程中,FUSELLM 不仅依赖于因果语言建模(CLM)目标,还强调最小化目标 LLM 的概率分布与源 LLMs 的概率分布之间的差异。
融合损失函数定义为:
$$\mathcal{L}{fusion} = \sum{k} w_k D_{KL}(P_{target} || P_{source}^{(k)})$$
整体损失函数结合了 CLM 目标和融合损失:
$$\mathcal{L}{total} = \mathcal{L}{CLM} + \lambda \cdot \mathcal{L}_{fusion}$$
其中 $w_k$ 是各个源模型的权重,$\lambda$ 是平衡系数。
2.3 概率分布矩阵对齐
由于不同源 LLMs 可能使用不同的分词器(Tokenizer),它们生成的概率分布矩阵可能在词汇表和 Token 上存在对齐问题。为了解决这个问题,FUSELLM 采用了一种基于最小编辑距离(MinED)的策略来对齐这些矩阵,确保不同模型之间的分布矩阵可以正确对齐。
Token Alignment 的重要性
在 LLMs 融合的过程中,确保不同模型生成的标记对齐是至关重要的,因为这直接影响到概率分布矩阵的对齐和后续的知识融合效果。如果标记没有正确对齐,那么即使模型在理解文本方面有优势,也无法有效地将这些优势转移到目标模型中。
Token Alignment 包含两个维度:
- 文本维度:需要确保两个模型生成的标记序列在文本顺序上对齐。
- 分布维度:需要确保来自不同模型的分布值也对齐,即使它们可能对应不同的标记。


