有过深度学习项目实践经验的同学会有类似的需求:以当前热门的大模型为例,我们可能会使用昇思MindSpore AI框架在昇腾AI处理器上训练Llama2神经网络来解决自然语言处理任务。在这种情况下我们可以使用CANN软件栈中的函数来完成网络训练在昇腾AI处理器上的部署及加速。
然而,很多时候模型的训练和推理工作不一定会在同样的平台进行,最终我们可能需要把模型部署到CPU甚至手机上去,此时需要其他硬件及其架构的支持。开发者们往往会根据实际情况选择各种各样的深度学习顶层框架训练模型,例如昇思MindSpore等,再把训练好的模型部署到各种各样的设备后端上,除了刚才提到的昇腾AI处理器外还包括GPU、CPU、FPGA及其它新型的AI加速器。
考虑到不同硬件设备的特性千差万别、现有算子库中算子包含范围不同、新型加速器算子库支持不足、非常规的神经网络中存在不常见的layer等等情况,开发者要完成手写算子并保证性能,学习成本和时间成本都变得很高,所以图算融合编译技术的出现变得非常有必要。
AKG是Auto Kernel Generator的简称,在昇思MindSpore框架中担任图算融合编译加速的任务。AKG基于polyhedral多面体编译技术,可自动生成满足并行性与数据局部性的调度,目前能够支持NPU/GPU/CPU等硬件。
昇思MindSpore自2020年开源以来不断发展,我们希望让更多的人尝试AKG解决自己的业务问题,也希望卷入广大企业用户共同进行软件迭代。此外,我们希望把AKG推向更多的开发者,基于AKG进行最新的AI编译技术的实践和落地工作。AKG也可以依托社区的实践进行自身的技术迭代。
在此背景下,MindSpore AKG SIG(特别兴趣小组)正式成立,并面向开源社区招募志同道合的伙伴。
1 MindSpore AKG SIG简介
本SIG着眼于昇思MindSpore AKG,充分利用MindSpore AKG在图算融合编译领域的技术沉淀,持续完善软件功能,拓展社区生态,为广大科研人员,老师和学生提供高效易用的图算融合编译器的同时,为这个领域中,有着强大影响力和浓厚的兴趣的人们提供一个能够共同交流合作的平台。
2 MindSpore AKG SIG使命
持续引进业界先进算子编译技术,帮助MindSpore AKG的进行功能迭代,打造业界领先的算子编译器。
当前小组的重点工作方向包括:
01、持续学习业界先进算子编译技术:
依托开源社区,通过技术分享和交流,学习、了解和吸收最新的算子编译技术。
02、MindSpore AKG的功能迭代:
针对来自内外的业务需求,依托业界先进技术,进行MindSpore AKG的功能迭代。
3 MindSpore AKG SIG工作计划
以成员学术交流活动为主,为MindSpore AKG演进和功能完善提供参考。
活动组织
每年小组都会组织一场大型活动与数场小型活动,其中包括固定每个季度组织一场校园行活动、每年固定举办大型暑期学校活动,邀请组内的核心专家老师准备多个主题进行多天的授课。小组老师将带领成员进行科技调研以及代码仓功能扩展、bug修复等工作。成员也可自由使用MindSpore AKG软件来进行自己的课题研究和开发。
开源实习
小组会在社区内发布开源实习任务以及众智任务,以供学生和老师认领。当前我们安排的任务包括:
01、MindSpore AKG算子支持
MindSpore AKG MLIR已经支持主流模型中所有重要算子,但是随着网络的迭代和算法的改进,依然不断有新的算子出现。由于MindSpore AKG支持包括NPU、GPU、CPU在内的多硬件后端,我们规划了基于后端代码生成能力完成相关算子支持,包括:
-
对于新算子提供基于循环和数学表达式的表达。
-
对于融合算子提供以已有算子拼接的展开表达。
02、MindSpore AKG后端支持迭代
-
由于MindSpore AKG支持包括NPU、GPU和CPU在内的多后端,但是随着包括MLIR社区版本的迭代和硬件的更新,我们计划对于后端代码生成能力进行持续更新。
-
随着更多AI芯片的涌现,我们希望添加更多后端的代码生成能力。
4 MindSpore AKG SIG构成
小组领衔成员
赵捷,湖南大学信息科学与工程学院教授,华为MindSpore社区技术专家委员会委员。主要研究方向包括面向深度学习的编译系统、基于多面体模型的代码生成、数值程序分析优化等。以第一作者和通讯作者身份在系统软件、体系结构和编译器领域的顶级会议和期刊上发表多篇学术论文,包括ASE、CC、MICRO、MLSys、OSDI、PACT、PLDI、PPoPP、TACO、TOCS等,其中,2020年发表在MICRO会议上的论文获最佳论文提名,2023年发表在TOCS期刊上的论文是第四篇国内独立完成的工作。
小组成员
01、张任伟(@anyrenwei),SIG发起人,昇思MindSpore技术专家
02、叶子纯(@zichun_ye),SIG Lead与组织者,昇思MindSpore高级工程师
03、赵杰(@yaozhujia),SIG组织者与运营顾问,AI编译器资深专家
04、Leo(@zhanghanLeo),昇思MindSpore工程师
05、Xinkai(@di-xinkai),昇思MindSpore工程师
06、gent1e(@gent1ezzz),昇思MindSpore工程师
07、pudding,香港科技大学,AI编译器专家
08、蛋、,华南理工大学,AI编译器开发者
5 MindSpore AKG SIG召唤你
扫码加入MindSpore AKG SIG交流群
代码仓:
https://gitee.com/mindspore/akg
Sig仓:
https://gitee.com/mindspore/community/tree/master/sigs/akg
关于MindSpore SIG
昇思MindSpore社区欢迎业界专家、学术伙伴在社区成立特别兴趣小组(SIG),作为社区领域技术代言人,打造领域技术品牌,共建昇思MindSpore开源生态。
MindSpore SIG即MindSpore Special Interest Groups,即“昇思特别兴趣小组”,MindSpore社区成立个技术SIG的初衷是为该领域的专家、教授和学生提供一个开放交流的平台,通过会议分享、项目开发等活动促进技术交流、合作共赢,并使得SIG成员的影响力和技术能力得到提升。
如果你也想成立一个SIG
扫码添加小助手了解更多