Making deep learning recommendation model (DLRM) training and inference fast and efficient is important. However, this presents three key system challenges - model architecture diversity, kernel primitive diversity, and hardware generation and architecture heterogeneity. This paper presents KernelEvolve-an agentic kernel coding framework-to tackle heterogeneity at-scale for DLRM. KernelEvolve is designed to take kernel specifications as input and automate the process of kernel generation and optimization for recommendation model across heterogeneous hardware architectures. KernelEvolve does so by operating at multiple programming abstractions, from Triton and CuTe DSL to low-level hardware agnostic languages, spanning the full hardware-software optimization stack. The kernel optimization process is described as graph-based search with selection policy, universal operator, fitness function, and termination rule, dynamically adapts to runtime execution context through retrieval-augmented prompt synthesis. We designed, implemented, and deployed KernelEvolve to optimize a wide variety of production recommendation models across generations of NVIDIA and AMD GPUs, as well as Meta's AI accelerators. We validate KernelEvolve on the publicly-available KernelBench suite, achieving 100% pass rate on all 250 problems across three difficulty levels, and 160 PyTorch ATen operators across three heterogeneous hardware platforms, demonstrating 100% correctness. KernelEvolve reduces development time from weeks to hours and achieves substantial performance improvements over PyTorch baselines across diverse production use cases and for heterogeneous AI systems at-scale. Beyond performance efficiency improvements, KernelEvolve significantly mitigates the programmability barrier for new AI hardware by enabling automated kernel generation for in-house developed AI hardware.


翻译:实现深度学习推荐模型(DLRM)训练与推理的快速高效至关重要。然而,这带来了三大关键系统挑战——模型架构多样性、内核原语多样性以及硬件代际与架构异构性。本文提出KernelEvolve——一个智能内核编码框架——以应对DLRM的大规模异构性问题。KernelEvolve旨在接收内核规范作为输入,并自动化实现跨异构硬件架构的推荐模型内核生成与优化过程。该框架通过操作多层级编程抽象(从Triton和CuTe领域专用语言到底层硬件无关语言)来实现这一目标,覆盖完整的软硬件优化栈。内核优化过程被描述为基于图的搜索,其包含选择策略、通用算子、适应度函数和终止规则,并通过检索增强的提示合成动态适应运行时执行上下文。我们设计、实现并部署了KernelEvolve,用于优化跨代际NVIDIA与AMD GPU以及Meta自研AI加速器上的多种生产推荐模型。我们在公开可用的KernelBench测试集上验证了KernelEvolve,其在三个难度级别共250个问题上实现100%通过率,并在三个异构硬件平台上对160个PyTorch ATen算子实现了100%正确性验证。KernelEvolve将开发周期从数周缩短至数小时,并在多样化的生产用例及大规模异构AI系统中相比PyTorch基线取得显著性能提升。除性能效率改进外,KernelEvolve通过为内部开发的AI硬件提供自动化内核生成能力,显著降低了新型AI硬件的编程壁垒。

0
下载
关闭预览

相关内容

DeepSeek模型综述:V1 V2 V3 R1-Zero
专知会员服务
116+阅读 · 2月11日
图机器学习 2.2-2.4 Properties of Networks, Random Graph
图与推荐
10+阅读 · 2020年3月28日
预知未来——Gluon 时间序列工具包(GluonTS)
ApacheMXNet
24+阅读 · 2019年6月25日
Single-Shot Object Detection with Enriched Semantics
统计学习与视觉计算组
14+阅读 · 2018年8月29日
国家自然科学基金
46+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
VIP会员
相关资讯
图机器学习 2.2-2.4 Properties of Networks, Random Graph
图与推荐
10+阅读 · 2020年3月28日
预知未来——Gluon 时间序列工具包(GluonTS)
ApacheMXNet
24+阅读 · 2019年6月25日
Single-Shot Object Detection with Enriched Semantics
统计学习与视觉计算组
14+阅读 · 2018年8月29日
相关基金
国家自然科学基金
46+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
3+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员