来源:半导体行业观察
2025-06-12 08:45:57
(原标题:中科院团队自研大模型,自动设计超强芯片)
公众号记得加星标⭐️,第一时间看推送不会错过。
来源:内容编译自arxiv。
处理器芯片设计技术是推动计算机科学及相关领域突破的关键前沿技术。随着信息技术的快速发展,传统的设计范式面临三大挑战:制造技术的物理约束、日益增长的设计资源需求以及生态系统的日益多样化。自动化处理器芯片设计已成为应对这些挑战的变革性解决方案。尽管人工智能(AI)领域的最新突破,尤其是大型语言模型(LLM)技术,为完全自动化的处理器芯片设计开辟了新的可能性,但为处理器芯片设计建立特定领域的LLM仍然存在巨大的挑战。
本文提出了一种全新的处理器芯片软硬件全自动设计系统——QiMeng。QiMeng 包含三个层次。在底层,我们构建了一个面向特定领域的大型处理器芯片模型 (LPCM: Large Processor Chip Model),在架构、训练和推理方面引入了新颖的设计,以应对知识表示缺口、数据稀缺、正确性保证以及巨大的解空间等关键挑战。
在中间层,我们利用 LPCM 的知识表示和推理能力,开发了硬件设计代理和软件设计代理,以实现处理器芯片软硬件设计的自动化。目前,QiMeng 的多个组件已经完成,并成功应用于各种顶层应用,展现出显著的优势,为高效、全自动的处理器芯片软硬件设计提供了可行的解决方案。
未来的研究将致力于集成所有组件,并执行自上而下和自下而上的迭代设计流程,以建立一个完整的 QiMeng 系统。
介绍
作为计算系统的基础硬件平台,处理器和芯片承担着指令执行、数据处理和资源管理等关键功能。这些处理器和芯片驱动着从个人电脑、服务器、智能手机到物联网(IoT)设备等各种设备,构成了现代数字经济的技术基础。处理器芯片设计既是国家经济发展的战略性产业,也是推动计算机科学进步的前沿研究领域。处理器芯片设计是一项高度复杂且系统性的任务,需要紧密的软硬件协同设计才能满足功能需求,并优化性能、功耗和面积(PPA)。这些要求使得处理器芯片设计成为工业界和学术界最具挑战性的研究课题之一。
信息技术的演进揭示了当前处理器芯片设计方法的三大根本局限性:制造工艺受限、资源有限以及生态系统多样化。
在制造工艺方面,随着半导体制造工艺接近7纳米以下的物理极限,量子隧穿和短沟道效应等现象变得越来越棘手,使得基于传统制造工艺的性能扩展变得无效,从而迫切需要设计方法的创新。
从资源角度来看,传统的设计流程需要大量的专业知识和劳动密集型的设计验证迭代,以确保功能正确性,同时平衡PPA等相互冲突的设计目标。这导致开发周期延长和成本高昂。在生态系统方面,人工智能、云计算和边缘计算等新兴应用需要专门的架构和定制的基础软件支持。
因此,传统的芯片设计方法由于其固有的耗时和高昂的成本要求,无法有效应对生态系统的挑战。总而言之,这些挑战凸显了对新型设计范式的迫切需求,这种范式能够在满足多样化应用需求的同时,提供更高性能、更高效能和更低成本。
自动化处理器芯片设计旨在实现处理器芯片整个设计和验证流程的自动化,为克服上述局限性提供了一种颇具前景的解决方案。通过利用人工智能方法,自动化处理器芯片设计有望超越手工设计,并在相同的制造工艺下实现更佳性能。此外,自动化处理器设计方法能够大幅减少人工干预,显著提高设计效率,同时缩短开发周期并降低成本。此外,它还能快速定制芯片架构和软件堆栈,以满足特定应用领域的定制需求,从而满足日益增长的专用计算解决方案需求。
大型语言模型 (LLM) 和多智能体系统的最新突破为自动化处理器芯片设计创造了新的机遇。最先进的 LLM,例如 DeepSeek-V3、DeepSeek-R1, Qwen3,GPT-4o和 Gemini 2.5 Pro 在问答、规划和推理方面展现了卓越的能力,展现了通用人工智能 (AGI) 的潜力。经过领域特定数据的后期训练,可以获得领域特定的打磨性格 (LLM),并且在计算生物学等科学学科中取得了令人瞩目的成果 。更先进的基于 LLM 的代理将认知能力与 LLM 的工具使用技能相结合,以自主规划和执行复杂的工作流程。大模型和代理的这些发展为完全自动化处理器芯片设计指明了新的途径。
然而,由于处理器芯片设计的特殊性,将LLM和代理应用于自动化处理器芯片设计面临四大挑战:知识表示缺口(knowledge representation gap)、数据稀缺(data scarcity)、正确性保证(correctness guarantee)以及巨大的解空间(enormous solution space
)。
首先,知识表示缺口:关键的处理器芯片设计数据采用图结构,例如抽象语法树(AST:abstract syntax trees)、数据流图(DFG:data flow diagrams )和控制流图(CFG:control flow diagrams)。图数据与LLM通常处理的顺序文本存在固有的语义缺口,这限制了领域知识表示能力,并限制了LLM的处理器芯片设计能力。
其次,数据稀缺:与互联网上可用于训练通用LLM的海量PB级文本语料库不同,处理器芯片设计数据规模较小,在GitHub等开源社区中仅有TB级数据,这严重制约了针对处理器芯片设计领域专用LLM的开发。
第三,正确性保证:处理器设计需要严格的验证标准,这与LLM的概率性本质存在根本冲突。例如,英特尔奔腾 4 处理器在功能验证中要求准确率达到 99.99999999999% 。
最后,巨大的解决方案空间:处理器设计涵盖从基础软件到物理布局的多个抽象阶段,因此,直接在原始比特流级别对设计空间进行建模会面临维度爆炸的问题。例如,32 位 CPU 的方案空间达到10^10540。这个巨大的解决方案空间对于获得功能正确且性能优化的处理器设计提出了极大的挑战。
图 1:概述,QiMeng 由三层组成:底层是领域专用的大型处理器芯片模型 (LPCM);中间层是基于 LPCM 实现自动化软硬件设计的硬件设计代理和软件设计代理;顶层是各种处理器芯片设计应用程序。
为了应对上述挑战并开创变革范式,我们提出了 QiMeng ,这是一个用于处理器芯片全自动软硬件设计的全新系统。QiMeng 由三层组成。底层构建了一个大型处理器芯片模型 (LPCM),作为处理器芯片设计领域专用的 LLM;中间层基于 LPCM 创建了硬件设计代理和软件设计代理,分别用于实现硬件和软件的自动化设计。最后,这两个代理在顶层支持各种处理器芯片设计应用,如图1所示。
在QiMeng中,为了克服上述四大挑战,LPCM经过精心设计,融合了领域专业知识和处理器芯片设计的基本能力。LPCM在架构、训练和推理方面的独特创新,使其区别于通用LLM。在架构方面,LPCM采用多模态结构,能够理解和表征处理器芯片领域固有的图数据,从而解决了知识表征缺口这一关键挑战。在训练方面,自动生成大量处理器芯片设计领域特定数据至关重要。对于处理器芯片设计的每个抽象阶段,系统地收集领域特定数据,并独立训练单阶段自动化设计模型。
随后,这些模型被级联,自主生成大量跨阶段对齐的处理器芯片设计数据。利用这些对齐数据,LPCM可以训练从分层设计流程中学习领域知识,从而有效缓解数据稀缺的挑战。在推理过程中,实现了两种反馈驱动机制。通过构建来自自动化功能验证的正确性反馈,LPCM 能够自主修复错误结果并确保生成输出的有效性,从而解决处理器设计中确保正确性的挑战。同时,利用来自自动化性能评估的性能反馈,LPCM 能够分解解空间并修剪低性能子空间。因此,LPCM 可以有效降低解空间的维度,并高效地探索高性能设计方案,从而克服了庞大解空间带来的挑战。
基于LPCM,QiMeng开发了两个专用代理:硬件设计代理和软件设计代理,致力于处理器和芯片软硬件的自动化设计。硬件设计代理采用双循环机制,由基于性能优化的外部模块分解反馈循环和基于自动验证和修复的内部模块生成反馈循环组成。该双循环机制实现了从功能规范到物理布局的端到端自动化设计,统一了逻辑设计、电路设计和物理设计等传统上相互脱节的阶段。
因此,硬件设计代理实现了一个完全集成的跨阶段协同设计范式,有望超越传统的人工设计,在相同的制造工艺下实现卓越的性能。同时,软件设计代理也采用双循环机制,由LLM引导的外部性能优化反馈循环和基于自动验证和修复的内部功能适配反馈循环组成。软件设计代理自主实现目标处理器芯片基础软件的无缝功能适配和性能优化,满足现代应用不断变化的需求。
利用硬件设计代理和软件设计代理,可以开发各种应用程序,以解决处理器芯片设计的各种实际用例。在自动化硬件设计方面,我们已取得重大进展,包括自动化前端设计和自动化HDL生成。
在自动化软件设计方面,我们取得了包括自动化操作系统配置优化、自动化编译器工具链设计、自动化张量程序转编译器以及自动化高性能库生成在内的成就。这些应用推动了QiMeng关键组件的实现,为其全面实现奠定了坚实的基础。未来,我们将采用三阶段方法构建QiMeng,从自上而下过渡到自下而上,最终实现一个可自我演化的框架。
首先,在自上而下的阶段,顶层各种自动化设计应用程序的实现将为中间层的两个代理提供设计专业知识,并生成大量特定领域的数据,以增强底层LPCM的功能。随后,在自下而上的阶段,改进的LPCM、硬件和软件设计代理将以自下而上的方式应用于更广泛的处理器芯片设计应用。最终,在迭代阶段,将建立自上而下和自下而上相结合的迭代循环,实现QiMeng的自我演进,逐步提升其全自动处理器芯片设计能力,同时扩展其适用性以支持日益多样化和复杂的场景。
本文旨在构建一个全面的处理器芯片全自动软硬件设计框架,并介绍了QiMeng及其发展路线图、设计方法和应用。本文结构如下:第二部分阐述了QiMeng的开发动机及其发展路线图;第三部分阐述了LPCM的设计,涵盖架构、训练和推理;第四部分详细介绍了硬件设计代理和软件设计代理;第五部分展示了QiMeng关键组件支持的多种应用;第六部分概述了自动化处理器芯片设计的相关研究;第七部分总结了未来研究的发展方向。
路线图
自动处理器芯片设计是计算机科学领域的核心问题之一,源于丘奇问题(Church’s Problem):如何自动设计电路以满足给定输入和输出之间的关系?这个问题由计算机科学奠基人阿隆佐·丘奇(Alonzo Church)于1957年提出,几十年来一直是一个巨大的挑战,吸引了Rabin, Scott和 Pnueli等图灵奖获得者的广泛研究,但至今仍未得到解决。
早期的电子设计自动化 (EDA) 工具基于预定义规则和布尔逻辑,可以自动完成逻辑综合、布局和布线等特定设计任务。随着电路复杂度的增加,基于优化的技术应运而生,包括高级综合 (HLS),它可以自动将高级描述转换为 RTL 结构,以及设计空间探索 (DSE),它可以优化 PPA 的设计参数。
近年来,人工智能技术推动处理器芯片的自动化设计进入更加智能、数据驱动的阶段。随机森林(Random Forests)、强化学习 (RL) 和图神经网络 (GNN) 等技术使电路优化、布局和布线的自动化成为可能,显著提高了复杂场景下的设计效率。然而,这些方法主要将 AI 用作改进传统 EDA 流程步骤的工具,而没有从根本上改变整体设计范式。
当前的自动化设计方法主要存在三个局限性。
首先,实际应用中的处理器芯片设计需求通常以模糊、非正式的自然语言表达,而现有方法只能处理精确、正式的输入,通常以硬件描述语言 (HDL) 的形式出现。因此,从非正式到正式的转变需要专家进行大量工作。
其次,这些方法只能自动化处理器芯片设计的某些步骤,例如逻辑综合、形式验证、自动布局和布线。然而,逻辑设计、指令集扩展、软件工具链适配和优化等关键任务仍然无法完全自动化。
最后,现有方法通常局限于单个任务,设计空间受限,缺乏跨阶段的软硬件协同设计,难以突破人为驱动设计的界限。
LLM 和智能体的发展为克服传统自动设计方法的三大关键局限性开辟了新的可能性。
首先,LLM 可以将非形式化的自然语言描述转换为形式化的编程语言,从而使其能够根据自然语言规范自动生成从基本功能到完整程序等各种任务的正确代码。其次,基于 LLM 构建的智能体可以自主规划和执行复杂任务,并能够独立使用外部工具。这种能力为人工智能技术与领域特定工具的集成提供了一种新颖的方法,为实现全自动处理器芯片设计开辟了新的视角。最后,LLM 拥有强大的多任务处理能力,在完成复杂的规划和推理任务方面展现出巨大的潜力,这为实现软硬件设计中的跨阶段协作奠定了基础。
基于以上分析,我们提出了QiMeng,一个用于处理器芯片全自动软硬件设计的创新范例。QiMeng由三层结构组成,如图1所示。底层是LPCM,它将领域专业知识嵌入到处理器芯片设计领域。中间层是硬件设计代理和软件设计代理,它们利用LPCM的领域知识实现软硬件的自动化设计。顶层专注于实现各种应用程序,这些应用程序利用硬件设计代理和软件设计代理提供的自动化设计功能来满足处理器芯片的不同设计需求。这三层协同工作,形成一个完整的处理器芯片全自动软硬件设计系统。
然而,QiMeng 的实现并非一蹴而就。三个层级各自面临挑战,难以自下而上地直接构建完整的 QiMeng 系统。具体而言,底层 LPCM 的实现需要大量处理器芯片软硬件设计领域的专业数据。然而,这些领域数据极其匮乏,阻碍了 LPCM 的训练。在中间层,软硬件设计代理的开发依赖于 LPCM 提供的领域知识,同时还需要集成用于验证正确性和评估性能的专用工具。在顶层,各种应用程序的实现依赖于 LPCM 和两个代理。尽管存在这些挑战,但这三个层级仍然保持着高度的相互依赖性,并可以相互促进。顶层的各种应用程序可以为 LPCM 提供宝贵的领域数据,并有助于使用专用工具对软硬件设计代理进行功能验证和性能评估。此外,软硬件设计Agent实现了LPCM与专用工具之间完整交互流程的构建,为LPCM提供了数据自动生成机制,通过三个层次的协同作用,有效解决各层次面临的挑战。
虽然QiMeng最初是采用自下而上的方式设计的,但在实际实现过程中,采用自上而下的方式更容易。在以实现各种硬件和软件设计为目标的驱动下,顶层应用程序的实现可以为LPCM提供丰富的合成领域专用数据,同时也能提供与专用工具协同设计软硬件设计代理的设计经验。
基于以上分析,我们提出了一个分三阶段实现完整QiMeng系统的路线图。
第一阶段采用自上而下的构建方法,基于LPCM开发各种应用程序,并以通用LLM作为初始化。在应用程序的实现过程中,构建软硬件设计Agent的关键组件和功能,并将它们组合起来,建立两个Agent的完整流程。同时,整合大量的软硬件设计领域专业数据用于训练LPCM,使LPCM获得优于通用LLM的领域知识。
第二阶段采用自下而上的构建方法,基于训练好的LPCM重构软硬件设计Agent,并重新开发各种应用程序。由于LPCM增强了领域知识和专业能力,第二阶段重新开发的应用程序将比第一阶段获得更好的自动化设计效果。在此基础上,基于第二阶段的应用程序可以获得更高质量的软硬件设计数据。
第三阶段是将自上而下和自下而上的设计流程结合起来,形成一个迭代循环。受约翰·冯·诺依曼的“Theory of Self-Replicating Automata”的启发,我们希望通过这样的循环,实现QiMeng的自我进化。在进化的过程中,一方面,我们致力于拓展QiMeng的深度,不断提升其面向处理器芯片的全自动化软硬件设计能力;另一方面,我们致力于拓展QiMeng的广度,不断拓展其应用范围,为更广泛的处理器芯片设计场景提供智能化支持。
目前的工作仍处于三阶段方法的第一阶段。迄今为止,已成功实现了包括自动化前端设计、自动化 HDL 生成、自动化 OS 配置优化、自动化编译器工具链设计、自动化张量程序转译器以及自动化高性能库生成在内的代表性应用。这些应用实现了软硬件设计代理的一些关键组件。
在未来的工作中,我们将完成第一阶段,将这些关键组件集成到一个完整的软硬件设计代理中,并自动生成大量领域专用数据来训练 LPCM。之后,我们将进行第二阶段和第三阶段,以构建一个完整的 QiMeng 系统。
大型处理器芯片模型
图2:左图:LPCM 的多模态架构,能够理解、表示和生成文本和图形数据。右图:LPCM 的反馈驱动推理,采用双循环机制,由外部性能反馈循环和内部功能正确性反馈循环组成。
由于处理器芯片设计的独特性,必须解决四个关键挑战:知识表示差距、数据稀缺、正确性保证以及巨大的解决方案空间。为了应对这些挑战,QiMeng 开发的 LPCM 在架构、训练和推理方面采用了独特的方法,使其有别于通用的 LLM。本节将详细讨论这些创新。
值得注意的是,设计一个全面的LPCM芯片本身就带来了巨大的挑战,因为它需要从基础软件开发到芯片设计的专业知识和能力。我们之前的工作研究了LPCM的构建,将流程分为三个层次:)以人为中心(Human-Centric),辅助人类进行代码生成和参数调优并提供建议;2)代理编排(Agent-Orchestrated),通过工具链集成独立完成部分子任务,以促进跨层优化;3)模型治理(Model-Governed),实现软硬件协同设计、仿真和迭代改进全过程的完全自动化。本文特别关注第三层的设计方法论。
A.多模态结构
由于文本通常以顺序数据的形式组织,因此大多数现有的 LLM 架构主要侧重于处理顺序信息。即使在处理图像或其他模态数据的多模态 LLM 中,多模态特征也被视为一种特殊的序列类型,并在输入模型之前与文本序列连接起来。然而,在处理器芯片设计领域,除了功能需求的文本描述和正式的代码表示之外,许多关键信息和知识都以图形插图的形式呈现。例如,软件架构通常表示为抽象语法树 (AST),芯片逻辑架构表示为数据图 (DFG),芯片电路架构表示为组合图 (CFG)。这些图形数据对于处理器芯片设计至关重要。因此,LPCM 被专门设计为一种多模态架构,能够理解、表示和生成图形数据,从而更有效地学习和呈现处理器芯片领域的知识,如图2左图所示。
具体来说,LPCM 的输入包含两种形式:需求规范的文本描述和图形说明。理解和表示图数据有两个关键问题:特征表示和特征对齐。一种简单的方法是将图数据表示为特殊的文本格式,并将其与文本标记连接起来,然后再输入模型。然而,这种方法会序列化图的拓扑结构,可能导致图中拓扑结构接近的节点在序列中位置相距较远,从而丢失图数据的拓扑信息。为了更好地保留图的拓扑信息,图神经网络 (GNN) 可用于编码图数据并生成其嵌入。然后,可以应用对比学习将图嵌入的特征与相应的文本嵌入对齐。一旦实现特征对齐,图嵌入就会与其他文本标记连接起来,并输入到 LPCM 中。
B.跨阶段协作训练
为了实现处理器芯片的全流程自动化设计,收集用于训练LPCM的跨阶段设计数据至关重要。然而,处理器芯片领域面临着严重的数据匮乏问题。与互联网上PB级的文本语料库相比,GitHub等开源社区提供的软硬件代码数据通常只有TB级。而且,这些数据通常仅涵盖处理器芯片设计流程中的特定阶段。因此,包含多个设计抽象阶段的跨阶段设计数据严重匮乏。这种数据匮乏的挑战对LPCM的有效训练构成了重大障碍。因此,开发一个跨阶段协同设计数据库,为LPCM的训练提供必要的基础至关重要。
为了构建跨阶段协同设计数据库,需要建立跨阶段设计数据的自动化生成流程。对于处理器芯片设计的多个抽象阶段,包括高性能库设计、操作系统内核设计、编译器工具链设计、逻辑设计、电路设计和物理设计,首先需要分别收集每个阶段的设计数据。这些数据只需捕捉各个阶段的信息,无需进行跨阶段对齐。高层信息更接近自然语言,包含更丰富的语义内容,而低层信息则更接近芯片的实际图形表示。因此,每个阶段的数据必须同时包含文本和图形模态。这些单阶段设计数据随后用于训练模型,从而为每个阶段生成自动化设计模型。通过将这些模型级联在一起,可以自动生成大规模、跨阶段对齐的处理器芯片软硬件设计数据,以应对数据稀缺的挑战。
构建跨阶段协同设计数据库后,我们便可以训练LPCM,使其具备生成跨阶段协同设计推理的能力。这可以通过基于数据库应用思维链(CoT)模仿学习来实现。在此过程中,跨阶段协同设计数据集中来自处理器芯片设计多个阶段的设计数据被视为推理序列,生成多个(输入、CoT、输出)三元组,用于训练LPCM的CoT推理。为了增强LPCM对中间阶段设计细节的理解,在训练目标中引入了分布对齐损失。为了确保训练的稳定性,可以采用课程学习策略,从CoT较短、设计复杂度较低的样本开始,逐步增加样本的复杂度。基于这个全面的跨阶段协同设计数据库进行训练,将使处理器模型获得生成协同设计流程和最终设计结果的能力。此外,将采用自动化单元测试框架来创建奖励函数,并应用 RL 方法进一步完善 LPCM 的 CoT 生成并提高其处理器芯片设计能力。
LPCM 的输出也包含两种模态:文本和图形。文本模态包括处理器芯片设计的软件和硬件代码,而图形模态包括生成的图表,例如软件架构图、芯片电路图和芯片布局图。图形的生成过程与其表示密切相关。如果图形数据直接用特殊的文本格式表示,LPCM 也可以直接以这种格式输出图形。然而,这种表示方法可能会丢失拓扑信息,从而影响生成图形的准确性。为了更好地保留图形的拓扑信息,LPCM 可以首先输出图形的嵌入,然后使用专门的图形生成模型(例如 GRAPHARM 等扩散模型)将其映射到图形结构14或像 GPT-GNN 这样的生成式 GNN 15为了更准确地反映电路的特性,可以采用电路设计中常用的二元决策图(BDD)。此外,二元推测图(BSD )是用于电路生成的 BDD 的增强版本,也可用于为自动化处理器芯片设计提供更好的适用性。
C.反馈驱动推理
虽然LPCM具备处理图信息的领域专业知识和跨阶段协同设计的能力,但上下文长度限制和幻觉等挑战阻碍了LPCM实现无缝的端到端处理器芯片设计以及基础软件的适配和优化。为了确保生成的处理器芯片软硬件的正确性和高性能,必须开发一种反馈驱动的LPCM推理机制,以促进有效的设计规划、利用外部功能验证工具并通过反馈优化性能。具体而言,反馈驱动的推理可以分为两类:功能正确性反馈和性能反馈,如图2右所示。LPCM通过双循环机制执行这两个反馈,包括外部性能反馈循环和内部功能正确性反馈循环。
· 功能正确性反馈
功能验证是确保手工设计的处理器芯片正确性的关键步骤。通过模拟各种用例和极端情况,该过程验证处理器指令集、数据路径、控制逻辑和多核协调等关键组件的功能。功能验证确保处理器芯片在流片前符合规范,避免因逻辑错误或功能缺陷而导致代价高昂的返工。功能验证贯穿处理器芯片设计的所有阶段,包括逻辑设计、电路设计和物理设计。在验证过程中,会采用形式验证、动态仿真和硬件仿真等技术。如果发现功能错误,专家会手动改进设计并进行迭代验证,直到设计完全达到功能正确性。
受此启发,为了在自动化处理器芯片设计过程中提高功能正确性,必须在LPCM推理中集成面向功能正确性的反馈机制。该功能正确性反馈机制利用验证反馈自动验证设计并进一步修复设计错误,确保设计结果的正确性,并解决正确性保证的挑战。
为了在推理中实现功能正确性反馈,在推理的中间步骤中集成了额外的自动验证和修复循环。具体而言,LPCM 在推理过程中会主动评估当前推理步骤是否需要自动验证。当需要自动验证时,LPCM 会利用适当的专用工具或模型来验证中间设计的功能。如果检测到功能错误,则会触发自动修复,这包括恢复到推理链中最后一个已验证的功能步骤,合并当前验证中的错误反馈,并重新生成当前步骤的设计。此验证和修复过程不断重复,直到获得功能正确的设计。通过这种迭代的功能正确性反馈循环,设计的正确性不断得到改进,最终使自动设计的处理器芯片的功能正确性接近 100%。
· 性能反馈
性能优化旨在提升已设计工艺芯片的PPA,在处理器芯片设计和基础软件适配中发挥着至关重要的作用。现有的自动化优化工具,例如深度学习编译器和DSE方法,通常依赖于专家设计的基于规则的优化方法或机器学习技术。虽然这些工具与手动调优相比显著减少了人力,但它们仍然存在覆盖范围窄、效率不理想以及跨领域可迁移性差等问题。为了增强自动化性能优化的能力,跨阶段协同设计至关重要。LPCM应该能够根据功能规范直接生成芯片版图。然而,直接使用处理器芯片的原始比特流输入来表达设计问题会导致维数灾难。例如,32位CPU的解空间可能会增长到10^10540。
为了应对巨大的解空间挑战,处理器芯片设计被划分为多个抽象阶段。在逻辑设计阶段,功能规范被转化为高级HDL(硬件描述语言)。在电路设计阶段,这些高级HDL被转换为门级网表。而在物理设计阶段,门级网表被转化为芯片版图。该工作流程遵循由粗到精的渐进式设计流程。每个阶段都会包含额外的实现细节,逐步引入更多约束,逐渐修剪包含最优解概率较低的解子空间,从而减小整体解空间的大小。受此启发,为了实现自动化性能优化,LPCM需要采用一种基于性能反馈引导的分层搜索推理机制。这涉及构建分层分解,基于领域知识和性能反馈对解空间进行修剪,从而有效降低解空间的维度。同时,通过利用 LLM 在推理过程中表现出的迭代推理和测试时间缩放 (TTS) 优势,可以有效地探索解决方案空间,解决巨大的解决方案空间挑战并提高自动化设计的性能。
处理器芯片设计代理
在LPCM的基础上,QiMeng开发了两个专门的代理:硬件设计代理和软件设计代理,实现了处理器芯片的全自动硬件/软件设计。
A.硬件设计代理
随着制造技术不断接近物理极限,传统的通过7纳米以下工艺制程提升芯片性能的方法已遭遇根本性局限。因此,设计重点需要从以制造为中心的改进转向设计方法的创新。为了突破处理器芯片制造技术的制约,有必要探索全自动硬件设计。这需要建立一个从功能规范到物理布局的无缝设计框架,突破传统的逻辑设计、电路设计和物理设计等多阶段设计层级,探索更广阔的跨阶段协作设计空间,从而获得更卓越的解决方案。自动化设计框架必须满足两个关键目标:1)功能正确性,确保自动设计的处理器芯片能够提供准确的计算结果;2)高性能,优化计算吞吐量、功耗和面积利用率等性能。
为了在推理中实现性能反馈,必须将高效的搜索技术融入推理过程,以便从广阔的解空间中获得高性能结果。具体而言,LPCM 可以根据目标硬件架构和软件特性生成不同的优化策略,从而构建一个搜索树,其中初始结果为根节点,中间节点和叶节点代表当前的优化结果。此外,通过预测中间节点的性能并利用来自实际部署测试的性能反馈,LPCM 可以修剪次优搜索分支,并基于当前最优搜索分支生成进一步的优化策略,直至达到固定的优化预算或达到性能提升饱和。通过性能反馈引导的基于树搜索的推理,可以逐步提升硬件和软件的性能,并根据特定场景进行定制。
图3:硬件设计代理的结构具有双循环反馈机制:基于性能优化的外部模块分解反馈循环和由自动验证和修复支持的内部模块生成反馈循环。
为了实现上述两个关键目标,硬件设计代理需要实现自动化的模块分解和模块生成。这使我们能够通过模块分解获得性能优化的细粒度设计方案,进而生成功能正确的模块,最终获得完全自动化的硬件设计结果。自动模块分解通过将处理器架构划分为功能独立且可验证的模块,旨在减少解空间并优化全局性能,从而解决硬件设计中巨大的解空间挑战。值得注意的是,存在多种有效的分解方案,这些方案满足功能规范,但性能差异很大。因此,建立性能驱动的分解机制以提升处理器芯片的PPA至关重要。分解完成后,模块生成将根据功能规范和所选的分解方案进行。随后,这些模块的集成将产生最终的硬件设计结果。在模块生成过程中,必须保证功能的正确性。为此,硬件设计代理将LPCM与符号方法协同结合,建立了自动化的验证和修复机制,以确保生成模块的功能正确性。具体来说,LPCM 能够将非正式的自然语言规范转换为正式的 HDL,从而满足各种应用需求。之后,使用基于 BSD 16自动验证并修复生成的模块,确保功能正确性。
基于LPCM,我们开发了一个硬件设计代理,以实现从高级规范开始的自动化处理器芯片设计。硬件设计代理具有双循环反馈机制:基于性能优化的外部模块分解反馈循环,以及由自动验证和修复赋能的内部模块生成反馈循环,如图3所示。外部循环通过模块分解解决巨大的解空间挑战,而内部循环通过自动验证和修复解决正确性保证挑战。
在实现过程中,外部循环以未分解的设计作为搜索树的根节点启动。在每次迭代中,LPCM根据功能规范、当前分解状态和积累的领域知识,提出并识别出有潜力带来性能提升的更细粒度分解候选方案作为子节点。也就是说,在可用的分解方案中,性能欠佳的节点将被丢弃,从而同时降低解空间维度和计算复杂度。此迭代过程构建了一个模块分解搜索树,其中的叶节点对应于完整的分解方案。每个叶节点的最终性能评估将外部模块分解方案与内部已验证的模块整合在一起,从而实现基于回溯的模块分解方案优化和搜索。
当前模块分解方案的评估结果将被添加到领域知识库中,以支持后续的模块分解。同时,在内循环中,LPCM 根据模块分解方案提取目标模块对应的功能规范,并生成相应的 HDL。然而,初始生成的 HDL 可能存在功能错误。
为了解决这个问题,需要基于 LPCM 推理中功能正确性反馈的能力来验证和修复生成的模块。具体而言,首先将目标模块的 HDL 转换为 BSD 表示,并从真值表中采样一组输入输出对进行基于仿真的验证。当出现差异时,错误的 BSD 节点会进行香农展开,从而实现自动纠错。每个修复周期都会单调增加 BSD 的功能准确度。通过反复的验证修复迭代,BSD 渐近接近 100% 的正确性,最终产生经过验证的模块设计。
B.软件设计代理
图4:软件设计代理的结构采用双循环反馈机制:外循环通过 LLM 引导的搜索关注性能优化反馈,内循环通过自动验证和修复管理功能适应反馈
基础软件在构建处理器芯片的全面技术生态系统中发挥着关键作用,是芯片成功商业化和广泛应用的决定性因素。然而,调整和优化此类软件面临着巨大的挑战,尤其是在当前指令集架构碎片化和软件生态系统多样化的背景下。RISC-V ISA 就体现了这一挑战,其开放和模块化的设计虽然提供了前所未有的灵活性,但同时也带来了比 x86/ARM 架构高出几个数量级的复杂性。它拥有近 100 种可选的指令扩展,包括向量扩展、矩阵扩展和密码扩展,组合数量呈指数级增长,而每种变体都需要在整个软件堆栈中进行细致的兼容性验证。
例如,openEuler OS包含超过 10,000 个存储库,其中包含 400 万个文件,所有文件都需要针对不同的 RISC-V 指令组合进行详尽验证。这种组合激增使得传统的手动开发方法变得不切实际,并凸显了两大根本挑战:1) 实现全面的功能适配,以确保跨不同指令集的软件稳定性;2) 进行深度性能优化,以充分利用硬件功能。
为了应对在特定处理器上开发基础软件生态系统的这些挑战,必须实现由人工智能驱动的自动化方法,以实现基础软件的功能适配和性能优化。功能适配问题可以抽象为“程序生成”任务,其中代理将源代码/平台转换为目标代码/平台。典型的应用包括自动编译器工具链设计和自动张量程序转译器。该方法的关键在于协同结合神经方法和符号方法:LLM 通过元提示处理高级程序骨架生成以实现灵活性,而基于 SMT 的程序综合则通过纠正低级实现错误来确保正确性。
基础软件的性能优化问题可以抽象为一个“搜索”问题,其目标是高效探索巨大的优化原语和参数组合空间,以找到最优配置。典型的应用包括高性能运算符库的自动生成和操作系统配置优化。LLM 可以通过精心设计的元提示(对硬件特性和优化原语进行编码)利用其上下文学习能力来有效地指导这种搜索,然后有效地修剪搜索空间以发现针对特定硬件-软件组合定制的最佳实现。
按照这种方法,我们开发了基于LPCM的软件设计代理,如图 4所示。软件设计代理采用双循环反馈机制,外循环通过LLM引导的搜索进行性能优化反馈,内循环通过自动验证和修复管理功能自适应反馈。这个过程最终可以将原始代码库转变为一个既可调整又可优化的代码库,以增强基础软件生态系统。需要注意的是,外循环通过分层分解和优化反馈解决了巨大的解空间挑战,而内循环通过自动验证和修复解决了正确性保证挑战。
具体而言,在外部性能优化反馈循环中,原始代码被用作蒙特卡洛树搜索的起点。然后,来自 LLM 的领域专家知识帮助评估搜索树,修剪低效分支,并选择具有潜在性能提升的分支。最后根据性能测量对树进行细化,形成迭代的“观察-修剪-优化-评估”循环,直到达到所需的优化结果。在内部功能自适应反馈循环中,我们利用 LLM 的 TTS 进行程序采样以生成多样化的程序草图,然后对高质量草图进行单元测试和执行跟踪分析,以识别最少的错误片段。然后使用基于求解器的程序综合(例如 Z3 ,针对原始实现,迭代“生成-验证-修复”循环,直到实现功能等价。
应用
QiMeng基于LPCM和软硬件设计代理,开发了一系列创新的自动化设计应用,以满足各种软硬件设计需求。这些应用通过策略性地应用软硬件设计代理的特定组件,实现了处理器芯片的软硬件自动化设计,有效地解决了实际应用需求。
图5:在 ARM 官方 CPU 基准测试 Dhrystone 上,QiMeng-CPU 系列(蓝色)与人工设计的商用 CPU(灰色)的性能对比。结果显示,QiMeng-CPU-v1 的性能与 Intel 486(20 世纪 90 年代的 CPU)相当,而 QiMeng-CPU-v2 的性能与 Arm Cortex A53(2010 年代的 CPU)相当。
A.自动化前端设计
自 20 世纪 50 年代以来,通用计算机 CPU 的自动化设计一直是一项关键的研究挑战,引起了图灵和丘奇等人工智能先驱的关注。随着人工智能技术的进步,决策树等各种方法, 大模型,以及 RL 已被尝试用于自动化电路设计。然而,由于缺乏明确定义的电路形式化表示,现有方法的精度受到限制,导致当前方法只能处理大约数千门的电路,而无法保证更大规模电路的准确性。
为了实现大规模处理器和芯片的自动化设计,我们在硬件设计代理中采用了基于自动验证和修复的模块生成反馈回路来确保功能正确性,同时采用二进制推测图(BSD:Binary Speculation Diagrams)作为电路的图形表示。BSD 展现出组合逻辑电路的两个关键特性:1)设计精度随设计节点数量的增加单调提升;2)精度随数据采样次数的增加渐近收敛到 100%。该实现基于自动验证和修复反馈,使用随机生成的 BSD 进行初始化,并在模拟器中迭代验证当前 BSD。当检测到错误时,通过香农展开式修复相应的 BSD 节点,从而单调提升 BSD 的功能精度。通过迭代循环自动验证和修复步骤,功能精度逐步收敛到 100%。应用该方法,32 位 RISC-V CPU 的整个前端设计在 5 小时内自动完成,生成了 QiMeng-CPU-v1(也称为 Enlightenment-1),这是世界上第一个完全自动化设计的处理器内核16。如表一所示,QiMeng-CPU-V1约有400万门,比现有工作规模更大,超过1700×,并达到了工业规模。QiMeng-CPU-v1 于 2021 年完成流片,其计算性能可与英特尔 20 世纪 90 年代的 486 处理器相媲美,如图5所示。
此外,我们利用硬件设计代理中基于性能优化的模块分解反馈回路来提升自动化前端设计的性能。在自动化流水线设计中,我们利用门级依赖性分析来探索流水线模块的分解策略,从而找到更高效的细粒度门级流水线划分方案。随后,我们实现了门级流水线控制器,以促进门级短路径转发。最后,我们利用BSD将分解后的流水线模块综合成电路。最终的门级流水线平均性能提升了1.57倍,吞吐量比手动设计的同类产品高出 37% 。
同时,在超标量处理器的自动化设计中,我们采用模拟退火算法来搜索可预测的处理器状态,从而实现指令级模块分解。之后,我们设计了一种状态二进制推测图 (S-BSD) 架构,通过预测指令间数据依赖关系来生成指令模块,从而实现指令级并行并提升处理器性能。基于此方法,我们开发了全球首个自动化设计的超标量 CPU——QiMeng-CPU-v2,比单周期前代QiMeng-CPU-v1(Enlightenment-1)有显著加速(约有 380×),且与ARM Cortex A53的性能相当,如表一和图五所示。
值得注意的是,QiMeng-CPU-v1 的设计采用随机电路初始化,并利用了硬件设计代理中基于自动验证和修复的模块生成反馈回路;而 QiMeng-CPU-v2 则进行了扩展,进一步集成了硬件设计代理中基于性能优化的模块分解反馈回路。然而,目前两者均未使用 LPCM 进行运行。在后续研究中,我们计划将基于 LPCM 的 HDL 自动生成方法(见第VB节介绍)与 QiMeng-CPU-v1 中的验证-修复引导模块生成回路以及 QiMeng-CPU-v2 中的性能引导模块分解回路相结合,最终构建完整的硬件设计代理。
B.自动 HDL 生成
HDL 在处理器芯片设计中发挥着关键作用,它能够创建寄存器传输级 (RTL) 代码,将自然语言规范与可制造的芯片布局连接起来。作为功能、性能、能效和生产成本的关键决定因素,HDL 的实现目前占据了芯片开发周期的 70% 以上,这凸显了对自动化解决方案的迫切需求。
LLM 在软件工程领域展现出了革命性的潜力,例如 GitHub Copilot 的效率提升了 55% ,但它们在 HDL 生成中的应用仍然不是最优的,因为存在两个挑战:1)数据稀缺:公共代码数据集包含 42×Verilog 样本(1.91M)比 Python 代码(80.6M)少。此外,软件领域几乎没有像 LeetCode 或 Codeforces 这样的专注于 HDL 的竞赛数据集;2)语义差异:HDL 需要精确的低级控制,例如信号位宽管理,这在规范和实现之间造成了显著的抽象差距。
为了应对上述挑战,我们提出了一种基于多级汇总的数据合成方法,并使用合成数据对通用 LLM 进行微调,以开发一系列 HDL 代码生成模型,称为 CodeV 。CodeV 实现了硬件设计代理的模块生成组件,该组件利用 LPCM 进行硬件设计。具体而言,基于“将代码概括为自然语言比从自然语言生成代码更容易、更直接”的理念,我们开发了一种渐进式抽象技术,将现有的 HDL 代码转换为高质量的自然语言代码对,从而有效地弥合了 HDL 语义鸿沟。如表 II所示,此过程产生了 18 万个优化训练样本,使 CodeV-Verilog 在 VerilogEval-Machine 上实现了 80.1% 的 pass@1 ,超越此前 SOTA 开源模型 RTLCoder。。
基于CodeV,我们做了两个关键的扩展:
1) 为了更好地契合实际开发流程,我们通过 Chat-FIM-Tag 监督微调方法,将 CodeV-Verilog 扩展为 CodeV-All。CodeV-All 不仅支持更广泛的语言(包括 Verilog 和 Chisel),以及更广泛的任务集(例如 Chat 和填入中间词 (FIM)),而且在 VerilogEval 上的性能也匹敌甚至超越了仅基于 Verilog 进行微调的 CodeV-Verilog(如表 二所示)。这使得 CodeV 系列成为首批专为多场景 HDL 生成而设计的开源 LLM 系列。
2) 受到数学和软件编码任务中展示的推理能力的启发,我们提出了几项创新:基于规则的测试平台生成器,可根据黄金参考验证预测代码;往返数据合成方法,仅使用源代码片段作为输入即可生成高质量的自然语言代码对;自适应 DAPO,DAPO 的快速版本,根据过去的样本丢弃率动态调整每步的样本数量。这些组件被集成到一个“先提取后强化学习”的两阶段训练流水线中,以开发 CodeV-R1,一个具有推理增强功能的 Verilog 生成 LLM,具有思考能力和测试时间扩展能力。如表 三所示,CodeV-R1 在 VerilogEval v2 和 RTLLM v2 上分别实现了 68.6% 和 72.9% 的 pass@1 率,比之前最先进的模型高出 12% 到 21%,并且匹敌甚至超过了 671B 的 DeepSeek-R1 的性能。
C.自动操作系统配置优化
操作系统(OS)是连接处理器和上层软件的重要桥梁,在最大限度地发挥处理器芯片性能方面发挥着至关重要的作用。Linux 是一个广泛使用的开源操作系统,旨在满足不同应用场景和处理器的多样化需求,它由来自世界各地的开发人员贡献了超过 2000 万行代码,是迄今为止最复杂的软件项目之一。如此庞大的代码库提供了巨大的优化空间,迫切需要针对特定的处理器和应用场景定制或优化操作系统,以充分释放整个计算机系统的潜力。
然而,定制或优化操作系统面临三大挑战。首先,这项任务的复杂性极高。即使只是优化操作系统内核,也涉及超过 15,000 个相互依赖的配置选项,这超出了传统优化方法的能力。其次,评估每个配置的成本很高,因为编译、安装和测试操作系统可能需要 1 到 2 个小时 ,这限制了神经网络等数据驱动方法的可行性。第三,优化过程高度敏感,即使是一个很小的错误也可能导致操作系统无法正常启动,并使调试变得极其困难。
为了应对这些挑战,我们利用软件设计代理的 LLM 引导性能反馈循环来开发自动化操作系统配置优化方法 AutoOS,它可以在无需人工干预的情况下生成优化的内核配置,并超越硬件供应商手动优化所达到的性能。为了实现这一点,我们引入了一个“观察-修剪-提出-行动-纠正”的反馈循环,它利用嵌入在 LLM 中的先验知识来消除对性能优化没有贡献并且可能导致启动问题的不相关配置选项,从而显着减少定制的搜索空间。只需几次搜索迭代(大约一天),该方法就可以自动生成定制优化的操作系统内核配置。与手动专家优化相比,此方法可以将性能提高多达 25.6%,如表 IV所示。
D.自动编译器工具链设计
现代处理器的编译器负责两项基本任务:1)准确高效地翻译与处理器指令集对应的精确且无歧义的编程语言,即翻译;2)在广阔的高维优化空间中构建编译优化序列,即优化。目前,编译器中的人工智能技术主要集中于改进现有编译器框架高维空间中的优化序列,也称为“相位排序问题”。然而,他们难以生成一个能够同时处理处理器这两项基本任务的端到端编译器。
为了实现创建能够同时执行翻译和优化任务的端到端编译器的长期目标,我们探索了基于软件设计代理的自动化编译器工具链设计方法,并研究了两种不同的方法:
(1) 自动生成编译器后端代码。基于 LLVM 等现有架构,我们构建了编译器后端数据集 ComBack 并对 LLM 进行微调,以改进和充分利用 LLM 对编译器后端代码的理解能力 VEGA 。最终,我们成功生成了针对特定处理器定制的编译器后端代码,准确率超过 70%,并通过明确的置信度得分突出显示了关键区域,几乎无需进行手动优化。这种方法有望彻底改变传统的后端开发工作流程。
(2) 使用 LLM 作为端到端编译器。我们发现编译器的翻译任务与自然语言翻译有着显著的相似之处,而自然语言翻译正是 LLM 的优势所在。这表明 LLM 有潜力彻底改变编译器的构造,使其能够真正充当编译器的角色。然而,由于自然语言本质上具有歧义性,而编程语言则具有由语法定义的精确语义,因此直接将 LLM 应用于翻译任务会导致结果不理想。例如,使用 GPT-4 将 C 语言翻译成 RISC-V 汇编语言的准确率低于 50%,复杂函数的性能接近于零。
因此,我们提出了一种端到端神经编译器方法基于软件设计代理。该方法结合了编程语言的语法信息和编译器领域知识,以指导专用 LLM 的生成。一方面,我们使用由编译器专业知识指导的数据增强技术来创建高质量数据集,从而对 LLM 进行微调。另一方面,我们在推理阶段利用程序的语法信息,为特定翻译任务定制 LLM。这种组合使我们在 ExeBench 上实现了 C 语言翻译超过 99% 的准确率。数据集并成功从 AnsiBench 等真实数据集编译代码和 CoreMark ,证实了该方法的可行性。展望未来,我们将继续改进如何提升基于LPCM直接用作端到端编译器的软件设计代理的性能。
E.自动张量程序转译器
当代的 LLM,包括 GPT 和 DeepSeek 等著名示例,都表现出对 NVIDIA CUDA 生态系统的深度依赖。这种依赖既包括供应商提供的库,例如 cuBLAS ,cuDNN ,TensorRT,以及社区开发的内核,如 FlashAttention-v1、FlashAttention-v2、FlashAttention-v3. 就连国内开源的LLM DeepSeek 还开发了像 FlashMLA 这样的定制加速库和DeepGEMM 适用于 NVIDIA GPU。然而,国产 AI 芯片的软件生态系统面临严重的碎片化问题,因为不同的芯片制造商各自开发独立的算子库。这使得国产 AI 芯片的软件生态系统难以统一,阻碍了其大规模普及。
为了应对这一挑战,我们开发了一个自动张量程序转编译器,QiMeng-Xpiler ,基于软件设计代理,实现跨不同 AI 芯片(包括 NVIDIA GPU 和国产 AI 芯片)的“一次编写,随处运行”。其关键在于,程序翻译过程基于函数自适应反馈回路自动进行一系列神经符号转换,其中 LLM 生成高级程序草图,并通过小规模符号综合修复错误的代码细节。
同时,通过基于性能优化反馈回路的分层自动调整来识别最佳转换过程。具体而言,我们结合了跨通道蒙特卡洛树搜索,以实现最佳转换排序和基于约束的通道内自动调整关键调整参数,例如内存平铺配置。最终,我们的解决方案能够跨 Nvidia GPU、寒武纪 MLU、AMD MI加速器、英特尔 DLBoost ,以及像 SIMT、SIMD 这样的编程模型等各种处理器实现自动化张量程序转译器。在 LLM 等实际应用中,对这些模型跨不同的处理器进行实验证明,QiMeng-Xpiler 可以正确翻译不同的张量程序,平均准确率为 95%,如表 V所示。
F.自动化高性能库生成
领先的硬件供应商,例如 NVIDIA、ARM、Intel、AMD 和 Cambricon,都在手动优化库方面投入巨资,以最大限度地提升其处理器的性能。这些专家精心打造的解决方案需要对微架构细节有深入的了解,需要对计算和内存操作进行细致的并行化,而这些通常需要使用特定于供应商的语言或汇编代码来实现。虽然这种手动优化模式能够提供卓越的性能,但它从根本上缺乏跨不同硬件架构的可扩展性和可移植性。
为了应对这些挑战,除了通过上述自动张量程序转编译器利用现有的软件生态系统外,我们还基于软件设计代理开创了一种名为 QiMeng-GEMM 的自动化方法,用于生成具有矩阵乘法(即 GEMM)的高性能库,由于其在 LLM 中的核心作用,因此深度学习和科学计算成为我们的主要目标。
我们提出的 QiMeng-GEMM 是第一个利用 LLM 自动生成高性能 GEMM 代码的方案。具体来说,我们抽象出了常见的 GEMM 优化方法和硬件架构特性,并为 LLM 创建了一组通用的元提示,用于生成高性能矩阵乘法运算符。这些元提示使 LLM 能够通过捕捉不同平台的架构特性来理解和实现优化目标。然后,我们将软件设计代理中的性能反馈回路与思维树(ToT:Tree of Thoughts)技术系统地探索优化原语组合。这使我们能够探索由元提示生成的所有可能的优化序列,从而能够生成针对不同硬件架构特性定制的高性能矩阵乘法算子。
进一步扩展我们基于 LLM 的自动化框架,我们提出了 QiMeng-TensorOp,这是首个利用 LLM 自动生成具有硬件原语的高性能张量算子的方法。我们开发了结构化的硬件固有优化提示和知识引导的工作流程,使 LLM 能够理解特定平台的架构和优化策略。为了优化生成的算子,我们设计了一种 LLM 引导的蒙特卡洛树搜索 (MCTS) 算法,该算法有效提升了在特定硬件上调优原语级张量算子的效率和性能。
我们进一步提出了 QiMeng-Attention,这是第一个用于跨平台注意力算子生成的硬件感知自动化框架。我们提出了一种 LLM 友好的思维语言 (LLM-TL),帮助 LLM 解耦高级优化逻辑的生成和 GPU 上的低级实现,并增强 LLM 对注意力算子的理解。结合两阶段推理工作流程、TL 代码生成和翻译,LLM 可以在不同的 GPU 上自动生成 FlashAttention 实现,从而为在以注意力为中心的算法中生成高性能注意力算子建立了一个自优化范式。
我们已经在玄铁C910开发板、MuseBook (K1) ,ARM A76 和 NVIDIA GPU(RTX 4070 87、RTX 8000 ,T4 和A100等不同平台上验证了这些方法,见表六、表七和表八。在RISC-V平台上,QiMeng-GEMM和QiMeng-TensorOp生成的高性能矩阵乘法算子分别可以达到OpenBLAS性能的211%和251%。在NVIDIA平台上,它们分别可以达到cuBLAS性能的115%和124%。
与传统的LLM快速方法相比,我们的方法显著提高了生成代码的性能,提高了开发效率。为了验证Qimeng-Attention的性能,我们在各种NVIDIA硬件架构上进行了实验。在NVIDIA T4平台和NVIDIA RTX8000平台上,Qimeng-Attention生成的高性能注意算子与所有四种实现相比始终具有优异的性能指标。
以上为大部分翻译,仅供参考。感谢本文作者,另外,可以点击后文的“阅读原文”,以查看英文原文。
*免责声明:本文由作者原创。文章内容系作者个人观点,半导体行业观察转载仅为了传达一种不同的观点,不代表半导体行业观察对该观点赞同或支持,如果有任何异议,欢迎联系半导体行业观察。
今天是《半导体行业观察》为您分享的第4063期内容,欢迎关注。
加星标⭐️第一时间看推送,小号防走丢
求推荐
大众证券报
2025-06-13
半导体行业观察
2025-06-13
半导体行业观察
2025-06-13
半导体行业观察
2025-06-13
半导体行业观察
2025-06-13
半导体行业观察
2025-06-13
证券之星资讯
2025-06-13
证券之星资讯
2025-06-13
证券之星资讯
2025-06-13