ACL 2024|D2LLM:将Causal LLM改造成向量搜索模型的黑科技

简介: D2LLM:一种针对语义搜索任务的新颖方法,它结合了大语言模型(LLM)的准确性与双编码器的高效性。实验表明,D2LLM在多项任务上的性能超越了五个领先基准模型,尤其是在自然语言推理任务中,相对于最佳基准模型的提升达到了6.45%

语义搜索任务的主要挑战是创建既准确又高效的模型来精准定位与用户查询相关的句子。基于BERT风格的双编码器因为可以使用预先计算的嵌入表示时效率很高,但它们往往会错过句子对的微妙关系。相反,基于 GPT 风格的大语言模型(LLM)采用交叉编码器的设计且能够捕捉到这些微妙关系,但它们的计算量通常很大,阻碍了实际应用。


我们提出了一种结合了以上两者的优点的用于语义搜索的分解和蒸馏大型语言模型 D2LLM 。我们将交叉编码器分解为一个高效的双编码器,双编码器集成了多头注意力池化模块,另外,通过一个交互模拟模块,模型实现了对细微语义关系的理解。我们使用对比、排序和特征模仿技术将LLM的知识蒸馏到该模型中。实验表明,D2LLM 在三项任务的指标上超过了五个领先的基准模型,特别是在自然语言推理(NLI)任务的性能至少提高了6.45%。

🔎TLDR

我们提出了一种混合型语义搜索模型,通过分解大语言模型和从大语言模型中蒸馏知识,实现了双编码器的运行效率与交叉编码器的理解准确性的折中。

01-简介

本文源于蚂蚁集团与华东师范大学的校企合作项目,目前已被ACL 2024 main会议接收。ACL(Association for Computational Linguistics)会议是自然语言处理领域的顶级国际会议之一,是自然语言处理领域唯一的 CCF-A 类会议。

arXiv:http://arxiv.org/abs/2406.17262

github:https://github.com/codefuse-ai/D2LLM

1.png

2.png

语义搜索是自然语言处理的关键组成部分,它通过挖掘文本的底层语义关联对大量文本进行筛选,以找到与用户查询最匹配的内容。这种技术超越了传统的非语义方法如TF-IDF和BM25,解决了词汇不匹配问题,提供了更准确的文本匹配,对信息检索[1]、问答系统[2]、推荐系统[3]等多个领域产生了深远影响。

表1:双编码器与交叉编码器的对比

优点

缺点

双编码器

效率高,表示可预计算

忽略句子对间的关系

交叉编码器

关注句子对间的关系

效率低,表示不可预计算

表2:Bert式双编码器与LLM式交叉编码器的对比

优点

缺点

Bert式双编码器

效率高,表示可预计算

忽略句子对间的关系,泛化性弱

LLM式交叉编码器

准确性高,泛化性强

效率低,表示不可预计算

语义搜索方法大体上分为两种:双编码器和交叉编码器。前者分别对查询和段落进行表征提取,然后再计算它们之间的联系,这种方法效率高,且表示可预计算。后者将查询和段落联系起来,将它们构成一个整体,再分析两者之间的联系,这种方法往往能更好地建模句子对的关系(表1)。以这两种方法作为基础,目前表现较为优秀的方法包括BERT式双编码器[4,5,6],以及基于大语言模型(LLM)的交叉编码器。BERT式双编码器可以对查询和段落转换成向量并快速比较相似度,但这种方法可能牺牲准确度,忽略了句子对间细微的语义联系。此外,双编码器通常需要经过一个复杂的、分阶段的训练过程[7],并且在新领域的泛化能力有限。LLM式交叉编码器可以联合处理查询和段落,提供更细致的文本关系分析,并表现出优异的零样本学习能力[8,9],且不需要在特定领域训练就能迅速适应新任务,但带来的高准确性通常以牺牲效率为代价。此外,由于不能预先缓存段落向量,该方法需要对每个查询都和每个段落都进行重新推理(表2)。

