摘要
AI代理现在能够在不同的硬件平台上编写、编译和迭代优化低级操作内核。然而,现有的基准测试几乎专注于CUDA和Triton,导致那些较少暴露编程模型的硬件生态系统缺乏共同的评估基准。
我们推出了CANN Bench,这是一个针对华为Ascend NPU的AI生成操作代码的开放基准。当前版本涵盖53个操作符和1060个测试用例,分为四个难度等级——从简单的逐元素原语到MoE调度和FlashAttention内核,涵盖FP16、BF16、FP32和INT8精度格式。
评估采用一种三维加权复合评分机制,将编译、功能正确性和性能视为独立的轴,提供了一个原则性的奖励信号,用于内核生成代理的评估。性能评分基于开箱即用的PyTorch-on-Ascend基准和真实NPU硬件上的分析性每案例硬件锚定性能(HAP)极限,确保得分反映真实的优化余地,而非测量伪影。评估工具设计上抵御奖励黑客攻击,确保结果的可信性。
CANN Bench在官方CANN库中进行版本管理,旨在长期社区共同构建,为Ascend生态系统提供一个量化、可重复和可持续维护的AI操作编写能力的标准。
博主点评: CANN Bench的推出标志着AI生成内核基准测试的重大进步,尤其是在针对华为Ascend NPU的生态系统中。通过综合考虑编译、正确性和性能,CANN Bench为开发者提供了一个全面的评估工具,有助于推动低级操作内核的进一步优化。其开放性和社区协作的设计理念,将为未来的技术发展奠定坚实基础。