Knowledge Fusion of Large Language Models

发表时间: 2024-01 · arXiv:2401.10491 (Sun Yat-sen / Tencent AI Lab, ICLR 2024)

作者/机构: Fanqi Wan, Xinting Huang, Deng Cai, Xiaojun Quan, Wei Bi, Shuming Shi

A1 主要贡献

随着大型语言模型(LLM)的成功,各大公司纷纷投入开发自己的LLM,但这带来了巨大的开发成本,包括海量训练数据、先进技术、大量计算资源和专业人才,同时还对能源和环境造成了巨大压力。尽管这些LLM在结构和功能上存在差异,但它们在许多自然语言处理(NLP)任务上共享相似的能力。因此,本文提出了一个替代从零开始训练LLM的方案:将现有的LLM融合成一个新的、更强大的模型,即“大型语言模型的知识融合”。如果成功,这种融合不仅能降低初始训练成本,还能让集成模型兼具所有LLM的优点。

传统的模型集成方法(如集成学习)需要在推理时同时运行多个模型,对于LLM来说,因其巨大的内存和推理时间需求而不可行。而权重合并方法通常要求模型具有相同的网络结构,这在LLM的背景下难以实现。

本文从概率分布的角度探讨LLM的融合。我们认为,对于给定的输入文本,不同源LLM生成的概率分布反映了它们理解该文本的内在知识。基于此,我们提出了FUSELLM方法,该方法利用源LLM的生成分布来外化它们的集体知识和独特优势,并通过轻量级的持续训练将这些能力迁移到目标LLM中。为了实现这一点,我们开发了一种新的策略来对齐来自不同LLM的词元(tokenization),并探索了两种融合这些不同LLM生成的概率分布的方法。


图1:传统模型融合技术(集成和权重合并)与我们的大型语言模型知识融合方法(FUSELLM)的图示。不同的动物图标代表不同的LLM,不同物种表示具有不同架构的LLM。FUSELLM从多个LLM中外化知识,并将其能力迁移到目标LLM中。

本文的主要贡献和发现如下:
1. 提出LLM融合的新挑战:旨在创建一个统一的模型,有效利用不同LLM的集体能力和独特优势。
2. 提出FUSELLM方法:与传统的集成和权重合并技术不同,该方法通过知识外化和迁移来融合多个LLM,支持不同架构的模型融合。
3. 实验验证:我们使用三个具有不同架构的流行开源LLM——Llama-2、OpenLLaMA和MPT进行实验。在涵盖推理、常识和代码生成的42个任务的三个基准测试中,通过FUSELLM训练的目标模型在大多数任务上优于任何单一的源LLM和基线模型。
4. 未来研究启发
* 训练语料库的选择至关重要,特别是其与下游任务的相关性。
* 当源LLM的能力差异显著时,融合函数在有效结合各自优势方面显得至关重要。
* 鉴于LLM结构的多样性和巨大的模型规模,LLM融合领域比传统的模型集成和合并技术更具探索前景。

A3 背景知识

相关工作

模型融合
整合不同模型能力的研究由来已久,主要分为两类。第一类是传统的模型集成技术,它通过组合多个模型的输出来提升系统整体性能【【36, The weighted majority algorithm, 1994, Information and Computation】;【49, Ensemble learning: A survey, 2018, Wiley Interdisciplinary Reviews: Data Mining and Knowledge Discovery】】。这种技术不涉及将多个模型显式合并为一个新模型。常见的集成方法包括加权平均【36】或多数投票【40】。最近,Jiang等人【27】提出了一种集成框架,利用多个开源LLM的不同优势,通过配对比较检测候选输出的细微差别,然后组合排名靠前的候选者以生成增强的输出。

第二类是权重合并,这是一种在参数层面进行模型融合的方法。Gupta等人【22】和Wortsman等人【67】合并了通过不同策略或配置获得的具有相同结构的模型权重,以实现更好的整体性能。同样,Cha等人【8】、Rame等人【46】和Arpit等人【2】探索了对来自不同配置的模型进行加权平均,以增强分布外泛化能力。此外,Jin等人【29】合并了为特定领域或任务设计的模型,以创建一个能够解决所有领域或任务的通用模型。除了整个模型的参数合并,Wang等人【63】、Huang等人【26】和Zhang等人【69】对适配器参数应用线性数学运算,以实现更优的泛化性能。

