趋近智
通用嵌入 (embedding)模型在大规模网络语料库上预训练 (pre-training),为语义理解提供了良好的起点。然而,当它们面对小众专业中普遍存在的专业术语、独特实体和特定语义关联 (semantic relationship)时,其性能可能会下降。医学研究、法律判例、专有工程文档,甚至特定的金融工具,常常以通用模型尚未充分掌握的方式使用语言。这种差异,常被称为“语义鸿沟”,可能导致检索结果不理想,即系统未能理解用户意图或无法在您的专业知识库中找到最相关的文档。在专业数据上微调 (fine-tuning)嵌入模型是弥补此鸿沟的一种方法,能大幅提升RAG系统检索部分的准确性。
专业化微调的主要目的是调整嵌入空间,使其更准确地反映与目标专业相关的语义相似性与差异。这意味着,包含特定专业术语的查询和文档,如果它们在该专业内语义相关,即使其表面形式或通用含义可能有所不同,也会被映射到彼此更接近的向量 (vector)表示。
设想一个旨在辅助法律专业人员的RAG系统。一个通用嵌入 (embedding)模型可能会将“complaint”(诉状/投诉)一词理解为其日常意义上的抱怨。然而,在法律语境中,“complaint”是一种特定类型的C_LEGAL_DOCUMENT正式文件,用以启动诉讼。同样,一家软件公司的内部RAG系统可能会处理诸如“Project Phoenix”之类的项目代号或内部库名称,这些名称对通用模型来说毫无意义,但在公司内部却具有精确的技术含义。
若不进行微调,检索器可能会遇到困难:
微调使嵌入模型能够学习这些特定专业细节,从而让检索器更准确地“理解”您的内容和用户查询。
微调的成功在很大程度上取决于专业数据的可用性和质量。您需要一个基础的预训练 (pre-training)嵌入 (embedding)模型,例如来自Sentence Transformers库的模型(如all-mpnet-base-v2、multi-qa-MiniLM-L6-cos-v1),或通过API提供的模型,以及一个能反映您专业语言的数据集。
用于微调嵌入模型的常见数据集类型包括:
有监督数据集: 这些数据集提供明确的相关性或相似性信号。
(query, positive_document): 这通常是最有效的数据类型。每对由一个查询(或问题)和一个已知与该查询高度相关的文档片段组成。它们可以来自现有搜索日志、专家标注或常见问题-答案对。(anchor, positive, negative): 这些数据集由一个锚定文档/句子、一个正向示例(与锚定语义相似)和一个负向示例(与锚定语义不相似)组成。模型学习将锚定和正向示例拉近,同时将锚定和负向示例推开。(text_1, text_2, score): 带有数字分数(例如,0到1的范围)的文本对,指示其语义相似程度。无监督/自监督数据集(专业自适应预训练 - DAPT / 任务自适应预训练 - TAPT): 当有标签的有监督数据稀缺时,您仍然可以使用大量原始专业文本来调整模型。
另外,通过合成生成训练数据也越来越普遍,例如,使用强大的大型语言模型为给定文档片段生成合理的疑问,或改写现有查询。虽然有益,但合成生成数据的质量需要仔细监督。
存在多种用于微调嵌入 (embedding)模型的策略,每种策略在数据需求、计算成本和潜在效果方面都有其权衡考量。
对比学习是训练句子和文档嵌入模型的一种重要方法。其基本思想是训练模型将语义相似的输入映射到嵌入空间中靠近的点,将不相似的输入映射到远离的点。
为此目的广泛使用的损失函数 (loss function),特别是对于查询-文档对,是多负样本排序损失(Multiple Negatives Ranking Loss, MNRL)。给定一个查询 和一组文档,包含一个正向(相关)文档 和若干个负向(不相关)文档 ,该损失函数鼓励 和 之间的相似度得分高于 和任何 之间的得分。
单个查询 的损失函数可表示为:
其中:
难负样本: 负样本的选择很重要。难负样本是指语义上与查询接近(因此较弱的模型容易与正向文档混淆)但实际上不相关的文档。在训练批次中包含这些样本通常能使模型更具辨别能力。
大型嵌入模型的完全微调可能计算成本高昂,并存在“灾难性遗忘”的风险,即模型失去其部分通用语言理解能力。基于适配器的方法提供了一种参数效率更高的替代方案。
LoRA(低秩适应)或传统适配器模块等技术涉及冻结预训练 (pre-training)模型的权重 (weight),并在其架构中注入少量新的、可训练的参数(即适配器)。在微调过程中,只有这些新参数会被更新。
优势包括:
这涉及使用您的专业数据集更新预训练嵌入模型的所有参数。虽然它有可能实现对新专业的最高适应性,但它也是资源消耗最大的,并且如果微调数据集很小或与原始预训练数据差异很大,则存在最高的灾难性遗忘风险。谨慎的正则化 (regularization)和提前停止通常是必要的。
下图展示了嵌入模型用于特定专业RAG的通用工作流程。
嵌入模型专业化微调的工作流程。通用模型使用专业数据和选定的微调策略进行调整,然后进行评估并整合到RAG系统中。
(query, positive_document)对是真正相关的。特定专业的微调是一种强大的优化手段,但它并非总是首选。在以下情况下可以考虑它:
通过仔细准备数据、选择合适的策略并严格评估结果,特定专业的微调可以将您的嵌入模型从通用型转变为专业型模型,从而大幅改进RAG系统的基础性能。这为生成器产生更准确、相关和可信的输出奠定了条件。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造