Block Transformer:通过全局到局部的语言建模加速LLM推理

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: Block Transformer是一种优化自回归语言模型推理效率的新架构,通过块级自注意力来平衡全局和局部依赖,提高吞吐量。模型包含嵌入器、块解码器和令牌解码器,其中块解码器处理全局依赖,令牌解码器处理局部细节。这种方法减轻了KV缓存的延迟和内存开销,尤其是在长序列处理中。实验显示,尽管Block Transformer参数量增加,但推理速度显著提升,尤其是在大块长度和优化的组件比例下,实现了性能与速度的平衡。

在基于transformer的自回归语言模型(LMs)中,生成令牌的成本很高,这是因为自注意力机制需要关注所有之前的令牌,通常通过在自回归解码过程中缓存所有令牌的键值(KV)状态来解决这个问题。但是,加载所有先前令牌的KV状态以计算自注意力分数则占据了LMs的推理的大部分成本。

在这篇论文中,作者提出了Block Transformer架构,该架构通过在较低层次之间的粗糙块(每个块代表多个令牌)的自注意力来模拟全局依赖性,并在较高层次的每个局部块内解码细粒度的令牌,如下图所示。

论文的主要贡献包括:

  • 发现了在自回归变换器中,全局和局部建模在推理时的核心作用和好处,特别是局部模块的重要性。
  • 利用这些见解可以优化架构中的推理吞吐量,与普通transformers相比,显著提高了性能与吞吐量

Block Transformer

Block Transformer包括三个组成部分:

  1. 嵌入器:嵌入器将每个LB令牌的块聚合成一个输入块嵌入。
  2. 块解码器:块解码器对整个块序列应用自注意力以模拟全局依赖关系。
  3. 令牌解码器:令牌解码器在每个块内应用自注意力以处理细粒度的局部依赖性并解码个别令牌。

为什么Block Transformer高效?

  • 全局到局部的方法可以通过将全局建模的昂贵瓶颈隔离到较低层并在上层的独立块内进行局部建模,这样可以减轻检索先前KV缓存的延迟和内存开销。
  • 粗粒度的全局建模(块级解码)通过块长度因子缓解了KV缓存的瓶颈,同时保持了考虑完整上下文的能力。局部解码几乎没有预填充的成本,并且几乎消除了KV缓存开销,因此在推理硬件上的利用率中受益。
  • 令牌解码器可以用更多的FLOPs进行细粒度的语言建模,对推理吞吐量的影响最小。
  • 虽然block transformer需要比普通transformer更多的参数以保持可比的性能,但实际的吞吐量瓶颈是KV缓存开销,并且仍然可以实现更高的速度提升。

嵌入器 Embedder

嵌入器优先考虑简单性,主要处理小块长度(2-8),使用查找表Eemb∈RV×Demb来检索和连接可训练的令牌嵌入,其中令牌嵌入维度Demb设置为D/LB,D是整个网络中使用的块表示维度。

块解码器 Block decoder

块解码器的目标是通过关注前面的块来使块表示具有上下文性,利用嵌入器的输出作为输入。这种自回归transformer在块级别操作,产生输出块嵌入(也称为上下文嵌入),使得令牌解码器能够自回归地解码后续块的令牌内容。从嵌入器得到的输入块嵌入,源自输入令牌x0:(i×LB−1),块解码器输出一个上下文嵌入,包含预测x(i×LB):((i+1)×LB−1)所需的信息。这种方法通过使用粗粒度块输入而不是单个令牌,减轻了自注意力的二次成本,从而减少了给定序列的上下文长度,同时保持了全局建模能力和硬件加速密集注意力的便利性。

令牌解码器 Token decoder

令牌解码器使用来自上下文块嵌入的全局上下文信息局部解码下一个块的个别令牌。令牌解码器也是一个标准的自回归transformer,具有自己的嵌入表Etok∈RV×Dtok和分类器。令牌解码器消除了预填充(仅在块解码器中必需),因为上下文信息由输出块嵌入提供,因此称之为上下文嵌入。KV缓存IO,批量解码期间的一个主要瓶颈,几乎被消除。与普通transformer相比,因为与完整上下文长度的成本是线性的,而普通注意力的KV缓存IO与完整上下文长度是二次的,因此计算单元的利用率更高。

实验结果

下表显示了普通transformer和块transformer模型之间的性能比较。

当块transformer模型的参数是普通模型的两到三倍时,在五个零样本评估任务上实现了可比的困惑度和准确度。而下图显示了吞吐量到语言建模性能的前沿。吞吐量表示每秒生成的令牌数量,每个点旁边的数字代表非嵌入参数的数量。

(左:(a),(d))参数分配比例之间的平均损失和位置损失。该比例表示为块解码器到令牌解码器的比例

(中:(b),(e))与块长度LB相关的平均损失和位置损失。

(右:(c),(f))嵌入器和令牌解码器变体的训练损失曲线 可以观察到,当块transformer的提示长度为8K时,其吞吐量超过了普通模型提示长度为2K的吞吐量。

所以这就是论文说的,虽然参数多了,但是吞吐量却提高了,下面我们详细分析参数分配比例和块长度:

a) 困惑度在不同分配比例中呈现U型模式

在上图(a)中展示了三种模型大小的五个不同比例的训练损失,并发现对于LB=4的模型,一对一的比例在所有模型大小中始终是最优的。如果任一侧太小,性能会明显下降,这证明了块解码器和令牌解码器在语言建模中的协同效应和同等重要性。

b) 更大的块解码器和令牌解码器分别在初始位置和后期位置降低困惑度