总而言之,模型集成需要并行部署多个模型,而权重合并通常仅限于结构相同的模型。相比之下,本文提出的方法通过显式地将多个LLM的知识和能力迁移到目标LLM中,支持融合具有不同架构的多个LLM。

知识蒸馏
知识蒸馏【23】最初是为模型压缩而提出的,它通过一个或多个教师模型的指导来训练一个学生模型。在NLP领域,知识蒸馏已广泛应用于文本分类任务,包括训练学生模型复制教师模型的输出分布【【50, Distilbert, a distilled version of bert: smaller, faster, cheaper and lighter, 2019, arXiv preprint arXiv:1910.01108】;【60, Well-read students learn better: On the importance of pre-training compact models, 2019, arXiv preprint arXiv:1908.08962】】、中间层的特征【【54, Patient knowledge distillation for bert model compression, 2019, Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP)】;【28, Tinybert: Distilling bert for natural language understanding, 2020, Findings of the Association for Computational Linguistics: EMNLP 2020】】和关系【62】。在文本生成领域,传统方法侧重于最小化学生和教师生成分布之间的KL散度,这可以通过使用教师在每个时间步的概率分布作为监督【【32, Mergedistill: Merging language models using pre-trained distillation, 2021, Findings of the Association for Computational Linguistics: ACL-IJCNLP 2021】;【21, Knowledge distillation of large language models, 2023, arXiv preprint arXiv:2306.08543】;【1, Gkd: Generalized knowledge distillation for auto-regressive sequence models, 2023, arXiv preprint arXiv:2306.13649】】或直接在教师生成的文本上进行训练来实现【【44, Instruction tuning with gpt-4, 2023, arXiv preprint arXiv:2304.03277】;【68, Wizardlm: Empowering large language models to follow complex instructions, 2023, arXiv preprint arXiv:2304.12244】】。

虽然我们的方法与多教师知识蒸馏的框架相似,但存在两个显著区别。首先,在传统的知识蒸馏中,学生模型的规模通常被限制在比教师模型小。然而,在我们的场景中,对目标模型的规模没有限制。其次,传统的知识蒸馏通常导致学生模型在蒸馏后性能落后于教师模型。相反,我们期望在融合后,目标模型的性能将超过任何一个源模型。

A2 方法细节

LLM融合的主要目标是外化多个源LLM中嵌入的集体知识,并将其能力整合到一个目标LLM中。给定K个具有不同架构的源LLM {$M_s^j$}$_{j=1}^K$,每个LLM都经过了独立的预训练或微调。我们通过让这些模型预测下一个词元来挑战它们固有的知识。我们对这些预测的概率分布进行彻底评估,并利用最准确的预测,在语料库C上使用因果语言建模目标来持续训练目标LLM $M_t$。在接下来的部分中,我们首先简要介绍预备知识,然后详细解释我们的LLM融合框架,最后深入探讨实现细节。

3.1 预备知识

因果语言建模(CLM)目标。 令$t$表示从语料库C中采样的长度为N的文本序列,$t_{<i} = (t_1, t_2, ..., t_{i-1})$表示第i个词元之前的序列。用于训练由参数$\theta$参数化的语言模型的因果语言建模(CLM)目标定义为最小化负对数似然:<br />
其中$p_\theta(t_i|t_{<i})$是模型在给定前面词元的情况下对词元$t_i$的预测概率。</p>

CLM目标的矩阵形式。 上述目标将序列似然分解为词元级别的交叉熵损失,将每个词元的预测分布与其one-hot表示进行比较。为了提供一个更广义的视角,我们将此词元级别的视图重构为序列分布格式。具体来说,对于文本序列$t$,我们聚合词元级别的预测,并创建一个概率分布矩阵$P_\theta^t \in \mathbb{R}^{N \times V}$,其中第i行表示模型对第i个词元在大小为V的词汇表上的预测分布。然后,CLM目标可以解释为减少$P_\theta^t$与one-hot标签矩阵$O^t \in \{0, 1\}^{N \times V}$之间的差异,其中每一行是相应真实词元的one-hot表示。形式上,CLM目标被转换为以下表示:

