趋近智
大语言模型 (LLM)(LLMs)在检索增强生成(RAG)系统中表现出色的生成能力,但其模型大小和计算需求在生产环境中会带来显著障碍。高推理 (inference)延迟、庞大的内存占用和可观的运营成本是常见的问题。为解决这些,知识蒸馏 (knowledge distillation)和量化 (quantization)是两种创建更高效LLM的强大技术。这些方法旨在缩小模型体积并加速推理,使LLMs在不大幅降低生成质量的前提下,更适合大规模部署。
知识蒸馏是一种模型压缩技术,通过训练一个较小的“学生”模型来模仿更大、更复杂的“教师”模型的行为。其基本理念是,教师模型已经习得数据的丰富表示,可以将这种“知识”传递给学生模型。对于RAG系统而言,这意味着一个紧凑的学生LLM可以通过向最先进但资源消耗大的教师LLM学习,生成高质量、上下文 (context)相关的回复。
蒸馏的核心在于根据教师模型的输出训练学生模型。学生模型通常不会只依赖硬标签(例如,“正确”的下一个词),而是从教师模型softmax层产生的平滑概率分布中学习。这通过在蒸馏过程中,教师和学生模型的softmax函数中使用更高的“温度”()来实现:
较高的温度会平滑概率分布,提供更多关于教师模型在不同可能输出之间习得的关系信息。学生模型随后会进行训练,以最小化一个通常包含两个部分的损失函数 (loss function):
蒸馏损失(软损失):衡量教师模型平滑输出与学生模型平滑输出之间的差异。通常使用库尔巴克-莱布勒(KL)散度:
其中 是教师模型的逻辑值, 是学生模型的逻辑值, 是带温度 的softmax函数。
学生损失(硬损失):如果存在真实标签(例如,对于RAG中的特定下游任务,如摘要),可以使用标准交叉熵损失,结合学生模型的预测和真实标签进行计算。这通常在温度 下计算。
总损失是加权和:
超参数 (parameter) (hyperparameter) 平衡了匹配教师软目标与拟合硬标签的重要性。
对于RAG,蒸馏过程的“输入”将是用户查询和检索到的文档的组合。学生模型学习模仿的“输出”是教师模型基于此输入生成的回复。
知识蒸馏 (knowledge distillation)过程:较小的学生模型从较大的教师模型的平滑输出中学习,并可选地从真实标签中学习。组合损失引导学生模型的训练。
尽管基于响应的蒸馏(匹配输出概率)很常见,但也可以传递其他形式的知识:
然而,请考虑:
蒸馏使您能够创建专门的、高效的LLMs,以适应RAG系统的生成任务,平衡性能与运营效率。
量化是另一种广泛使用的模型压缩和加速技术。它涉及减少用于表示模型权重 (weight)以及在某些情况下激活值的比特数。LLMs通常使用32位浮点数(FP32)进行训练。量化可以将其转换为低精度格式,如16位浮点数(FP16或BF16)、8位整数(INT8),甚至4位整数(INT4)。
核心理念是将高精度值(例如FP32权重 (weight))的连续范围映射到更小、离散的低精度值集合。对于整数(整数量化),这通常涉及线性变换:
其中:
比例因子和零点是在量化过程中确定的重要参数 (parameter),通常通过使用代表性数据集进行校准来得到。
训练后量化(PTQ): 这是一种更简单的方法,将预训练 (pre-training)的FP32模型转换为低精度模型,无需重新训练。
PTQ因其易于实施而具有吸引力。然而,对于非常低的位深度(例如INT4),它可能导致模型精度明显下降。
量化感知训练(QAT): QAT在模型训练或微调 (fine-tuning)过程中模拟量化效应。伪量化操作被插入到模型图中,它在前向传播期间模拟量化造成的信息损失,而在反向传播 (backpropagation)期间权重以全精度更新。这使得模型能够学习更适合量化过程的权重。 QAT通常比PTQ能带来更好的性能,尤其对于激进量化,但它需要访问训练流程和更多的计算资源进行微调。
从FP32转换为FP16和INT8等低精度格式时,通常会观察到模型大小和推理延迟的减少。实际增益取决于模型架构和硬件。
考量包括:
torch.quantization、TensorFlow Lite、Hugging Face Optimum、ONNX Runtime、NVIDIA TensorRT)在不断发展。兼容性和易用性可能有所不同。对于RAG系统,对生成器LLM进行量化可以显著改善响应时间和部署成本,尤其是在处理大量请求时。
蒸馏和量化并非相互排斥;它们可以结合使用以获得更高的效率。一种常见策略是首先将大型教师模型蒸馏成更小、特定任务的学生模型。然后,可以使用量化进一步优化此学生模型。这种两步过程可以产生高度紧凑和快速的LLMs,它们保留了原始教师模型很大一部分能力,使其非常适合生产RAG系统。
在应用蒸馏、量化 (quantization)或两者之后,严格评估由此产生的高效LLM是非常重要的。此评估不仅应涵盖标准NLP指标(如困惑度、BLEU、ROUGE),还应涵盖其他章节中讨论的特定RAG相关指标,例如对检索上下文 (context)的忠实度、幻觉 (hallucination)减少以及整体答案质量。目标是在效率提升和生产RAG应用程序的性能要求之间找到最佳平衡点。您的评估框架应确认优化后的生成器仍然符合面向用户交互的质量标准。
通过策略性地运用蒸馏和量化,您可以显著提高RAG系统中生成组件的效率,从而实现更快、更具成本效益和可扩展的部署。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造