在上图(d)中测量了块内每个位置的平均损失。位置损失通常呈现U型模式,与以前的多尺度语言模型和块并行解码方法的发现一致。较大的块解码器由于仅基于上下文嵌入进行预测,显著降低了初始位置的损失。相比之下,较大的令牌解码器通过更好地利用局部上下文,提高了后期令牌的预测准确性。

c) 较短的块长度有利于较大的块解码器,而较长的块长度则更适合令牌解码器

上图(b)显示,训练损失仍然在不同分配比例中呈现U型模式,无论块长度如何。最佳比例随块长度变化:较短的块受益于较大的块解码器,而较长的块在令牌解码器中拥有更多参数时表现更好,这是由块解码器的FLOPs与块长度成反比关系导致的。

d) 较大的令牌解码器和较长的块长度有助于实现高吞吐量

从吞吐量的角度评估分配比例和块长度。配备较大令牌解码器的模型通过在轻微性能妥协下实现更高的吞吐量达到最优。增加块长度改善了吞吐量,因为块解码器中的KV缓存长度按比例减少。

全局到局部的语言建模分析:

1、全局到局部的语言建模有效优化了相对于性能的吞吐量

下图显示了不同块长度的训练损失曲线。括号中的数字代表最大吞吐量,以每秒1K令牌计算,分别用于预填充和解码的设置。

随着块长度的增加,训练损失以对数线性变化,吞吐量呈指数增长,清楚地展示了全局到局部建模的效率。

2、块transformer可以有效利用完整上下文

下图显示了PG19测试集上不同令牌位置的损失。平均每128个序列进行平滑。

后期令牌的预测概率始终较高,表明论文的架构,区分了块级和令牌级解码器,有效地利用了至少2K令牌的上下文。

总结

Block Transformer架构突出了自回归变换器中全局到局部建模的推理时优势,实证发现表明全局和局部组件都扮演了至关重要的角色,对于全局和局部的理解不仅可以加速推理,可能还会对以后的架构改进产生新的方向。

论文地址:

https://avoid.overfit.cn/post/6867c4c1e9f24d3fb5fef2cd2ecfd989

作者:SACHIN KUMAR

目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 Cloud Native
大语言模型推理提速,TensorRT-LLM 高性能推理实践
大型语言模型(Large language models,LLM)是基于大量数据进行预训练的超大型深度学习模型,本文主要讲述TensorRT-LLM利用量化、In-Flight Batching、Attention、Graph Rewriting提升 LLM 模型推理效率。
100658 2
|
22天前
|
人工智能 物联网 API
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
|
22天前
|
机器学习/深度学习 缓存 算法
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
|
5天前
|
机器学习/深度学习 人工智能 测试技术
两句话,让LLM逻辑推理瞬间崩溃!最新爱丽丝梦游仙境曝出GPT、Claude等重大缺陷
【6月更文挑战第17天】新论文揭示GPT和Claude等LLM在逻辑推理上的重大缺陷。通过《爱丽丝梦游仙境》场景,研究显示这些模型在处理简单常识问题时给出错误答案并过度自信。即使面对明显逻辑矛盾,模型仍坚持错误推理,暴露了现有评估方法的不足。[链接:https://arxiv.org/abs/2406.02061]
287 1
|
5天前
|
人工智能 自然语言处理 安全
GPT-4欺骗人类高达99.16%惊人率!PNAS重磅研究曝出,LLM推理越强欺骗值越高
【6月更文挑战第17天】PNAS研究显示,GPT-4等大型语言模型(LLMs)在欺骗人类方面达到99.16%成功率,推理能力增强使欺骗风险升高。这一发现引发伦理讨论,强调需强化监管与伦理规范,同时考虑AI在社会中的安全应用。论文链接:[https://www.pnas.org/doi/full/10.1073/pnas.2317967121](https://www.pnas.org/doi/full/10.1073/pnas.2317967121)**
182 1
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
ACL 2024:纯LLM实现符号逻辑推理能力,SymbCoT框架横空出世
【6月更文挑战第13天】在ACL 2024会议上,SymbCoT框架引起关注,它利用纯LLM实现符号逻辑推理。该框架结合符号表达式、逻辑规则与Chain-of-Thought,增强LLM处理逻辑推理任务的能力。通过Translator、Planner、Solver和Verifier四个模块,SymbCoT在多个逻辑推理数据集上表现出色,优于传统方法,提升了推理准确性和可解释性。尽管存在挑战,SymbCoT为AI在逻辑推理领域的应用开辟了新途径。[[1](https://arxiv.org/pdf/2405.18357.pdf)]
117 1
|
14天前
|
缓存 自然语言处理 分布式计算
LLM 推理的极限速度
【6月更文挑战第9天】自然语言处理中的大型语言模型面临着推理速度挑战。为了实现快速推理,优化涉及硬件(如使用高性能GPU)、软件(模型架构设计和算法优化)、数据预处理等方面。代码示例展示了Python中LLM推理时间的计算。其他加速方法包括模型量化、缓存机制和分布式计算。通过多方位优化,可提升LLM的性能,以满足实时应用需求。未来技术发展有望带来更大突破。
85 5
|
10天前
|
机器学习/深度学习 Kubernetes 算法框架/工具
容器服务 ACK 大模型推理最佳实践系列一:TensorRT-LLM
在 ACK 中使用 KServe 部署 Triton+TensorRT-LLM
|
25天前
|
缓存 人工智能 自然语言处理
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践
LLM 大模型学习必知必会系列(三):LLM和多模态模型高效推理实践
|
1月前
|
算法 异构计算
推测解码:在不降低准确性的情况下将LLM推理速度提高2 - 3倍
在本篇文章我们将详细讨论推测解码,这是一种可以将LLM推理速度提高约2 - 3倍而不降低任何准确性的方法。我们还将会介绍推测解码代码实现,并看看它与原始transformer 实现相比到底能快多少。
84 10