其中$D(\cdot, \cdot)$表示两个矩阵之间的差异函数,当实现为KL散度时,它等价于公式1。

3.2 LLM融合

基于概率分布矩阵的知识表示。 从语言模型的这个角度出发,我们认为概率分布矩阵可以反映其理解文本的某种内在知识。因此,源自不同LLM的同一文本的不同概率分布矩阵可以用来表示这些模型中嵌入的多样化知识。认识到这一点,我们提出的FUSELLM方法通过概率建模来解决LLM融合问题,旨在通过合并源LLM的概率分布来创建一个统一的LLM。为实现此目的,当开始融合一组LLM时,FUSELLM在一个与预训练数据集相似的原始文本语料库上对目标LLM进行轻量级的持续训练。FUSELLM不仅仅依赖于CLM目标,而是重点强调最小化目标LLM的概率分布与源LLM的概率分布之间的差异。

概率矩阵的获取与对齐。 对于语料库C中的每段文本,我们应用给定的K个源LLM,得到一组概率分布矩阵,表示为{$P_{\theta_j}^t$}$_{j=1}^K$,其中$\theta_j$表示第j个源模型的参数。我们承认源LLM之间词汇表的差异可能导致矩阵{$P_{\theta_j}^t$}$_{j=1}^K$不对齐。为了解决这个问题,我们采用了一种新颖的词元对齐策略,该策略将来自不同LLM的分布映射到一个统一的概率空间中,从而在模型间创建一致的概率解释。

概率矩阵的融合。 在对齐概率矩阵后,我们继续将它们融合成一个单一的紧凑表示。可以应用各种融合策略来实现此目的,具体细节在3.3节中介绍。我们使用$P^t$来表示融合后的表示矩阵,如下所示:

其中Fusion(·)表示组合多个矩阵的函数,得到的矩阵$P^t$被视为源LLM集体知识和独特优势的表示。

知识迁移与融合目标。 为了将源LLM的能力迁移到目标LLM,我们强制目标LLM的预测与融合后的表示矩阵$P^t$对齐。我们用$Q^t$表示目标LLM对文本t的输出分布矩阵,然后将我们的融合目标定义如下:

总体训练目标。 我们持续训练的总体目标由因果语言建模目标$L_{CLM}$和融合目标$L_{Fusion}$的加权组合构成,如下所示:

3.3 FUSELLM的实现

本节中,我们将介绍在FUSELLM方法中用于融合不同LLM的词元对齐和融合函数的实现细节。

词元对齐。 在多个LLM之间确保词元对齐对于有效的知识融合至关重要,因为它保证了概率分布矩阵的正确映射。Fu等人【17】采用动态规划来递归地最小化将一个词元序列编辑成另一个序列的总成本。如果两个词元之间存在一对一的映射,则相应的分布可以完美映射。否则,映射的分布会退化为one-hot向量。由于不同分词器为同一序列生成的词元通常差异有限,我们建议通过用最小编辑距离(MinED)策略替换Fu等人【17】中的精确匹配(EM)约束来提高词元对齐的成功率。该策略基于MinED来映射来自不同分词器的词元。这种对词元对齐的放宽有助于在引入微小错误的同时,保留分布矩阵中的大量信息。关于词元对齐的更多细节,请参阅附录A。

融合策略。 为了在保留源LLM独特优势的同时结合其集体知识,评估不同LLM的质量并为其各自的分布矩阵分配不同程度的重要性至关重要。为此,在处理文本t时,我们利用分布矩阵与真实标签之间的交叉熵损失作为LLM预测质量的指标【【38, When less is more: Investigating data pruning for pretraining llms at scale, 2023, arXiv preprint arXiv:2309.04564】】。源LLM的交叉熵分数越低,表示其对文本的理解越准确,其预测应被赋予更大的重要性。基于这一标准,我们引入了两种融合函数:(1)MinCE:此函数输出具有最小交叉熵分数的分布矩阵;(2)AvgCE:此函数根据交叉熵分数生成分布矩阵的加权平均值。

