大模型垂直领域低算力迁移:微调、部署与优化
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.3 参数高效微调

参数高效微调(Parameter-Efficient Fine-Tuning,PEFT)是一种旨在增强模型适应新任务的技术,其显著特点在于仅需调整模型的一小部分参数。相较于传统的全参数微调方法,PEFT的优势在于能够在大量保留预训练知识的同时,通过对少量参数进行微调来实现对特定任务的适应。PEFT的策略选择依据具体任务需求及可用数据规模而定。常见的PEFT技术包括前缀微调(Prefix Tuning)、提示微调(Prompt Tuning)和LoRA等。

前缀微调技术通过引入一组可学习的虚拟“前缀”令牌至模型输入,实现了对预训练语言模型的任务特定定制化适配,而无须直接调整模型的内部权重。在这种方法中,前缀令牌并不对应任何实际语言概念,它们通过训练过程中获得的嵌入向量来调节模型的内部状态,以此影响模型的输出行为。这样的设计使得在保持模型核心架构及大多数权重不变的情况下,模型能够适应新任务或数据集。

前缀Pθ由前缀令牌的嵌入向量(Token)组成,并在训练过程中进行优化,以影响模型的下游行为。在图2.6所示的情感分析任务中,“我记住它了”可能是一句用户对某个产品或服务的评论,模型需要根据这段文本以及通过前缀微调添加的前缀来判断这条评论是正面的还是负面的。“原始输入”部分的文本序列会与训练过程中优化的前缀令牌以及固定的查询问题(图2.6中的“这篇评价是负面的还是正面的”)一起输入Transformer模型中。接着模型处理这些输入并生成相应的输出,该输出会受到前缀令牌的显著影响,这些令牌已经被训练调整以引导模型针对具体任务产生适当响应。值得注意的是,在前缀微调应用中,Transformer模型的参数保持不变,从而在新任务的适应过程中保留了预训练时获得的广泛知识。提示微调与前缀微调相似,但通过向模型输入添加与任务相关的、可训练的自然语言提示,以影响输出,引导模型生成特定响应。

图2.6 前缀微调示例

前缀微调和提示微调主要通过添加特定前缀或提示改变模型输入,有效引导模型生成特定任务的输出。这两种方法的优势在于减少了对大量参数进行微调的需求,并降低了计算和存储的负担。然而,这些技术并未直接调整模型的原始权重,因此可能不足以解决灾难性遗忘问题。灾难性遗忘是机器学习中的一大挑战,尤其在连续学习场景中,模型在学习新任务时可能会忘记旧知识,因为新的学习可能会覆盖以前的信息。

LoRA是另一种PEFT方法,其核心思想是向模型的权重矩阵添加低秩矩阵,从而在调整原模型有限数量参数的情况下,保持或甚至超越传统全参数微调的效果。LoRA方法是当前大模型垂直领域低算力迁移技术中最为重要的一种方法,在后续章节中将会详述。

在应用PEFT技术时,还可以结合其他迁移策略(如提示工程或RAG)以进一步优化和提升模型在特定任务上的表现。此外,为了便于研究者和开发者实现和测试不同的PEFT技术,已有多种开源库提供了现成的工具和接口。这些库(如PEFT库)包含多种预设的PEFT技术实现,用户可以根据需要选择合适的技术,并在其基础上进行定制化的改进。