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],记为:

P_{l}\in R^{K\times C}(l=1,2,...,L)

其中K为每一层的Adaption Prompt[3]长度,C为Transformer[4]的特征维度。最后L 层的提示向量能够更好地调整蕴含高级语义的语言表示。

以第 l 个插入Adaption Prompt[3]的层为例(l ≤ L),将长度为M的tokens记为:

T_{l}\in R^{M\times C}(l=1,2,...,L)

T_{l}表示输入指令和已生成的响应,将可学习的Adaption Prompt[3]与其沿token维度拼接,在P_{l}中学习到的指令知识可以有效地引导T_{l}通过Transformer[4]块中的Zero-Initialized Attention[3]层生成后续的上下文响应。

2.2 Zero-Initialized Attention

如果Adaption Prompts[3]是随机初始化的,就可能会在训练开始时对词tokens造成干扰,这会损害微调的稳定性和有效性,故将其修改为零初始化的变体。假设模型在第l个插入Adaption Prompt[3]的层中生成第(M+1)个token,将该token记为:

t_{l}\in R^{1\times C}(l=1,2,...,L)

则在注意力机制中,首先应用几个线性投影层将输入tokens转换为查询、键和值:

Q_{l}=Linear_{l}^{q}(t_{l})

K_{l}=Linear_{l}^{k}([P_{l};T_{l};t_{l}])

V_{l}=Linear_{l}^{v}([P_{l};T_{l};t_{l}])

则Softmax函数的输入可以计算如下:

S_{l}=Q_{l}K_{l}^{T}/\sqrt{C}

其中S_{l}\in R^{1\times (K+M+1)},代表t_{l}与所有(K+M+1)个tokens的相似度,可以看作由S_{l}^{K}\in R^{1\times K}S_{l}^{M+1}\in R^{1\times (M+1))}沿特征维度拼接而来。S_{l}^{K}表示可学习的Adaption Prompt[3]有助于生成t_{l}的信息量,在训练初期可能对模型原有表示造成不必要的干扰。

于是使用一个可学习的门控因子g_{l}来自适应调控Adaption Prompt[3]在注意力机制中的权重占比;将其初始化为 0,可在训练初期有效消除Adaption Prompt[3](欠拟合状态下)的干扰,随后通过训练逐步提升其权重幅度,为LLM注入更丰富的指令语义。基于此,将Softmax函数分别独立应用于S_{l}^{K}S_{l}^{M+1},并将S_{l}^{K}g_{l}相乘,具体公式如下:

W_{l}^{K}=Softmax(S_{l}^{K})\times tanh(g_{l})

W_{l}^{M+1}=Softmax(S_{l}^{M+1})

其中,采用激活函数 tanh(·) 将g_{l}的范围归一化至[-1,1],以稳定控制其尺度。独立的Softmax计算能够确保原始注意力分数不受Adaption Prompt[3]的影响,将W_{l}^{K}W_{l}^{M+1}沿特征维度拼接,就可以得到整体的注意力分数W_{l}\in ^{1\times (K+M+1))}。当g_{l}接近0时,模型主要保留LLM原始的预训练知识,从而保证tokens生成的可靠性与稳定性。在实际实现中,为不同注意力头设置独立的门控因子,这有助于增强多头注意力的学习多样性,提升模型表达能力。

最终,通过线性投影层计算第 l 个注意力层的输出:

t_{l}^{o}=Linear_{o}(W_{l}V_{l})

但在实际实现中,为避免显式的序列拼接操作,会分别计算原始注意力输出与Zero-Initialized Attention[3]输出,并将二者相加,作为第 l 个注意力层的最终输出:

t_{l}^{o}=Linear_{o}(W_{l}^{K}V_{l}^{K}+W_{l}^{M+1}V_{l}^{M+1})

其中V_{l}^{K}=Linear_{l}^{v}(P_{l})V_{l}^{M+1}=Linear_{l}^{v}([T_{l};t_{l}])。借助Zero-Initialized Attention[3],Adaption Prompt[3]能够将学习到的指令信号逐步注入至Transformer[4]结构中,同时充分结合LLM 固有的预训练知识,从而生成高质量、可靠的响应输出。

2.3 多模态推理

除文本指令外,LLaMA-Adapter[3]仅需简单修改即可支持基于图像输入的问答任务,充分释放了LLM的多模态推理潜力,可广泛应用于图像描述、目标计数、光学字符识别(Optical Character Recognition,OCR)等实际场景。

对于图像输入,先使用预训练视觉编码器提取其多尺度全局特征,记为:

I_{n}\in R^{1\times C_{n}}(n=1,2,...,N)

其中N指尺度数量,然后,沿通道维度连接N尺度特征,并应用可学习的投影网络将它们转换至词嵌入空间,得到与Adaption Prompt[3]具有相同特征维度的整体图像token I_{p}\in R^{1\times C}。再将其沿token维度重复K次,并在所有插入Adaption Prompt[3]的层中与相应的Adaption Prompt[3]直接相加,从而得到整合了给定图像视觉信息的Adaption Prompt[3],记为:

P_{l}^{v}\in R^{K\times C}(l=1,2,...,L)

在此之后,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.

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