FUSELLM算法流程。 FUSELLM方法的完整过程在算法1中描述。

算法1 FUSELLM用于LLM融合

需要: 源LLM {$M_s^j$}$_{j=1}^K$,训练语料库 C。
1: 使用其中一个源LLM初始化目标LLM $M_t$。
2: for 文本 t in C do
3: 应用K个源LLM计算概率分布矩阵 {$P_{\theta_j}^t$}$_{j=1}^K$。
4: 使用MinED对齐方法对齐 {$P_{\theta_j}^t$}$_{j=1}^K$。
5: 使用MinCE或AvgCE融合函数融合 {$P_{\theta_j}^t$}$_{j=1}^K$ 以获得$P^t$。
6: 通过最小化公式5中的总体损失函数来更新$M_t$的参数。
7: end for
8: return $M_t$。

A4 实验环境

实验设置

  • 源模型和目标模型: 实验在7B规模上进行,选择三个代表性的开源模型作为源LLM:Llama-2、OpenLLaMA和MPT。目标LLM选择另一个Llama-2 7B,它通常是这三个源LLM中最稳健的。目标LLM以与其源模型相同的预训练权重开始,但在训练过程中会更新参数。
  • 持续训练数据集: 为了对目标LLM进行持续训练以实现LLM融合,需要一个紧凑而多样的训练数据集。我们选择了MiniPile,这是一个经过精心聚类和过滤过程策划的数据集。MiniPile包含约100万份文档,涵盖22个领域,共计18亿个词元,占Llama-2 2万亿训练词元的不到0.1%。
  • 融合函数: 我们使用最小交叉熵(MinCE)作为融合函数。
  • 硬件配置: 训练在配备8个NVIDIA A100 GPU(每个40GB内存)的单节点上进行。
  • 软件配置与训练细节: 训练框架基于Huggingface Transformers【66】实现,并使用FlashAttention【15】进行加速。批处理大小为128,最大长度为2048。损失组合权重λ经验性地设置为0.9。训练仅进行一个epoch,耗时约33小时。
  • 评估基准:

    • Big-Bench Hard (BBH): 评估LLM通用推理能力,包含23个多项选择任务和4个自由形式生成任务。
    • Common Sense (CS): 评估LLM常识能力,包含5个标准多项选择任务(ARC-easy/challenge, BoolQ, HellaSwag, OpenBookQA)。
    • MultiPL-E (ME): 一个多语言编程基准,用于评估LLM的编码能力。
  • 基线模型:

    • 原始LLM: Llama-2 7B, OpenLLaMA 7B, MPT 7B。
    • Llama-2 CLM: 在MiniPile上仅使用因果语言建模目标持续训练的Llama-2 7B。

A4 实验结果

总体结果

  • 推理能力 (BBH): 如表1所示,FUSELLM在所有27个任务上的平均相对性能比原始Llama-2提升了5.16%。相比之下,仅进行持续训练的Llama-2 CLM仅提升1.86%。在某些任务(如Hyperbaton)中,FUSELLM的提升非常显著(从54.40提升到65.20)。即使在简单持续训练导致性能下降的任务(如Dick Languages)中,FUSELLM也能利用源模型的综合优势恢复性能提升。在少数任务(如Geometric Shapes)上性能下降,可能是因为其他源LLM在这些任务上表现不佳,或训练数据与下游任务相关性不足。

  • 常识能力 (CS): 如表2所示,FUSELLM在所有五个常识任务上均超越了基线模型,相对于Llama-2取得了1.25%的相对性能提升。而Llama-2 CLM的提升仅为0.16%。在更具挑战性的ARC-challenge和OpenBookQA任务上,性能提升尤为显著,显示了FUSELLM利用集体知识解决复杂问题的有效性。

  • 代码生成能力 (ME): 如表3所示,FUSELLM在10个任务中的9个上优于Llama-2,平均性能增益为6.36%,远高于Llama-2 CLM的1.37%。这得益于OpenLLaMA和MPT在代码生成方面的强大能力。然而,FUSELLM的性能仍落后于OpenLLaMA或MPT,原因可能是:1)作为目标模型的Llama-2本身在代码能力上不如其他源模型;2)持续训练语料库中与编码相关的文本比例不足(约7.59%)。

Table 1: FUSELLM及基线在Big-Bench Hard (BBH) 推理评估上的总体结果,百分比表示相比Llama-2的提升/下降率。

Table 2: FUSELLM及基线在CommenSense (CS) 常识评估上的总体结果,百分比表示相比Llama-2的提升/下降率。

Table 3: FUSELLM及基线在MultiPL-E (ME) 代码生成评估上的总体结果,百分比表示相比Llama-2的提升/下降率。

融合的概率分布分析

图2显示,FUSELLM能显著加速优化过程。与Llama-2 CLM相比,FUSELLM在BBH上的精确匹配(EM)准确率提高了2.5%。更重要的是,FUSELLM仅用0.52亿个词元就达到了Llama-2 CLM需要1.57亿个词元才能达到的最佳性能,词元需求减少了3.9倍。这表明从LLM中导出的概率分布比原始文本序列包含更易于学习的知识,从而加速了优化。


图2:融合分布在BBH上加速优化过程的效果,x轴表示训练词元数,y轴表示精确匹配准确率。

实现过程分析

  • 源LLM数量: 表4显示,随着模型数量从1增加到3,FUSELLM的性能明显提升。但在不同基准上,增加模型的收益有所不同。在BBH上,性能持续提升;而在CS或ME上,融合两个模型的优势更突出。这可能因为BBH中三个模型在不同任务上的性能差异较大。
  • 词元对齐标准: 表5(上)比较了两种对齐标准。基于最小编辑距离的MinED方法始终优于基于精确匹配的EM方法。MinED放宽了约束,能有效补充大量有用的词元信息,同时引入的错误可忽略不计。
  • 融合函数: 表5(下)比较了两种融合函数。使用最小交叉熵分布矩阵的MinCE方法在所有基准上始终优于使用交叉熵加权平均的AvgCE方法。这可能是因为AvgCE中简单的加权求和可能会削弱单个LLM的独特优势。

Table 4: FUSELLM通过融合不同数量模型的结果。

Table 5: 不同词元对齐标准(上)和融合函数(下)的比较。

FUSELLM vs. 知识蒸馏

表6比较了FUSELLM与传统知识蒸馏。我们将Llama-2 13B的知识蒸馏到Llama-2 7B(Llama-2 KD)。结果显示,Llama-2 KD在所有基准上都优于原始Llama-2 7B,证明了知识蒸馏的有效性。然而,与FUSELLM相比,Llama-2 KD的提升相对有限,特别是在BBH上(2.97% vs. 5.16%)。这表明,通过FUSELLM融合三个具有不同架构的7B模型所带来的收益,超过了简单地从一个13B模型中蒸馏知识所带来的好处。

Table 6: FUSELLM与知识蒸馏的比较。Llama-2 KD表示通过从Llama-2 13B进行知识蒸馏得到的增强版Llama-2 7B。百分比表示相比Llama-2的提升率。

FUSELLM vs. 集成/合并

为了比较FUSELLM与传统融合方法(模型集成和权重合并)的有效性,我们进行了一个模拟实验。我们使用Pythia 1B模型在三个不同领域的语料上持续训练,得到三个结构相同但领域专长的LLM。然后,我们应用不同融合技术:1)集成方法;2)权重合并方法;3)FUSELLM。表7的结果显示,尽管所有融合技术都能整合不同模型的优势,但FUSELLM在三个领域的平均困惑度始终最低,这突显了它在利用集体知识方面比集成和权重合并方法更有效。

Table 7: FUSELLM与集成&权重合并的困惑度比较。

A5 结论

本研究探索了大型语言模型的知识融合领域,旨在创建一个能够结合多个结构多样的LLM的能力和独特优势的统一模型。我们介绍了一种新颖的方法FUSELLM,它利用这些源LLM的生成分布来外化它们的知识,并在目标LLM的持续训练中使用这些知识。通过一系列实验,我们证明了FUSELLM相对于单个源LLM和基线方法的优越性。特别地,在一个包含多个结构相同的LLM的模拟实验中,FUSELLM与集成和权重合并方法相比,展现了其有竞争力的有效性。因此,LLM融合领域,特别是在考虑到LLM结构多样性和巨大模型规模的情况下,成为一个更具前景的探索方向。我们相信这些发现将激励未来的研究工作。

