语言人工智能指南

多查询注意力

多查询注意力(MQA)是变压器注意力的一种节省内存的方式,它在所有注意力头之间共享一组键和值。

听听这个指南AI叙述 · ~2 min

在本页阅读时间:2分钟
  1. 概述
  2. 深入探讨
  3. 现实世界的实施
  4. 多查询注意力的未来
  5. 付诸实践
  6. 不断探索
  7. 常见问题

概述

它通过缩小模型必须随机播放的内存来显着加快文本生成速度。

深入探讨

标准的多头注意力为每个头提供了自己的查询、键和值投影。在生成过程中,所有过去令牌的键和值都必须在每个步骤中缓存和重新加载 - 这个 KV 缓存成为主要瓶颈,因为从内存中读取它比数学本身慢。多查询注意力机制由 Noam Shazeer 在 2019 年提出,它为每个头保留单独的查询投影,但将键和值折叠到单个共享头。这会将 KV 缓存缩小到等于磁头数量的系数,有时小 8 倍到 64 倍。结果是自回归解码速度更快,内存占用更轻,质量仅略有下降。中间立场,分组查询注意力,平衡了权衡。

现实世界的实施

加速聊天助手中逐个令牌的生成,其中 KV 缓存(而不是原始计算)限制了吞吐量。

Google 的 PaLM,它使用多查询注意力来实现高效的大规模推理。

通过缩小每个请求的 KV 缓存内存,在一个 GPU 上为许多并发用户提供服务。

Llama 2 70B 和 Llama 3 中的分组查询注意力机制,是平衡 MQA 速度与全注意力质量的直系后代。

多查询注意力的未来

MQA 认为,您可以修剪冗余的键/值头,而不会造成任何损害,而这种洞察力现在几乎塑造了所有快速推理法学硕士。该领域在很大程度上集中在 Llama 2/3 和许多其他应用中使用的分组查询注意力 (GQA),它使用几个 KV 组而不是一个来恢复质量,同时保持大部分加速。未来的工作将这些想法与 KV 缓存压缩、量化和多潜在注意力相结合,以推动更长的上下文和更便宜的服务。

付诸实践

为什么这很重要

  • 速度与规模. 语言工作流程可以在不牺牲一致性的情况下更快地移动。
  • 交通与覆盖范围. 它扩展了跨语言和沟通方式的访问。
  • 更清晰的判决. 团队可以花更多时间进行判断,而自动化则可以处理重复。

留意

  • 幻觉的事实可以悄悄地进入报告、支持流程或研究成果。
  • 及时的敏感性可能会在类似的请求中产生不一致的结果。
  • 如果访问控制薄弱,敏感文本数据可能会暴露。

后续步骤

  1. 在推出之前定义输出格式、语气和质量标准。
  2. 当准确性很重要时,请使用可信来源进行地面响应。
  3. 为高风险输出保留人工审查检查点。
  4. 跟踪故障模式并定期重新训练提示或工作流程。

不断探索

免费通讯

获取每日AI简报

每个工作日早晨提供三条经过验证的AI故事,使用简明英文撰写。永久免费,无广告。

每个工作日发送一封邮件。一键退订。我们永不出售或分享您的地址。

测试一下自己

参加多查询注意力(Multi-Query Attention)测验

每个答案即时反馈,课程通过后可获得可验证ID的可分享证书。

开始测验

支持免费AI教育。AI Understanding是一家501(c)(3)非营利组织——无广告,无付费墙,永不收费。 捐款

常见问题

什么是多查询注意力?

多查询注意力(MQA)是变压器注意力的一种节省内存的方式,它在所有注意力头之间共享一组键和值。它通过缩小模型必须随机播放的内存来显着加快文本生成速度。

多查询注意力在所有注意力头中共享什么?

MQA 为每个头保留单独的查询,但在所有头之间共享一个键投影和一个值投影。

MQA 在自回归生成过程中解决的主要瓶颈是什么?

重新加载大型 KV 缓存的每一步都会受到带宽限制; MQA 缩小缓存以加快解码速度。

MQA 大致通过什么因素缩小 KV 缓存?

由于键和值从 H 个头缩减为 1 个头,因此缓存大约缩小了头数。

使用 MQA 的主要权衡是什么?

共享键和值会稍微降低表示能力,导致质量小幅下降,但速度会大幅提升。

标准多头注意力和 MQA 之间哪个变体?

分组查询注意力(GQA)使用多个 KV 组而不是一个,平衡质量和速度。