正文
模型链接:
https://huggingface.co/collections/linear-moe-hub/liger-67d904bffd7f9b77ade7747d
大语言模型(Llama、Mistral等)在各种序列建模任务上取得了很好的表现,特别是基于 Transformer 架构的大语言模型已经被广泛验证了其序列建模任务的有效性,然而这种架构也面临着它的固有缺陷:
1. 注意力机制关于序列长度二次方的计算复杂度,每次为了生成下一个词都需要回顾历史序列数据进行注意力计算,导致 Transformer 架构模型在长序列场景下效率低下;
2. KV-Cache 机制需要保存历史序列数据用于后续计算,导致显存压力随着序列长度增长而升高。
传统 Transformer 架构模型的效率瓶颈愈发凸显,如何在不牺牲性能的前提下实现高效推理,成为学术界与工业界共同关注的焦点。
在这一背景下,基于线性序列建模方法的模型架构崭露头角,因为线性循环模型在架构上具有明显优势:
1. 线性注意力机制关于序列长度的线性计算复杂度,每次生成下一个词仅需要访问固定大小的 memory/state,计算效率高;
2. 无需 KV-Cache,推理生成阶段的显存占用恒定,无论生成序列有多长,显存占用一直维持恒定不变。
得益于其高效性质能够完美解决 Transformer 架构的固有缺陷,线性循环架构模型展现出了作为 LLM 基础架构的优势。
然而验证一种新兴的模型架构的有效性并不容易,这是因为训练一个参数量非常大的模型动辄需要上千乃至上万亿的高质量数据量,并且算力需求极其高昂,需要在大规模显卡集群上对随机初始化的大模型进行从头预训练。
因此从头训练此类线性循环模型成本高昂,并且通常难以匹配现有 Transformer LLM 的性能,使得绝大多数研究人员望而却步,难以实际投入如此高成本训出一个效果可能并不怎样的线性 LLM。
现在既然我们已经有了预训练好的 Transformer 大模型(Llama、Mistral 等),将现有模型架构进行调整为线性循环模型架构并在此基础上进一步训练或许是成本更低的方案,我们称之为
模型架构线性化
。
然而现在的线性模型为了拟合 Transformer 架构的 Softmax Attention 效果,需要在原有线性注意力上增加各种模块,包括 Feature Mapping、门控机制等,能够一定程度上提升原有线性模型的表现。
然而现有线性化方法仍未探究如何更好地将 Transformer 线性化为门控循环结构的线性模型,并且在线性化场景下这些额外模块需要初始化进行训练,这增加了架构复杂性和差异性,额外增加了线性化成本。
在此背景下,Liger 应运而生,这是一个极其高效、简洁且通用的线性化技术,仅需要极少量的微调成本即可将预训练的 Transformer LLM 线性化为门控循环结构,成功恢复原模型 93% 以上的性能,同时实现高效线性计算复杂度的序列建模。
方法描述