A6 附录

A. 词元对齐细节

词元对齐的维度。 对于一个输入文本,词元对齐涉及对齐来自两个源LLM的两个分布矩阵。因此,对齐包括两个维度:相对于文本的词元维度对齐和相对于词汇表的分布维度对齐。为了清晰解释,我们在图3中展示了一个不同词元对齐方法的例子。

词元维度对齐。 在词元维度上,我们利用动态规划方法递归地最小化编辑一个词元序列以与另一个对齐的总成本。当映射的词元相同时,例如示例中的词元“now”,这些词元成功对齐,从而允许相应的分布随后对齐。然而,当映射的词元存在差异时,例如示例中的“get”和“gets”词元,先前由Fu等人【17】提出的EM方法不会对齐这些词元,导致分布退化为one-hot向量。相比之下,我们提出的MinED方法成功地将“gets”词元与“get”词元对齐,因为它们在两个源LLM的词汇表中表现出最小的编辑距离。

分布维度对齐。 关于分布维度,对齐是在来自两个源LLM的不同分词器的两个词汇表之间执行的。因此,对于具有相同词元的分布值,例如“current 0.05”和“current 0.04”,它们将有效对齐。对于涉及不同词元的分布值,例如“immediate 0.04”和“immediately 0.03”,EM方法会忽略此值。然而,我们提出的MinED方法由于“immediately”和“immediate”之间的最小编辑距离而将它们映射,从而成功对齐了这些分布值。


图3:不同词元对齐方法的示例。

B. MINIPILE数据集细节

MiniPile的构建过程。 MiniPile是从The Pile【18】中通过三阶段剪枝过程精心策划的:(1)使用E5-Large【61】(一个句子嵌入模型)为所有文档提取嵌入,(2)使用K-means对嵌入进行聚类,以及(3)过滤掉低质量的聚类。因此,MiniPile在保持紧凑规模的同时展现出广泛的多样性,使其成为高效训练LLM的普遍选择【【31, No train no gain: Revisiting efficient training algorithms for transformer-based language models, 2023, arXiv preprint arXiv:2307.06440】;【51, Understanding the effectiveness of early weight averaging for training large language models, 2023, arXiv preprint arXiv:2306.03241】】。

C. 训练细节

优化器与学习率。 我们的模型使用AdamW优化器进行优化,其中$\beta_1 = 0.9$,$\beta_2 = 0.95$,梯度裁剪设置为1.0,权重衰减为0.1。采用了余弦学习率调度,最大学习率为1e-5,预热比例为0.008。为了加速训练,我们采用了打包(packing)【45】技术,将多个训练实例分组到一个由序列结束符分隔的单一序列中,从而允许在每个批次中训练更多的词元。

D. 额外评估结果

多维度生成能力评估。 为了进一步说明FUSELLM的有效性,我们加入了与知识问答、阅读理解、内容分析、机器翻译和定理应用相关的额外生成基准。表8中呈现的结果突显了FuseLLM在所有任务上均优于所有源LLM。
- TriviaQA【30】: 评估知识问答能力。
- DROP【16】: 评估阅读理解能力。
- LAMBADA【41】: 评估内容分析能力。
- IWSLT2017【7】: 评估机器翻译能力。
- SciBench【64】: 评估定理应用能力。

Table 8: FUSELLM及基线在额外生成基准上的总体结果,百分比表示相比Llama-2的提升/下降率。

E. FUSELLM与先前的模型融合方法对比

与LLM-Blender的比较。 FuseLLM旨在整合具有不同架构和预训练语料的多个LLM的集体知识,因此传统的权重合并方法不适用。模型集成技术虽可聚合预测,但在推理时维护多个源LLM会带来巨大的内存和时间成本。我们进一步将FUSELLM与一种LLM集成方法LLM-Blender【27】进行比较,该方法通过排序器和融合器模型对多个LLM的输出文本进行排序和组合。我们在Big-Bench Hard和MultiPL-E基准上进行了实验。实验结果如表9所示,我们观察到在使用排序器和融合器后性能出现显著恶化,这可能是因为融合器模型在指令微调上下文中训练,导致对测试任务的泛化能力不足。此外,尽管仅使用排序器的LLM-Blender (Rank)优于同时使用两者的版本,但其性能仍劣于表现最佳的源LLM。

