LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attention
1 引言
论文链接:2303.16199.pdf
随着大型语言模型(Large Language Model,LLM)的飞速发展,LLaMA[1]、GPT[2]等模型凭借海量预训练参数展现出强大的自然语言理解与生成能力,但这类大模型的微调难题也随之凸显——全量微调不仅需要巨大的计算资源支撑,还容易导致模型遗忘预训练阶段习得的通用知识,出现“灾难性遗忘”问题。如何在低成本、低资源场景下,实现大模型对下游任务的高效适配,成为学界和工业界共同关注的核心痛点。
正是在这一背景下,《LLaMA-Adapter: Efficient Fine-tuning of Language Models with Zero-init Attention》一文提出了一种轻量级、高效的大模型微调方案,创新性地引入Zero-Initialized Attention[3]机制,打破了传统微调方法“高成本、易遗忘”的局限。与全量微调、传统Adapter等方法不同,LLaMA-Adapter[3]仅通过训练少量可学习参数,就能让冻结的LLaMA[1]模型快速适配各类下游任务,既保留了预训练模型的核心能力,又大幅降低了微调的计算开销和部署成本。
本文将围绕这篇论文的核心思想,拆解LLaMA-Adapter[3]的设计原理、Zero-Initialized Attention[3]的核心机制,以及其在多模态扩展等场景的优势,用通俗的语言帮大家读懂这一高效微调技术的精髓,理解它如何成为大模型落地应用的“轻量化解决方案”。
2 LLaMA-Adapter
2.1 可学习的Adaption Prompts
对于一个N层预训练Transformer[4],在它的最后L层中插入一组可学习的Adaption Prompts[3],记为:
(l=1,2,...,L)
其中K为每一层的Adaption Prompt[3]长度,C为Transformer[4]的特征维度。最后L 层的提示向量能够更好地调整蕴含高级语义的语言表示。
以第 l 个插入Adaption Prompt[3]的层为例(l ≤ L),将长度为M的tokens记为:
(l=1,2,...,L)
表示输入指令和已生成的响应,将可学习的Adaption Prompt[3]与其沿token维度拼接,在
中学习到的指令知识可以有效地引导
通过Transformer[4]块中的Zero-Initialized Attention[3]层生成后续的上下文响应。
2.2 Zero-Initialized Attention
如果Adaption Prompts[3]是随机初始化的,就可能会在训练开始时对词tokens造成干扰,这会损害微调的稳定性和有效性,故将其修改为零初始化的变体。假设模型在第l个插入Adaption Prompt[3]的层中生成第(M+1)个token,将该token记为:
(l=1,2,...,L)
则在注意力机制中,首先应用几个线性投影层将输入tokens转换为查询、键和值:
则Softmax函数的输入可以计算如下:
其中,代表
与所有(K+M+1)个tokens的相似度,可以看作由
和
沿特征维度拼接而来。
表示可学习的Adaption Prompt[3]有助于生成
的信息量,在训练初期可能对模型原有表示造成不必要的干扰。
于是使用一个可学习的门控因子来自适应调控Adaption Prompt[3]在注意力机制中的权重占比;将其初始化为 0,可在训练初期有效消除Adaption Prompt[3](欠拟合状态下)的干扰,随后通过训练逐步提升其权重幅度,为LLM注入更丰富的指令语义。基于此,将Softmax函数分别独立应用于
和
,并将
与
相乘,具体公式如下:
其中,采用激活函数 tanh(·) 将的范围归一化至[-1,1],以稳定控制其尺度。独立的Softmax计算能够确保原始注意力分数不受Adaption Prompt[3]的影响,将
与
沿特征维度拼接,就可以得到整体的注意力分数
。当
接近0时,模型主要保留LLM原始的预训练知识,从而保证tokens生成的可靠性与稳定性。在实际实现中,为不同注意力头设置独立的门控因子,这有助于增强多头注意力的学习多样性,提升模型表达能力。
最终,通过线性投影层计算第 l 个注意力层的输出:
但在实际实现中,为避免显式的序列拼接操作,会分别计算原始注意力输出与Zero-Initialized Attention[3]输出,并将二者相加,作为第 l 个注意力层的最终输出:
其中,
。借助Zero-Initialized Attention[3],Adaption Prompt[3]能够将学习到的指令信号逐步注入至Transformer[4]结构中,同时充分结合LLM 固有的预训练知识,从而生成高质量、可靠的响应输出。
2.3 多模态推理
除文本指令外,LLaMA-Adapter[3]仅需简单修改即可支持基于图像输入的问答任务,充分释放了LLM的多模态推理潜力,可广泛应用于图像描述、目标计数、光学字符识别(Optical Character Recognition,OCR)等实际场景。
对于图像输入,先使用预训练视觉编码器提取其多尺度全局特征,记为:
其中N指尺度数量,然后,沿通道维度连接N尺度特征,并应用可学习的投影网络将它们转换至词嵌入空间,得到与Adaption Prompt[3]具有相同特征维度的整体图像token 。再将其沿token维度重复K次,并在所有插入Adaption Prompt[3]的层中与相应的Adaption Prompt[3]直接相加,从而得到整合了给定图像视觉信息的Adaption Prompt[3],记为:
在此之后,Zero-Initialized Attention[3]可通过零初始化门控因子,逐步将图像条件语义注入LLM中。通过这种方式,LLM能够高效适配视觉语言输入,并借助多模态推理能力完成更具挑战性的生成任务。
3 总结
综上,LLaMA-Adapter[3]作为一种高效、轻量的LLM微调方案,以Zero-Initialized Attention[3]为核心创新点,打破了传统微调“高算力、易遗忘”的痛点,为大模型的低成本落地提供了可行路径。不同于全量微调的资源消耗,也区别于LoRA[6]等仅适配纯文本场景的方案,LLaMA-Adapter[3]通过在LLaMA[2]模型的Transformer[4]结构中插入可学习的Adaption Prompts[3],借助零初始化门控因子的渐进式激活,既保证了训练初期不干扰模型预训练知识,又能逐步注入任务相关语义,实现少量参数就能完成下游任务适配。
更突出的优势在于,LLaMA-Adapter[3]具备强大的多模态扩展能力,仅需简单修改就能支持图像等非文本输入,通过将视觉特征转化为适配提示注入模型,充分释放了LLM的多模态推理潜力,可广泛应用于图像描述、目标计数、OCR等多种实际场景。
总体而言,LLaMA-Adapter[3]以“轻量、高效、兼容多模态”为核心特色,既保留了LLaMA[2]模型的原生能力,又降低了微调门槛,无论是学术研究还是工业落地,都为大模型的高效适配提供了极具价值的参考,也为多模态大模型的轻量化发展提供了新的思路。
参考文献
[1] Touvron H, Lavril T, Izacard G, et al. Llama: Open and efficient foundation language models[J]. arXiv preprint arXiv:2302.13971, 2023.
[2] Radford A, Narasimhan K, Salimans T, et al. Improving language understanding by generative pre-training[J]. 2018.
[3] Zhang R, Han J, Liu C, et al. Llama-adapter: Efficient fine-tuning of language models with zero-init attention[J]. arXiv preprint arXiv:2303.16199, 2023.
[4] Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[J]. Advances in neural information processing systems, 2017, 30.
[5] Hu E J, Shen Y, Wallis P, et al. Lora: Low-rank adaptation of large language models[J]. Iclr, 2022, 1(2): 3.
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)