复制成功

分享至

主页 > 数字货币 >

面向超长上下文,大语言模型如何优化架构,这篇综述一网打尽了

2024.01.03

文章来源:机器之心

作者重点关注了基于 Transformer 的 LLM 模型体系结构在从预训练到推理的所有阶段中优化长上下文能力的进展。
面向超长上下文,大语言模型如何优化架构,这篇综述一网打尽了

图片来源:由无界 AI生成

ChatGPT 的诞生,让基于 Transformer 的大型语言模型 (LLM) 为通用人工智能(AGI)铺开了一条革命性的道路,并在知识库、人机交互、机器人等多个领域得到应用。然而,目前存在一个普遍的限制:由于资源受限,当前大多 LLM 主要是在较短的文本上进行预训练,导致它们在较长上下文方面的表现较差,而长上下文在现实世界的环境中是更加常见的。

最近的一篇综述论文对此进行了全面的调研,作者重点关注了基于 Transformer 的 LLM 模型体系结构在从预训练到推理的所有阶段中优化长上下文能力的进展。

面向超长上下文,大语言模型如何优化架构,这篇综述一网打尽了

论文链接:https://arxiv.org/pdf/2311.12351.pdf

论文首先分析了使用当前基于 Transformer 的模型处理长上下文输入和输出的问题。然后,提供了一个全面的分类体系,以指导 Transformer 架构升级的领域,来解决这些问题。作者对长上下文 LLM 广泛使用的评估需求进行了调研,包括数据集、度量标准和基准模型,以及一些令人惊奇的优化工具包,如库、系统和编译器,以增强 LLM 在不同阶段的效率和功效。最后,文章进一步讨论了这一领域未来研究的主要挑战和潜在方向。作者还建立了一个仓库,汇总了相关文献,并提供实时更新 https://github.com/Strivin0311/long-llms-learning。


综述概览


文章从基本的语言建模目标 (第 2.1 节) 开始,内容涵盖从典型的建模阶段到在基于 Transformer 的仅解码 LLM 中找到的关键架构模块,如图 1 (a) 所示。随后,作者对 LLM 在遇到扩展上下文窗口时的架构限制进行了简要分析 (第 2.2 节)。最后提出了一个全面的方法论分类法 (第 2.3 节),旨在通过架构创新增强 LLM 的长上下文能力 (见图 1 (b))。这个分类法作为文章的第 3、4、5、6、7 节的指南。

面向超长上下文,大语言模型如何优化架构,这篇综述一网打尽了

图 1:文章核心概述:(a) 现代基于 Transformer 的仅解码 LLMs 的典型架构解剖图,右上角有图例;(b) 用于增强 Transformer 架构模块的方法论分类法(与 (a) 相对应的颜色):高效注意力(注意力核心的子模块),长期记忆(针对 KV 缓存),外推性 PEs(针对位置嵌入模块),上下文处理(与上下文预 / 后处理有关)和杂项(整个解码器块以及损失模块通用)。


长上下文,目前有哪些难点待突破?


注意力复杂度。在典型情况下 L ≫ d,MHA 的计算复杂性可以简洁总结如下:它涉及 O (L 2d) 的时间复杂度,包括 QKV 投影的 O (Ld2),计算 P 的 O (L 2d),通过 softmax 运算获取 A 的 O (L 2 ),A 与 V 相乘的 O (L 2d),以及输出投影 O 的 O (Ld2)。它还产生 O (L 2) 的空间复杂度,包括 Q、K、V、O 的嵌入的 O (Ld),以及额外的 O (L 2) 缓冲区用于存储权重 P 和 A。因此,随着序列长度的增加,时间和空间计算成本都呈二次增加,这对于训练和推理可能都是繁重的。

上下文记忆。LLM 缺乏显式的记忆机制,完全依赖 KV 缓存来存储列表中所有先前 token 的表示。这种设计一旦在一个调用中完成查询,Transformer 在后续的调用中不会保留或召回任何先前的状态或序列,除非整个历史记录逐个 token 重新加载到 KV 缓存中。因此,Transformer 在每个调用中仅具有一个上下文工作记忆,而不是像长短时记忆 (LSTM) 这样的内在记忆机制。这种无状态性在并行性方面提供了计算优势,但在聊天机器人应用等需要长期记忆保留的任务中的挑战很明显。

最大长度约束。在训练阶段,工程师通常需要确定一个关键的超参数 max-length,本文中表示为 L_max。这个超参数代表了批次中任何训练样本的序列长度的上限,通常根据可用的计算资源设置为 1k、2k 或 4k,以避免在 GPU 上发生内存溢出 (OOM) 错误。在推理阶段,LLM 的服务提供者还必须限制用户提示的长度或自动截断它们以与预定义的 L_max 对齐,即使推理资源通常比训练阶段更丰富。需要注意的是 Transformer 的任何模块在本质上都不需要这样的限制,因为所有学习的权重仅依赖于维度大小。因此,理论上只要资源足够,Transformer 可以处理任意长度的序列。然而,当前的语言模型在处理超过 L_max 的输入序列时通常表现出明显的性能下降,经常导致重复和不切实际的输出。


改进的新方法


免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier