多硬件跨框架的编译优化与模型代码生成技术研发

联系合作
新一代信息技术
成果单位: 北京百度网讯科技有限公司
合作方式: 技术许可
所处阶段: 中试
关键词: AI技术国产AI芯片深度学习多硬件平台插件式接入算子注册SYCL模型性能调优代码转化算子融合资源抽象接口转换代码解析
总得分 (满分100)
0
资本强度 (满分0)
该成果得分:0

核心问题

随着人工智能技术的迅猛发展,深度学习框架与硬件平台的适配问题日益凸显。国产硬件架构的多样性对深度学习框架的适配提出了严峻挑战,不同硬件平台间的性能差异和接口不兼容问题严重制约了AI技术的广泛应用。

解决方案

本课题通过四大技术成果解决上述问题:(1)基于飞桨框架的软硬件适配迁移技术:提出Plugin可解耦插件式硬件接入方案,构建标准化接口体系,实现框架升级与硬件迭代的物理隔离;升级管理接口和通信能力,增强类CUDA芯片的高性能计算能力;重构飞桨框架的硬件抽象层,形成统一接口规范。(2)基于SYCL统一编程模型的代码编译生成工具链:以SYCL作为统一中间媒介,研发代码自动生成与核函数运行调用插件,实现Host和Device两部分CINN IR的转译;研发SYCL-海光DCU和SYCL-寒武纪MLU虚拟指令编译后端插件,实现编译适配。(3)基于统一资源抽象的编译性能调优工具链:提出算子间融合和算子内自动调优相结合的并行优化策略,研发编译性能调优工具链,实现对国产处理器专用计算核心指令的可调参数自动搜索调优。(4)基于PaConvert的代码转化技术:扩展接口转换策略,构建框架代码相关的知识图谱,实现PyTorch到飞桨框架的高效迁移;构建基于AST的代码解析与转换体系,结合知识图谱实现源框架代码结构的深度理解和高效操作。

竞争优势

(1)效益显著:新方案显著降低了硬件厂商的集成成本,支持多款国产芯片的快速接入,保障了多硬件组合场景下的算子调度灵活性;算子内核复用率最高可达92%,大幅降低了硬件适配成本;PaConvert支持每分钟数万行代码的自动化转换,每千行代码人工修正量控制在20行以内,显著降低了模型迁移成本。(2)竞争优势突出:解决了CINN编译器针对多样化算力的“编程墙”问题,避免了重复为不同处理器芯片提供不同编程模型的代码生成和性能优化功能;实现了对显存、Kernel提交、同步等功能的高效管理;通过核函数间的算子融合和算子内线程融合,实现了高效数据复用,提高了缓存利用率。(3)创新性强:属于原始创新,提出了Plugin可解耦插件式硬件接入方案、算子间融合和算子内自动调优相结合的并行优化策略等创新技术;研发了基于SYCL统一编程模型的代码编译生成工具链和基于统一资源抽象的编译性能调优工具链等创新工具。

成果公开日期

20251208

所属产业领域

信息传输、软件和信息技术服务业

项目名称

国产化人工智能创新联合体

项目课题来源

北京市科学技术委员会;中关村科技园区管理委员会

摘要

随着人工智能技术的迅猛发展,深度学习框架与硬件平台的适配问题日益凸显。国产硬件架构的多样性对深度学习框架的适配提出了严峻挑战,不同硬件平台间的性能差异和接口不兼容问题严重制约了AI技术的广泛应用。为此,本课题“多硬件跨框架的编译优化与模型代码生成技术研发”应运而生,旨在通过技术创新解决深度学习框架与多硬件适配的难题,推动国产AI生态的繁荣发展。 (1)成果一:基于飞桨框架的软硬件适配迁移技术 本课题创新性地提出了Plugin可解耦插件式硬件接入方案,构建了覆盖设备管理层、算子适配层及图编译层的标准化接口体系。该方案通过分层解耦设计,将硬件接入流程拆解为设备注册、算子映射、图优化三个独立模块,实现了框架升级与硬件迭代的物理隔离。相较于传统Built-in方案,新方案显著降低了硬件厂商的集成成本,支持昆仑芯XPU、天数GPU、海光DCU、寒武纪MLU等多款国产芯片的快速接入,同时保障了多硬件组合场景下的算子调度灵活性。 针对国产AI芯片中类CUDA架构占比较高的现状,课题组在插件式适配方案基础上进行了全面升级。通过管理接口升级和通信能力增强,特别是分布式通信能力的提升,使XCCL对齐NCCL的各结构体和功能,显著增强了类CUDA芯片的高性能计算能力。新增的类CUDA算子注册机制采用“内核复用+单行注册”模式,以沐曦MXC系列芯片适配为例,在复用GPU算子内核的基础上,仅需一行代码即可完成算子内核注册,算子内核复用率最高可达92%,大幅降低了硬件适配成本。 课题系统重构了飞桨框架的硬件抽象层,形成设备管理、算子开发、子图接入、分布式通信四大核心模块的统一接口规范。通过对原有分散接口的系统性梳理与重构,独立划分出硬件适配层,实现了功能的清晰界定与高效协同运作。这一成果简化了硬件厂商的适配流程,降低了适配成本,为深度学习框架在多硬件平台上的高效稳定运行提供了坚实基础。 (2)成果二:基于SYCL统一编程模型的代码编译生成工具链 为解决CINN编译器针对多样化算力的“编程墙”问题,课题组研发了基于SYCL统一编程模型的代码编译生成工具链。该工具链以SYCL作为CINN编译器到各类国产处理器芯片的统一中间媒介,避免了重复为不同处理器芯片提供不同编程模型的代码生成和性能优化功能。通过CINN-SYCL代码自动生成与核函数运行调用插件,实现了Host和Device两部分CINN IR的转译,生成符合SYCL语义的源代码,并通过CINN运行时调用核函数执行。 针对不同国产处理器芯片,课题组研发了SYCL-海光DCU和SYCL-寒武纪MLU虚拟指令编译后端插件,分别实现了标量计算单元和Matrix Core计算单元的编译适配。通过编译工具链整合与运行时接口映射,将SYCL的统一运行时API映射到各芯片的运行时API,实现了对显存、Kernel提交、同步等功能的高效管理。 (3)成果三:基于统一资源抽象的编译性能调优工具链 为提升深度学习作业的整体并行效率,课题组提出了算子间融合和算子内自动调优相结合的并行优化策略。通过核函数间的算子融合和算子内线程融合,实现了高效数据复用,提高了缓存利用率。具体实现中,准备优化的算子组输出数据驻留在LLC上,并提前预取下一算子组的权重,避免了等待DRAM访问结果的时间。 课题组研发了基于统一资源抽象的编译性能调优工具链,实现了对国产处理器专用计算核心指令的可调参数自动搜索调优。通过建立特有搜索空间,结合代价模型和进化搜索算法,为神经网络的局部子图选出最佳候选配置,生成具有最佳配置和优化选项的SYCL核函数代码,显著提升了代码自动调优的性能上限。 (4)成果四:基于PaConvert的代码转化技术 针对跨框架深度学习模型部署领域的代码转换效率与精度保障问题,课题组研发了PaConvert代码转化技术。该技术扩展了300个接口转换策略,构建了框架代码相关的知识图谱,实现了PyTorch到飞桨框架的高效迁移。PaConvert支持每分钟数万行代码的自动化转换,每千行代码人工修正量控制在20行以内,显著降低了模型迁移成本。在30个典型模型(含10个超10B参数规模)的转换实践中,自动转换阶段精度损失控制在1%以内。 PaConvert技术通过构建基于AST的代码解析与转换体系,结合知识图谱实现了对源框架代码结构的深度理解和高效操作。通过枚举映射策略和基于方法特征分类的识别机制,确保了第三方接口和Tensor类方法转换的准确性和效率。同时,设计了转换单元测试和转换文档的增强工具,确保了转换后代码的完整性和正确性。

试试对话AI技术经理人
WENXIAOGUO
问小果
该成果有哪些相似成果?
该成果可能有哪些需求方?
该成果的市场前景如何?
北京百度网讯科技有限公司的相关成果还有哪些?