为了结合双编码器的速度和交叉编码器的准确性,我们引入了D2LLM解决方案(图1)。D2LLM通过先进的蒸馏技术,将交叉编码器的复杂性分解为更简单的模型—一个双编码器、一个多头注意力池(PMA)和一个交互模拟模块(IEM)。这使得查询和段落的嵌入向量可以高效生成并存储,同时确保了模型能够适应各种搜索任务。通过从教师模型(LLM)中蒸馏知识,D2LLM兼具了高速和高准确率。

本文提出了三点主要改进,并进行了相关实验:

  1. 我们引入了 D2LLM,这是一种新的语义搜索解决方案,它将双编码器的速度与基于 LLM 的交叉编码器的准确性相结合。该方法将复杂的交叉编码器分解为更易于管理的学生模型。
  2. 我们通过全面的知识蒸馏策略将教师的专业知识迁移给学生模型,包括对比模仿、排序模仿和特征模仿技术。
  3. 实验结果表明,D2LLM 在三个基准任务中的表现优于五种领先方法,尤其显著地比排名第二的 LLaRA 提高了 14.39%,在 NLI 任务中比经过大量微调的基准模型 BGE 模型领先 6.45%。

02-算法

3.png

图1:我们的语义搜索解决方案

我们的算法整体框架如图1所示,主要包括教师模型、学生模型、以及三种知识蒸馏策略。以下对每一个模块进行详细说明。

教师模型

image.png

学生模型

image.png

蒸馏策略

image.png

image.png

image.png

03-实验

我们以Qwen-7B-Chat作为模型底座,主要在自然语言处理数据的自然语言推断(NLI)、语义相似度检测(STS)、信息检索(IR)任务上验证我们的算法。使用的数据集包括:SNLI-zh、NLI-zh、T2Ranking、DuReader、cMedQAv2、mMarco数据集。我们使用六个评测指标来评估性能:准确率(ACC)、平均精确率)(AP)、精确率(Prec.)、召回率(Recall)、皮尔逊相关系数(Pear.)、斯皮尔曼相关系数(Spear.)。我们在8张80G A100上运行训练。

实验结果

表1:NLI任务实验结果

1.png

表2:STS任务实验结果

2.png

表3:IR任务实验结果

3.png

