AVO: Agentic Variation Operators for Autonomous Evolutionary Search
AVO: Agentic Variation Operators for Autonomous Evolutionary Search
文章标题: AVO:用于自主进化搜索的智能体变异算子
作者/机构: Terry Chen∗, Zhifan Ye∗, Bing Xu∗, Zihao Ye, Timmy Liu, Ali Hassani, Tianqi Chen, Andrew Kerr, Haicheng Wu, Yang Xu, Yu-Jung Chen, Hanfeng Chen, Aditya Kane Ronny Krashinsky, Ming-Yu Liu, Vinod Grover, Luis Ceze, Roger Bringmann, John Tran, Wei Liu, Fung Xie, Michael Lightstone, Humphrey Shi (NVIDIA)
A1 主要贡献
核心问题与研究目标: 传统的进化搜索方法已开始使用大型语言模型(LLM)来替代手工制作的变异算子,但这些系统通常将LLM限制在预设流程中的候选解生成环节。在这种模式下,LLM每次调用只产生一个输出,无法主动查阅参考资料、测试其更改、解释反馈或在提交候选解之前修正其方法。这种限制对于那些已经被高度优化的领域(如GPU核函数)尤其明显,因为在这些领域中,进一步的改进需要深入且迭代的工程实践。本文的目标是研究如何突破这一限制,让LLM在进化搜索中扮演更核心、更自主的角色。
创新点 (Agentic Variation Operators - AVO):
本文提出了一种名为智能体变异算子(Agentic Variation Operators, AVO)的新型进化变异算子家族。AVO用一个自主的编码智能体替代了传统进化搜索中的固定变异、交叉和启发式方法。AVO的核心思想是,不再将语言模型局限于预设流程中的候选解生成,而是将其具象化为一个自导向的智能体循环。这个智能体能够主动查阅当前的解决方案谱系、领域特定的知识库以及执行反馈,从而进行提议、修复、批判和验证代码编辑。如图1所示,AVO将传统的固定流水线(采样、LLM生成、评估)转变为一个由AI智能体驱动的自主循环,该智能体可以迭代地进行规划、实现、测试和调试。
图1:EVO 与 AVO 的对比:先前进化搜索框架(如 FunSearch、AlphaEvolve 及相关的 LLM 增强进化方法)与所提出的智能体变异算子的比较。左图:先前方法遵循固定的流水线,其中 LLM 被限制在单轮生成步骤或预定义的工作流中,采样和评估由框架控制。右图:AVO 用一个自主的 AI 智能体取代了该流水线,该智能体在长时间运行的会话中迭代地规划、实现、测试和调试,并能直接访问以前的解决方案、评估工具、工具和持久内存。
主要贡献总结:
* 引入智能体变异算子 (AVO):提出了一种新的进化变异算子家族,将智能体从候选生成器提升为变异算子,通过与环境的迭代交互,自主探索领域知识、实施编辑并验证结果。
* 在NVIDIA B200 GPU上实现最先进的多头注意力(MHA)吞吐量:在基准测试配置中,AVO发现的核函数性能达到了1668 TFLOPS,比cuDNN高出3.5%,比FlashAttention-4高出10.5%。
* 证明了优化方案的可迁移性:AVO发现的优化方案能够快速迁移到分组查询注意力(GQA),仅需30分钟的自主适应,性能比cuDNN高出7.0%,比FlashAttention-4高出9.3%。
* 深入分析了智能体发现的微架构优化:提供了对智能体在基准测试设置下发现的微架构优化的详细分析,表明智能体进行了真正的硬件级推理,而不仅仅是表面的代码转换。
A2 背景知识
2.1 进化搜索与变异算子
进化搜索的基本流程。进化搜索通过维护一个种群P并用新的解决方案迭代地扩展它,来在一个候选空间中进行优化。种群是一组解决方案-得分对 $P = \{(x_i, f(x_i))\}$,其中f是一个评估每个候选解决方案的评分函数。每次迭代都会产生一个新的候选$x_{t+1}$并更新种群:
$$\mathcal{P}_{t+1}=\text{Update}(\mathcal{P}_t, (x_{t+1}, \mathbf{f}(x_{t+1}))), \quad x_{t+1}=\text{Vary}(\mathcal{P}_t)$$其中,Update将新的解决方案添加到种群中,可能会修剪低分成员以维持一个有界的存档。我们将Vary称为变异算子:即从现有候选中产生新候选的机制。在FunSearch【索引3,Mathematical discoveries from program search with large language models,Nature,2024】、AlphaEvolve【索引4,Alphaevolve: A coding agent for scientific and algorithmic discovery,2025,https://arxiv.org/abs/2506.13131】以及相关的LLM增强进化方法【索引2 ,Evolution through large models,2022,https://arxiv.org/abs/2206.08896;索引20 ,Reevo: Large language models as hyper-heuristics with reflective evolution,2024,https://arxiv.org/abs/2402.01145;索引5 ,Evoprompting: Language models for code-level neural architecture search,2023,https://arxiv.org/abs/2302.14838】等工作中,变异算子分解为两个阶段 :
$$\text{Vary}(\mathcal{P}_t) = \text{Generate}(\text{Sample}(\mathcal{P}_t)),$$其中,Sample从$P_t$中选择一个或多个父代解决方案(通常由基于得分和多样性的启发式方法指导),而Generate则根据采样的父代生成一个新的候选解。
LLM增强的变异。在这些方法中,Generate由一个LLM实现,该LLM被提示采样的父代并被要求产生一个更优化的解决方案。然而,Sample步骤仍然是一个固定的算法过程:AlphaEvolve维护一个受MAP-Elites【索引21,Illuminating search spaces by mapping elites,2015】启发的基于岛屿的进化数据库,其中提示采样器使用预定义的基于适应度和多样性的启发式方法来选择父代和灵感程序。LoongFlow【索引18,Loongflow: Directed evolutionary search via a cognitive plan-execute-summarize paradigm,2025,https://arxiv.org/abs/2512.24077】同样依赖于带有玻尔兹曼选择的MAP-Elites存档进行Sample,同时将Generate构建为一个固定的“计划-执行-总结”流水线,其中LLM顺序生成修改计划、产生代码并总结见解。在所有这些方法中,LLM仅参与Generate:采样策略、评估协议、种群管理以及操作顺序都由框架决定,而非LLM 。
学习型变异。TTT-Discover【索引22,Learning to discover at test time,2026,https://arxiv.org/abs/2601.16175】更进一步,通过测试时梯度更新来更新LLM策略本身,使模型能够在搜索过程中学习一个改进的Generate。然而,Sample仍然是一个固定算法:一个基于PUCT的选择规则【索引23 ,Mastering the game of go with deep neural networks and tree search,nature,2016】决定了要扩展哪些状态,一个缓冲区则使用预定的更新规则管理种群。即使有了学习型的Generate,LLM的角色仍然被限制在 prescribed 的僵化算法结构内的候选生成,该结构规定了何时以及如何调用它。
与AVO的对比。相比之下,我们在第3节中介绍的智能体变异算子用一个自导向的智能体取代了整个Vary,该智能体将Sample、Generate和评估整合到一个自主循环中。智能体对何时查阅参考资料和过去的解决方案$P_t$、运行哪些诊断测试以及如何修正其优化策略拥有完全的自主权。AVO与种群结构的选择是正交的:智能体算子原则上可以在基于存档、基于岛屿或单谱系进化机制中使用。在本文中,我们研究单谱系设置,以隔离算子本身的效果。
2.2 现代GPU上的注意力核函数
注意力计算。给定查询(Q)、键(K)、值(V)矩阵,注意力计算公式为 $O = \text{softmax}(QK^T / \sqrt{d})V$,其中d是头维度。一个简单的实现会物化完整的N×N得分矩阵 $S = QK^T$,这使得对于大序列长度N的操作会受限于内存。FlashAttention算法【索引7,Flashattention: Fast and memory-efficient exact attention with io-awareness,2022,https://arxiv.org/abs/2205.14135】通过分块计算注意力来避免这个问题:它顺序处理键块,维护一个运行时的softmax(带有运行时的行最大值和行总和),并增量地累积输出O。这种分块方式消除了存储完整得分矩阵的需要,将瓶颈从内存带宽转移到现代GPU的计算吞吐量上 。
Blackwell硬件上的注意力核函数。在NVIDIA的Blackwell架构上,像FA4【索引10,Flashattention-4: Algorithm and kernel pipelining co-design for asymmetric hardware scaling,2026,https://arxiv.org/abs/2603.05451】这样最先进的注意力核函数采用了warp专业化:线程块内的不同warp组在注意力流水线中被分配了不同的角色 。MMA warps通过Blackwell的张量核心指令执行两个核心矩阵乘法:QK GEMM(产生得分S)和PV GEMM(将softmax输出P = softmax(S)与V相乘以累积输出O)。Softmax warps从得分S计算注意力权重P,应用在线softmax算法和运行时的行最大值。Correction warps在运行最大值在K块迭代间发生变化时重新缩放输出累加器O(这是在线softmax算法的要求)。Load和epilogue warps通过Tensor Memory Accelerator(TMA)处理数据移动。在FA4的流水线中,这些组在两个Q块(双Q阶段设计)上并发操作,通过基于屏障的信令来协调交接。对于因果注意力,一些K块迭代被完全掩码(没有有效的注意力条目),而另一些则完全未掩码,导致在同一核函数内有不同的执行路径。由于FA4已经是一个高度优化的设计,进一步的改进需要深厚的硬件专业知识、在多样化优化策略上的广泛探索以及重复的调试和性能分析。
A3 方法细节
AVO将进化搜索的采样、生成和评估阶段整合为一次自主的智能体运行,消除了限制现有方法的僵化流水线。下文我们形式化该算子,详细说明单次变异步骤内发生的事情,并描述实现多天自主探索的机制。
图2:智能体变异算子(AVO)的图示。
3.1 形式化
传统进化搜索的变异算子。以往的进化搜索方法【索引3,Mathematical discoveries from program search with large language models,Nature,2024;索引4,Alphaevolve: A coding agent for scientific and algorithmic discovery,2025,https://arxiv.org/abs/2506.13131】将变异算子分解为 :
$$\mathrm{Vary}(\mathcal{P}_t) = \mathrm{Generate}(\mathrm{Sample}(\mathcal{P}_t)),$$这种方式将LLM限制在固定流水线中的Generate步骤。
AVO的变异算子。如图2所示,AVO用一次自主的智能体运行取代了这种分解:
$$\text{Vary}(\mathcal{P}_t) = \text{Agent}(\mathcal{P}_t, \mathcal{K}, \mathbf{f}),$$其中,$P_t = \{(x_1, f(x_1)), ..., (x_t, f(x_t))\}$ 是解决方案及其得分的完整谱系,K是领域特定的知识库,f是评分函数。
具体实现。在我们的设置中,每个$x_i$是一个CUDA核函数实现(包含内联PTX的源代码),而f从两个维度评估候选解:与参考实现的数值正确性,以及在目标硬件上的吞吐量(以TFLOPS为单位)。实际上,$f(x_i) = (f_1(x_i), f_2(x_i), ..., f_n(x_i))$ 是一个n维向量,其中$f_j$代表测试配置j的得分。一个未能通过正确性检查的候选解$x_i$将被赋予零分(即$f_j(x_i) = 0$),无论其吞吐量如何。知识库K包含CUDA编程指南、PTX ISA文档、Blackwell架构规范以及包括FlashAttention-4源代码在内的现有核函数实现。AVO为进化搜索定义了一个智能体变异算子家族。在这项工作中,我们从一个种子程序$x_0$开始,实例化AVO在一个单谱系的自主运行中,产生一系列已提交的改进$x_1, x_2, ..., x_t$。累积的谱系$P_t$作为后续变异步骤的上下文。
3.2 单次变异步骤的剖析
自主智能体循环。在AVO中,一个从当前谱系$P_t$产生$x_{t+1}$的单次变异步骤是一个自主的智能体循环。该智能体是一个通用的编码智能体,具备规划、工具使用和持久内存的能力(详见第4节),单次步骤可能涉及大量内部动作。我们观察到,智能体在单次变异步骤中经常检查$P_t$中的多个先前实现,比较它们的性能分析特征以识别瓶颈和机会,并在实现候选优化前查阅K中的文档以理解相关的硬件约束。然后,智能体调用f来测试结果。当一个候选解未能通过正确性检查或未能在当前基准测试套件上取得改进时,智能体会诊断问题并修正其方法,重复这个“编辑-评估-诊断”循环,直到它提交一个令人满意的$x_{t+1}$。
自适应优化策略。这种设计允许智能体随着搜索的进展调整其优化策略:早期的步骤可能侧重于受K中参考实现启发的结构性改变,而后期的步骤则可以转向由f的性能分析反馈和在累积谱系$P_t$中观察到的模式指导的微架构调优。
提交新版本。在我们当前的实现中,只有当一个新版本通过正确性检查并且其基准得分相对于迄今为止最好的已提交版本持平或有所提高时,我们才会持久化它;不成功的中间尝试仍然是智能体内部搜索轨迹的一部分,但不会被添加到已提交的谱系中。
3.3 持续进化
单谱系持续实例化。尽管AVO是在进化搜索的变异算子层面定义的,本研究评估的是一个单谱系的持续实例化,将种群级别的分支和存档管理留给未来的扩展。AVO智能体作为一个持续的循环运行,定期产生新的解决方案,无需人工干预。每个已提交的版本$x_i$连同其得分一起作为git提交被持久化,从而在整个进化过程中保持完全的状态连续性。
自我监督机制。在长期自主优化中,两种失败模式可能会阻碍进展:当智能体用尽其当前的探索路线时可能会停滞,或者它可能进入重复编辑但未能提高分数的无效循环。为了缓解这两种情况,AVO集成了一个自我监督机制,该机制能检测这些场景并进行干预。一旦触发,该机制会审查整个进化轨迹,并将搜索引向几个候选的优化方向。当当前策略停滞不前时,这种有条件的干预能有效地以新的视角重新引导探索。
7天运行总结。产生我们最终多头注意力核函数的7天运行跨越了40个连续版本。在此过程中,主智能体自主决定何时尝试新的优化、何时重新审视$P_t$中的早期方法以及何时改变策略,而监督者则通过在停滞期间进行干预来维持前进的动力。
A4 实验环境
-
智能体:
- 使用由前沿大型语言模型驱动的内部开发的通用编码智能体作为AVO变异算子。
- 智能体具备标准软件工程工具,包括自主代码编辑、shell命令执行、文件系统导航和文档检索。
- 通过对话历史维持持久内存,累积了整个进化过程中的编辑、编译器输出、性能分析结果和推理的全部上下文。
- 未对智能体进行针对核函数优化的特定修改,其可用于通用软件工程任务。
-
硬件配置:
- GPU: NVIDIA B200 GPUs。
-
软件配置:
- CUDA: 13.1
- PyTorch: 2.10.0
-
基准:
- cuDNN: NVIDIA的闭源注意力核函数,版本9.19.1,包含针对Blackwell的定制优化。
- FlashAttention-4 (FA4): 最新的针对Blackwell优化的开源注意力核函数,使用了官方实现(commit 71bf77c)。
-
基准测试配置:
- 任务: 评估前向预填充(prefilling)吞吐量。
- 参数: 头维度128,BF16精度。
- 序列长度: 评估了{4096, 8192, 16384, 32768}四种序列长度,通过调整批大小使总tokens数固定为32768。
- 多头注意力 (MHA): 16个头,包括因果和非因果掩码。
-
分组查询注意力 (GQA): 评估了两种来自Qwen3模型族的配置:
- 32个查询头,4个KV头(组大小为8)。
- 32个查询头,8个KV头(组大小为4)。
-
测量方法: 使用与FA4仓库相同的计时脚本、预热和重复轮次。实验重复10次取平均性能和标准差。该设置同时用于智能体进化和最终核函数的基准测试。
A5 实验结果
4.2 多头注意力 (MHA)
实验结果如图3所示。
- 因果注意力 (Causal Attention): AVO在所有测试配置中均优于两个基准。相比cuDNN,性能提升范围为+0.4%至+3.5%;相比FA4,性能提升范围为+5.0%至+10.5%。
- 非因果注意力 (Non-causal Attention): 在较长序列(>16384)上,AVO取得了+1.8%至+2.4%的温和性能提升(相较于cuDNN)。在较短序列上,其性能与两个基准在测量误差范围内相当。
图3:在NVIDIA B200上,多头注意力前向传递预填充吞吐量(TFLOPS),头维度为128,16个头,BF16精度。批大小和序列长度可变,总token数为固定的32k。
4.3 分组查询注意力 (GQA)
为了评估智能体发现的优化是否能迁移到进化过程中未使用的基准设置,研究人员提示AVO智能体将进化出的MHA核函数适配于GQA。智能体在约30分钟内自主完成了这一适配,无需任何人工指导。
实验结果如图4所示。
* 总体性能: AVO在所有GQA配置中均优于两个基准。
* 因果GQA: 相比cuDNN,性能最高提升+7.0%;相比FA4,最高提升+9.3%。
* 非因果GQA: 相比cuDNN,性能最高提升+6.0%;相比FA4,最高提升+4.5%。
* 结论: 这一结果表明,智能体在MHA进化过程中发现的优化并非特定于MHA配置,而是能够泛化到GQA的不同计算和内存访问模式。
图4:在NVIDIA B200上,分组查询注意力前向传递预填充吞吐量(TFLOPS),具有32个查询头,头维度为128,BF16精度。结果显示了两种GQA配置(组大小为8和4)在因果和非因果掩码下的性能。GQA核函数是通过提示AVO智能体适配进化出的MHA核函数而产生的,耗时约30分钟。
4.4 进化轨迹
图5和图6展示了AVO在为期7天的进化过程中产生的40个已提交核函数版本的进化轨迹。
* 探索规模: 这40个已提交的版本只是更大规模搜索的成功结果。在7天内,智能体内部探索了超过500个候选优化方向,包括那些因正确性检查失败、吞吐量下降或在性能分析后被放弃的尝试。这种系统性探索的体量远超人类工程师在相同时间内的能力。
* 离散跳跃而非渐进提升: 吞吐量的提升呈现出离散的阶跃式,中间穿插着性能平稳期,在这些平稳期内,连续的版本主要在优化实现细节而没有带来可测量的性能变化。五个最大的性能增益对应于架构的转折点:
1. 版本8:引入QK-PV交错和位掩码因果屏蔽。
2. 版本13:重构的单遍softmax计算。
3. 版本20:无分支累加器重缩放,并为非掩码迭代使用更轻的内存屏障。
4. 版本30:校正/MMA流水线重叠。
5. 版本33:跨warp组的寄存器重新平衡。
- 收益递减: 早期版本(v1-v20)带来了每版本最大的绝对增益,弥合了朴素实现与高度优化的基准之间的差距。后期版本(v21-v40)则通过周期级调度和精细的资源分配,产生了较小但累积起来很可观的改进。
图5:AVO在因果MHA上为期7天、跨越40个核函数版本的进化轨迹。绿色实线追踪所有配置下运行最佳的几何平均吞吐量;绿色圆圈标记创下新高的版本。彩色虚线显示各配置的吞吐量(seq_len = 4k, 8k, 16k, 32k)。水平虚线表示cuDNN和FA4的几何平均吞吐量。
图6:AVO在非因果MHA上为期7天、跨越40个核函数版本的进化轨迹。绿色实线追踪所有配置下运行最佳的几何平均吞吐量;绿色圆圈标记创下新高的版本。彩色虚线显示各配置的吞吐量(seq_len = 4k, 8k, 16k, 32k)。水平虚线表示cuDNN和FA4的几何平均吞吐量。
A6 补充细节:智能体发现的优化分析
AVO的40个版本进化产生了多层次的优化,这些优化单独来看能带来可测量的吞吐量增益,并且共同构成了第4节中报告的性能提升。我们检查三个代表性的优化,以说明智能体硬件推理的性质和深度。对于每一个,我们描述智能体在其自己的核函数中识别的瓶颈,它所做的改变,以及其测量的影响(版本前后消融实验)。表1提供了总结。
表1:智能体发现的优化及其测量的消融增益总结(相对于前一版本,在所有基准配置上的几何平均TFLOPS提升)。
5.1 无分支累加器重缩放
瓶颈。在在线softmax算法中,当处理新的键块时,运行时的行最大值可能会改变。发生这种情况时,必须对输出累加器O进行重新缩放以考虑更新后的最大值。在AVO核函数的第19版中,这种重新缩放是通过一个条件分支实现的:核函数首先检查warp中的任何线程是否需要重新缩放,并在最大值未改变时完全跳过该操作。虽然这避免了不必要的计算,但该分支在键块循环的每次迭代中都引入了warp同步开销(见第2.2节),并且条件控制流阻止了在校正路径中使用更轻的内存栅栏。
AVO的方法。在第20版中,智能体用无分支的推测路径取代了条件分支。重缩放因子总是被计算,并且当不需要重缩放时,使用一个谓词选择来替换为1.0;与它所取代的同步开销相比,不必要的乘以一的成本可以忽略不计。通过消除分支,智能体还消除了校正路径中的warp分歧,这反过来又允许它用一个更轻的非阻塞栅栏替换一个阻塞内存栅栏(该栅栏会一直停顿直到所有待处理的内存写入完成)。非阻塞栅栏在这里是安全的,因为无分支路径保证了warp中的所有线程都遵循相同的控制流,确保在下一个同步点之前重新收敛。
测量影响。无分支重缩放和更轻栅栏的综合效果在非因果注意力上带来了+8.1%的几何平均吞吐量提升,在因果注意力上带来了+1.6%的提升,这是进化中最大的单项优化。这种不对称性是因为无分支路径仅适用于键块循环的完全未掩码迭代:非因果注意力处理所有键块时不进行掩码,而因果注意力则为掩码的键块保留了原始的分支逻辑。
5.2 校正/MMA流水线重叠
瓶颈。注意力流水线同时处理两个Q块(双Q阶段;见第2.2节),每个都需要一个PV GEMM,然后由校正warp进行输出归一化。在AVO核函数的第29版中,这两个阶段在MMA到校正的边界处是串行化的:校正warp必须等待两个PV GEMM都完成后才能开始归一化任何一个阶段的输出,这使得它在第二个GEMM期间处于空闲状态。
AVO的方法。在第30版中,智能体重新构建了流水线,允许校正warp在第一个阶段的PV GEMM完成后立即开始归一化其输出,将这项工作与第二个阶段的PV GEMM重叠。这将一个串行依赖关系转换为了流水线执行,减少了校正warp的空闲时间。
测量影响。这种流水线重构在非因果注意力上带来了+1.1%的几何平均吞吐量提升,在因果注意力上带来了+0.4%的提升。
5.3 跨Warp组的寄存器重新平衡
瓶颈。Blackwell将每个SM固定的2048个warp寄存器预算分配给各个warp组。在AVO核函数的第32版中,分配遵循FlashAttention-4【索引10,Flashattention-4: Algorithm and kernel pipelining co-design for asymmetric hardware scaling,2026,https://arxiv.org/abs/2603.05451】的模式:8 个softmax warps分配192个寄存器,4个校正warps分配80个,其余4个warps分配48个。性能分析显示,由于其有限的80个寄存器预算,校正warp组正在将值溢出到较慢的本地内存,而softmax组则有相当大的余量。
AVO的方法。在第33版中,智能体从softmax组中重新分配了8个寄存器给其他两个组中的每一个,达到了184/88/56的分配方案。这种重新分配是可行的,因为AVO核函数的softmax实现以小片段处理得分值并采用打包算术,导致峰值寄存器使用率较低,即使在184个寄存器下也有充足的余量。校正warp组从额外的寄存器中受益,因为在流水线重叠优化(第5.2节)之后,它与第二个PV GEMM并发运行,并且处于执行的关键路径上。有了88个而非80个寄存器,更少的输出值溢出到本地内存,从而减少了停顿。
测量影响。寄存器重新平衡在非因果注意力上带来了+2.1%的几何平均吞吐量提升,在因果注意力上约为0%。
5.4 讨论
这些优化的显著之处在于,每一个都需要联合推理多个硬件子系统,包括同步和内存排序、流水线调度以及寄存器分配,而不是孤立地调整任何单个参数。这种通过与文档和性能分析反馈的迭代交互自主进行的深度推理表明,智能体变异算子可以作为专家级核函数优化的有效机制。
A7 结论
我们引入了智能体变异算子(AVO),这是一种新型的进化变异算子,将智能体从候选生成器提升为变异算子本身。当应用于NVIDIA Blackwell GPU上的前向注意力计算时,经过7天连续的自主进化,AVO生成的核函数性能超越cuDNN高达3.5%,超越FlashAttention-4高达10.5%。此外,我们证明了这些发现的优化能够轻松迁移到分组查询注意力,仅需额外30分钟的自主适应。综合来看,这些结果表明,AVO能够发现性能关键的微架构优化,从而产生超越当前最先进专家手工实现水平的核函数。由于AVO作用于变异算子层面,而非绑定于特定领域,它为超越注意力核函数的自主优化指明了更广阔的道路,包括在不同硬件平台上的其他性能关键软件系统,以及需要长期自主探索的工程或科学领域。
A8 附录
A 使用FA4报告的基准性能进行比较
第4节报告了在我们硬件上测量的cuDNN和FA4吞吐量。实际上,微小的系统级差异(驱动版本、散热条件、时钟频率)会影响绝对的TFLOPS。因此,我们还使用FA4论文【索引10,Flashattention-4: Algorithm and kernel pipelining co-design for asymmetric hardware scaling,2026,https://arxiv.org/abs/2603.05451】中公布的cuDNN和FA4数据与AVO进行比较。图7展示了这一比较 。
图7:在NVIDIA B200上的多头注意力前向传递吞吐量(TFLOPS),比较了AVO(在我们的硬件上测量)与FA4论文[10]中报告的cuDNN和FA4基准数据。头维度128,16个头,BF16。左:非因果。右:因果。
在非因果注意力方面,AVO在所有配置上均优于FA4报告的基准,相比cuDNN提升了+1.4%至+3.4%,相比FA4提升了+2.3%至+3.9%。在因果注意力方面,AVO相比cuDNN提升了+3.6%至+7.5%,相比FA4提升了+3.7%至+8.8%,其中最大的增益出现在较短序列上(bs=8, seq=4096)。这些结果与第4节中的比较基本一致。
💬 评论讨论
欢迎在这里分享您的想法和见解!