Table 9: FUSELLM与LLM-Blender的比较。

F. 将指令微调模型与FUSELLM结合

FUSELLM的适用性扩展。 FUSELLM方法同样适用于指令微调模型,前提是所有相应的持续训练样本都遵循指令微调的格式,并且在计算训练损失时屏蔽指令部分。为了证实这一点,我们对指令微调LLM的融合进行了新实验。具体来说,我们首先使用来自Evol-Instruct【68】、ShareGPT【10】和Open-Platypus【33】数据集的20k样本分别对Llama-2、OpenLLaMA和MPT进行微调,使这三个源LLM转变为指令微调LLM。然后,我们从上述数据集中各采样5k样本创建一个用于持续训练的语料库,并指定Llama-2 Evol-Instruct作为知识融合的目标LLM。如表10所示,FuseLLM在GPT-4作为评估者的Vicuna基准测试中,得分超过了每个单独的源指令微调LLM,取得了最佳性能。

Table 10: 使用FUSELLM融合指令微调模型的结果。

G. 性能提升的原因

知识整合而非持续训练。 为了进一步证明我们的性能提升源于多个LLM知识的整合,而不仅仅是持续训练,我们在另一个语料库RedPajama【14】上进行了一项评估。我们计算了在每个领域中,从Llama-2 CLM到FUSELLM以及从Llama-2到OpenLLaMA或MPT时,测试样本中BPB(每UTF-8编码字节的比特数)降低的百分比。图4中的结果表明,当FUSELLM优于Llama-2 CLM时,OpenLLaMA或MPT的性能通常也优于Llama-2。这一现象在Arxiv、StackExchange、Wikipedia和Github等领域尤为明显,超过了95%。这一有力证据表明,FUSELLM实现的性能增强确实归因于多个LLM知识的整合。


图4:在RedPajama上的困惑度比较。实心条表示从CLM过渡到FUSELLM时困惑度降低的样本百分比,斜线条表示从Llama-2过渡到OpenLLaMA或MPT时困惑度降低的样本百分比。

H. 损失组合权重

静态与动态权重设计。 作为公式5中静态权重$\lambda$的替代方案,我们考虑了一种动态设计,即教师退火(teacher annealing)【12】。该技术在训练过程中逐渐增加$\lambda$,初期偏向于$L_{Fusion}$,随后将重点转移到$L_{CLM}$。在本实验中,我们设置$\lambda$从0.7线性增加到1.0。表11比较了$\lambda$的静态和动态设计,结果表明两种方法性能相当。因此,为简单起见,我们选择了静态设计。

Table 11: 不同λ设计的比较。

I. 使用最强LLM作为目标模型

目标模型选择的影响。 在实验中,我们始终使用Llama-2作为目标LLM以保持固定的设置。我们进一步在使用最强LLM——OpenLLaMA作为目标LLM的代码生成任务上进行了补充实验。结果如表12所示。我们观察到OpenLLaMA CLM的性能相较于源OpenLLaMA和MPT有所下降。这归因于OpenLLaMA的预训练语料库中包含了StarCoder【35】数据,而我们的持续训练语料库中代码数据量有限。出于同样的原因,尽管FuseLLM相比OpenLLaMA CLM表现出性能提升,但仍落后于原始的OpenLLaMA。


Table 12: 在MultiPL-E (ME)代码生成评估中使用OpenLLaMA作为目标LLM的FUSELLM总体结果。

J. 案例研究

在表13、表14和表15中,我们提供了案例研究,以展示FUSELLM如何结合多个源LLM的优势,在不同任务中产生准确的结果。

BBH; 逻辑推导 (3个对象);
Table 13: 逻辑推导(3个对象)任务的案例研究。

Table 14: 倒装句任务的案例研究。

BBH; 消歧问答;
Table 15: 消歧问答任务的案例研究。