我们首先对所有方法在自然语言推理(NLI)任务的表现进行了研究。D2LLM 模型在所有指标和所有测试数据集上均超越了在 0.3M 样本集上训练的所有竞争对手。值得注意的是,它的平均表现比排名第二的 LLaRA 方法高出14.39%,比在1亿个相关样本上微调的 BGE 高出 6.45%。此外,D2LLM 有效地缩小了完整的双编码器LLMs(LLM-be)和交叉编码器LLMs(LLM-ce)之间的差距。尽管原始的 LLM-be 作为双编码器由于文本生成和嵌入之间的不匹配而表现不佳,基于交叉编码器的教师模型 LLM-ce 却能够通过利用 LLMs 从句子对中合成信息来发挥出色的表现。我们的蒸馏方法成功地将知识从教师转移到学生,将原先效果不佳的 LLM-be 转变为精通 NLI 的工具。在语义文本相似性(STS)和信息检索(IR)任务上,D2LLM 在大多数情况下(超过了在相同数据集上训练的其他方法。原始BGE则保持着稳定的领先地位。

值得注意的是,即使是教师模型 LLM-ce,也落后于BGE,这凸显了 D2LLM 在某些情况下的欠佳表现。但重要的是,教师模型 LLM-ce 并没有为 STS 特别微调。为了解决这个问题,我们使用 LoRA 方法对教师模型在 STS 领域进行了微调,仅使用 0.3M 数据进行微调就为教师带来了平均 7.17% 的提升。在 LLM-ce-ft 的基础上,我们训练了学生模型,即D2LLM-ft,相比原始 D2LLM 增长了1.69%。此外,现在的 D2LLM-ft 显着优于其他在相同0.3M 样本集上训练的方法,至少平均高出 17.42%。这证实了,尽管在任务的初始表现欠佳,LLMs 强大的适应能力意味着通过相对较小的数据集进行微调可以显著提升教师和随后的学生的性能。总结而言,无论是在自然语言推理还是语义文本相似性及信息检索任务中,D2LLM 都展示出了卓越的性能,即使是在数据量较少的情况下也能通过微调取得显著成效,这体现了大型语言模型的强大适应力和潜力。

总结

本研究提出了D2LLM,一种创新的模型蒸馏方法,从大型语言模型(LLM)中提炼知识,构建一个用于语义搜索的高效的学生模型。D2LLM 通过深入地理解其教师模型,并运用专门设计的模块与损失函数,将教师模型的能力以更紧凑的形式封装。实验结果显示,D2LLM 成功地结合了交叉编码器的高准确性和双编码器的操作效率。

关于我们

我们是蚂蚁集团的AI native团队,负责蚂蚁蚂蚁集团平台工程的智能化,团队成立3年以来,在在ICLR、NeurIPS、KDD 等顶会论发表论文 20 余篇,参与获得两次蚂蚁技术最高奖T-Star,1次蚂蚁集团最高奖 SuperMA。团队常年招聘研究型实习生,同时现在也有社招 HC,有做 NLP,大模型,多模态,图神经网络的同学欢迎联系👉lijg.zero@antgroup.com

参考文献

[1] Zhu, Yutao, et al. "Large language models for information retrieval: A survey." arxiv preprint arxiv:2308.07107 (2023).

[2] Allam, Ali Mohamed Nabil, and Mohamed Hassan Haggag. "The question answering systems: A survey." International Journal of Research and Reviews in Information Sciences (IJRRIS) 2.3 (2012).

[3] Hu, Linmei, et al. "Graph neural news recommendation with unsupervised preference disentanglement." Proceedings of the 58th annual meeting of the association for computational linguistics. 2020.

[4] Wang, Liang, et al. "Text embeddings by weakly-supervised contrastive pre-training." arxiv preprint arxiv:2212.03533 (2022).

[5] Xiao, Shitao, et al. "C-pack: Packaged resources to advance general chinese embedding." arxiv preprint arxiv:2309.07597 (2023).

[6] Li, Zehan, et al. "Towards general text embeddings with multi-stage contrastive learning." arxiv preprint arxiv:2308.03281 (2023).

[7] Wang, Liang, et al. "Improving text embeddings with large language models." arxiv preprint arxiv:2401.00368 (2023).

[8] Wei, Jason, et al. "Finetuned language models are zero-shot learners." arxiv preprint arxiv:2109.01652 (2021).

[9] Kojima, Takeshi, et al. "Large language models are zero-shot reasoners." Advances in neural information processing systems 35 (2022): 22199-22213.

目录
相关文章
|
4月前
|
数据采集 自然语言处理 供应链
LLM安全新威胁:为什么几百个毒样本就能破坏整个模型
数据投毒通过在训练数据中植入恶意样本,将后门永久嵌入大模型,仅需数百份毒样本即可触发数据泄露、越狱等行为,防御需结合溯源、聚类分析与自动化检测。
411 2
LLM安全新威胁:为什么几百个毒样本就能破坏整个模型
|
4月前
|
机器学习/深度学习 缓存 监控
139_剪枝优化:稀疏模型压缩 - 分析结构化剪枝的独特速度提升与LLM部署加速实践
随着大语言模型(LLM)规模的不断增长,模型参数量已从最初的数亿扩展到数千亿甚至万亿级别。这种规模的模型在推理过程中面临着巨大的计算和内存挑战,即使在最先进的硬件上也难以高效部署。剪枝优化作为一种有效的模型压缩技术,通过移除冗余或不重要的参数,在保持模型性能的同时显著减少计算资源需求。
|
4月前
|
存储 人工智能 数据库
向量存储vs知识图谱:LLM记忆系统技术选型
本文探讨LLM长期记忆系统的构建难点与解决方案,对比向量检索与知识图谱架构优劣,分析Zep、Mem0、Letta等开源框架,并提供成本优化策略,助力开发者实现高效、可扩展的AI记忆系统。
519 3
向量存储vs知识图谱:LLM记忆系统技术选型
|
4月前
|
缓存 物联网 PyTorch
使用TensorRT LLM构建和运行Qwen模型
本文档介绍如何在单GPU和单节点多GPU上使用TensorRT LLM构建和运行Qwen模型,涵盖模型转换、引擎构建、量化推理及LoRA微调等操作,并提供详细的代码示例与支持矩阵。
1079 2
|
4月前
|
机器学习/深度学习 缓存 PyTorch
131_推理加速:ONNX与TensorRT深度技术解析与LLM模型转换优化实践
在大语言模型(LLM)时代,高效的推理加速已成为部署高性能AI应用的关键挑战。随着模型规模的不断扩大(从BERT的数亿参数到GPT-4的数千亿参数),推理过程的计算成本和延迟问题日益突出。ONNX(开放神经网络交换格式)和TensorRT作为业界领先的推理优化框架,为LLM的高效部署提供了强大的技术支持。本文将深入探讨LLM推理加速的核心原理,详细讲解PyTorch模型转换为ONNX和TensorRT的完整流程,并结合2025年最新优化技术,提供可落地的代码实现与性能调优方案。
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
118_LLM模型量化与压缩:从理论到2025年实践技术详解
大型语言模型(LLM)在自然语言处理领域取得了前所未有的成功,但模型规模的快速增长带来了巨大的计算和存储挑战。一个典型的大型语言模型(如GPT-4或LLaMA 3)可能包含数千亿甚至万亿参数,需要数百GB甚至TB级的存储空间,并且在推理时需要大量的计算资源。这种规模使得这些模型难以在边缘设备、移动设备甚至资源有限的云服务器上部署和使用。
|
4月前
|
机器学习/深度学习 存储 缓存
115_LLM基础模型架构设计:从Transformer到稀疏注意力
大型语言模型(LLM)的架构设计是其性能的核心决定因素。从2017年Transformer架构的提出,到如今的稀疏注意力和混合专家模型,LLM架构经历了快速的演进。本文将全面探讨LLM基础架构的设计原理,深入分析Transformer的核心机制,详细介绍稀疏注意力、MoE等创新架构,并展望未来架构发展方向。通过数学推导和实践案例,为构建高效、强大的LLM提供全面指导。
|
4月前
|
机器学习/深度学习 人工智能 算法
62_模型融合:ensemble LLM技巧
在2025年的AI生态中,大语言模型(LLM)已成为技术创新的核心引擎,但单一模型在面对复杂任务时往往表现出局限性。不同模型由于训练数据、架构设计和优化目标的差异,在各领域展现出独特优势:模型A可能擅长逻辑推理,模型B在创意写作上更出色,而模型C则在事实性问答中准确率更高。
|
4月前
|
缓存 人工智能 并行计算
59_实时性模型:选择低延迟LLM
在当今快速发展的人工智能领域,大型语言模型(LLM)的应用正迅速渗透到各个行业。随着企业对AI响应速度的要求不断提高,低延迟LLM的选择与优化已成为技术团队面临的关键挑战。实时聊天机器人、智能客服、自动驾驶辅助系统等场景对响应时间提出了极高的要求,毫秒级的延迟差异可能直接影响用户体验和业务效率。2025年,随着推理优化技术的突破性进展,低延迟LLM已不再是难以企及的目标,而是成为实际生产环境中的标准配置。
|
4月前
|
机器学习/深度学习 自然语言处理 算法
48_动态架构模型:NAS在LLM中的应用
大型语言模型(LLM)在自然语言处理领域的突破性进展,很大程度上归功于其庞大的参数量和复杂的网络架构。然而,随着模型规模的不断增长,计算资源消耗、推理延迟和部署成本等问题日益凸显。如何在保持模型性能的同时,优化模型架构以提高效率,成为2025年大模型研究的核心方向之一。神经架构搜索(Neural Architecture Search, NAS)作为一种自动化的网络设计方法,正在为这一挑战提供创新性解决方案。本文将深入探讨NAS技术如何应用于LLM的架构优化,特别是在层数与维度调整方面的最新进展,并通过代码实现展示简单的NAS实验。