在半导体与人工智能交织的今天,AI 系统正在以前所未有的速度自我进化。最近,来自南京大学与华为的研究团队发表了一项令人瞩目的研究成果:他们开发了一套名为 AscendCraft 的自动化系统,利用大语言模型(LLM)来自动化设计华为昇腾(Ascend)芯片的算子内核(Kernel)。这不仅意味着芯片设计的门槛正在降低,更标志着 AI 硬件优化正进入一个由 AI 驱动的新阶段。
为什么 LLM 难以直接征服昇腾芯片?
在深入了解 AscendCraft 之前,我们需要先理解一个技术痛点。对于开发者而言,编写高性能的芯片算子内核一直是一项极具挑战性的任务。这不仅要求开发者精通硬件底层架构,还需要对内存管理、并行计算以及数据流指令有极深的理解。
对于 NVIDIA GPU 这样拥有庞大开发者生态和海量公开代码库的硬件,现有的 LLM(如 GPT-4 或 Claude)表现得相当出色。因为它们在预训练阶段已经学习了数以亿计的 CUDA 代码。然而,对于华为的昇腾芯片(基于 NPU 架构),情况则大不相同。
由于昇腾芯片及其配套的 AscendC 编程语言相对较新,且公开的、高质量的 NPU 算子实现代码在互联网上的存储量远低于 GPU。这就导致了一个尴尬的局面:LLM 在处理昇腾算子编写任务时,由于缺乏足够的训练语料,往往难以生成既正确又高效的代码。研究人员指出,公开可用的 NPU 内核实现稀缺,限制了 LLM 的训练语料库,使得模型难以理解 NPU 特有的内存层次结构和计算逻辑。
AscendCraft 的核心:两阶段自动化流水线
为了解决数据荒和硬件独特性带来的挑战,研究团队并没有强行让 LLM 直接输出底层的 AscendC 代码,而是巧妙地设计了一套两阶段的脚手架系统。这种方法将复杂的算子开发任务拆解为更高层次的逻辑构建和细致的代码转译。
第一阶段:构建高层 DSL 程序
AscendCraft 的第一步是引导 LLM 生成一种高层领域特定语言(DSL)程序。这种 DSL 并非直接可执行的机器码,而是一种介于自然语言和底层代码之间的结构化描述。
这个 DSL 被设计得对大模型极其友好。它通过适当的抽象,专门用来描述内核的核心计算逻辑、分块(Tiling)策略以及芯片上的数据流(On-chip Dataflow)。通过这种方式,LLM 不再需要纠结于复杂的内存地址计算或指令同步,而是专注于算法的逻辑实现。研究人员将其视为一种支架,让模型能在昇腾硬件的特定约束下保持专注。
第二阶段:结构化转译(Transcompilation)
一旦获得了高层 DSL 描述,AscendCraft 就进入了第二阶段:将 DSL 转译为最终的 AscendC 代码。这一步并非一次性完成,而是通过一系列结构化的、基于 LLM 的降级路径(Lowering Passes)来实现。
每个路径负责将 DSL 的特定方面,例如向量计算指令、搬运指令或同步原语,翻译成有效且高效的 AscendC 构造。这种分步转译的方法确保了生成的代码在语法上是准确的,并且能够充分利用 NPU 的硬件特性进行优化。
性能表现:离工业级还有多远?
研究团队在 MultiKernelBench 基准测试上对这套系统进行了严格考验。测试结果展示了 AI 在辅助芯片设计方面的巨大潜力,但也揭示了目前的局限性。
根据实验数据:
编译成功率:AscendCraft 达到了惊人的 98.1%。这意味着该系统生成的绝大多数代码在语法上是完整的,能够通过编译器的初步检查。
功能正确性:在逻辑运行层面,90.4% 的生成内核能够输出正确的结果。对于自动化代码生成而言,这是一个相当高的准确率。
执行性能:这是最具挑战性的一环。实验显示,46.2% 的生成内核在性能上能够达到或超过 PyTorch 的 Eager 模式执行效率。
这意味着,虽然 AscendCraft 产生的算子约有一半已经具备了实用价值,但要全面超越人类专家手工优化的顶尖内核,仍有一定的提升空间。尽管如此,这对于加速新硬件的软件生态建设而言,无疑是一剂强心针。
昇腾架构的独特性与挑战
要理解 AscendCraft 为什么重要,必须了解华为昇腾 NPU 的特殊性。与传统的通用计算单元不同,昇腾 NPU 采用了专为深度学习设计的架构,其核心是达芬奇架构(Da Vinci Architecture)。
该架构包含了立方体计算单元(Cube Unit)、向量计算单元(Vector Unit)和标量计算单元(Scalar Unit)。这种多维度的并行计算模式虽然提供了强大的算力,但也给程序员带来了极大的负担。开发者需要手动管理各种缓冲区(如 L1 Buffer、L0A/L0B/L0C Buffer),并确保数据在不同计算单元之间高效流转。
AscendCraft 的出现,实际上是利用 LLM 作为一种智能翻译官,将人类的算法意图自动映射到复杂的达芬奇架构上。即使在缺乏大规模训练数据的情况下,通过合理的 DSL 引导,AI 依然能够掌握这种复杂的映射关系。
AI 研发 AI:硬件演进的新范式
AscendCraft 的研究案例揭示了一个深刻的趋势:AI 正在加速其自身底层硬件的开发。过去,适配一款新芯片的软件栈往往需要数千名工程师数年的努力。而现在,通过 LLM 驱动的自动化工具,这个过程可能会缩短到几个月甚至几周。
这种 AI 驱动的硬件优化不仅适用于已经成熟的芯片,对于那些处于追赶阶段、生态尚在建立中的国产芯片而言,更具有战略意义。它证明了即便是在语料库相对匮乏的领域,通过创新的框架设计,LLM 依然能够发挥关键作用。
尽管目前 AscendCraft 使用的具体大模型型号尚未公开,但其展现出的方法论已经为业界指明了方向。未来,随着生成式 AI 的进一步迭代,我们或许会看到更多由 AI 自动生成的、甚至超越人类优化极限的高性能芯片算子。
这种技术演进不仅仅是效率的提升,它正在重塑芯片产业的竞争格局。当硬件的竞争不再仅仅取决于制程工艺,而更多地取决于软件生态的构建速度时,像 AscendCraft 这样的自动化工具,将成为决定成败的关键。
感兴趣,可以阅读论文原文:https://arxiv.org/abs/2601.22760