机器之心原创
作者:泽南
上周科技领域这场备受关注的大会,展示的都是前沿 AI 应用。
(资料图片)
利用神经网络求解,在中科院大连化学物理研究所,以前用超算也无法完成的水分子运动方程计算效率提高了 1000 倍。
通过跨模态统一表征学习,中科院自动化所和武汉人工智能研究院联合打造的「紫东太初」2.0,让大模型第一次进入了全模态时代,同时支持多轮问答、文本创作、图像生成、3D 理解、信号分析等任务。
在 6 月 16 日的人工智能框架生态峰会 2023 上,我们见证了科学和 AI 领域的一系列技术突破,这些进展的背后都是 AI 框架昇思 MindSpore 在提供支持。
人工智能的发展正在催生出前所未有的应用,AI 框架的重要性逐渐凸显,而在这个过程中,昇思已成为很多公司机构的 AI 基础设施。
在峰会现场,昇思生态的参与者们公布了围绕 AI 框架生态的一系列合作,包括但不限于:启动上海昇思 AI 框架和大模型创新中心、发布「共建人工智能框架生态,繁荣中国人工智能产业」联合倡议、成立昇思 MindSpore 开源社区理事会。
还有新技术和新方向,昇思的 2.0 正式版在易用性、生态兼容和 AI for Science 等方面有了里程碑式的提升。
其中最引人关注的,是事关 AI 算力的重要一步:走南向。
实现「多芯一生态」
我们知道,AI 框架在人工智能技术构建的流程中承担着「操作系统」一样的关键角色。它集成了算法封装、数据处理、计算资源调用等能力,面向开发者提供方便的开发界面和高效的执行平台,是现阶段 AI 算法开发的必备工具。
昇思 MindSpore 在机器学习开发的过程中起到上承应用、下接芯片的桥梁意义。
为了持续拓展连接的广度,AI 框架需要向两个方向不断延伸:「南向」为 AI 芯片算力带来标准化,「北向」与开发者和算法厂商开展技术联创,围绕场景创新、重要需求创造更多可能性。
在生态峰会上,昇思宣布了「南向」的新进展:昇思已兼容适配 20 余家芯片厂商伙伴的硬件设备,打通云端智能、边缘智能、端侧智能,实现端边云全场景协同。现在,昇思已经让智能无所不在。
统一生态是昇思一直以来努力的目标。通过兼容不同架构、不同厂商的算力,昇思现在可以在 AI 框架的层面上实现统一、无感知的调用,而无需担心硬件适配能力,这种能力覆盖 NPU、GPGPU、CPU 等主流计算架构。对开发者来说,昇思从开发界面、框架能力等多个方面都做到了统一视角,应用可以同时在多种硬件后端之间平滑迁移。
实际的应用效果如何?现在在云上环境中,开发者的同一套脚本可以不受资源限制地使用,比如可以先用 GPU 进行训练,当 NPU 资源可用时,不进行脚本修改就能直接切换至 NPU 继续训练。对于端侧的 AI 应用,昇思可以将云侧训练的模型无缝部署到端侧进行推理。
这种能力大幅降低了 AI 开发的门槛。面向异构算力,通过昇思提供的标准南向接口与算子集,开发者可以让整体芯片使能周期大大缩短,无需再进行全量重新开发。同时借助于框架的公共能力,如自动并行、自动微分、模型导出等,我们在新硬件上也能快速完成 AI 应用的开发、训练、推理全流程。
通过软硬件垂直整合方式搞优化,融合不同算力,还让它们都能发挥出最大能力,昇思所做的事在 AI 框架上属于意义重大,但难以实现。让算力在 AI 框架层面上实现统一面临很多挑战:首先,不同架构的芯片在算力配比、通信能力、内存规格等方面都有一定差异,而要充分发挥芯片算力,要解决算子执行效率、存储、运行时调度优化等问题。
从技术架构上,昇思 MindSpore 为支持多硬件统一也做了不少事,包括:
实现后端架构的解耦,快速支持新芯片插件化对接,包括支持第三方自定义图优化 Pass 注册,屏蔽资源管理细节,及驱动层接口注册; 支持抽象硬件类型建模,让对接流程实现标准化; 支持抽象算子封装,统一了算子接口,支持多平台算子库动态注册,框架层实现异构算子选择; 支持第三方图 IR 接入,以充分发挥芯片的架构优势。 公共组件实现跨硬件复用,如内存复用算法、内存池实现、统一运行时等。现在,开发者用同一套脚本就可以在多个硬件后端上执行 AI 任务,无需做面向硬件的修改。另外,框架的能力,如自动并行、自动微分、融合优化等都是基于统一 IR 来构建的,因此可以在多个硬件后端上进行复用,也无需芯片厂商进行重新适配。
面向异构的执行环境,如 CPU+GPU、CPU+NPU 等,昇思的统一 IR 支持做异构的子图切分,不同的子图可以下发到不同的异构硬件上执行,这些异构切分可以由框架自动完成,同时也支持用户手动指定执行硬件。
昇思的目标很明确:做 AI 应用和异构算力间的桥梁,降低开发者使用算力的门槛,让芯片算力能够触及更多的开发者和应用场景。通过大力发展「南向」,昇思帮开发者解决了核心问题,也可以实现更大规模的并行化,例如跨算力中心的协同计算和异构计算,这无疑会大大加速大模型等技术的应用。
另一方面,通过连接昇思这一流行 AI 框架的生态,国产化 AI 算力在这一过程中也能被更好地应用起来。
做业界领先的 AI 框架
自 2020 年 3 月发布首个版本以来,昇思作为业内瞩目的 AI 框架经历了快速发展。围绕昇思的社区,已是国内最具创新活力的 AI 开源社区。
过去十年,AI 领域经历了从技术突破到应用落地的阶段转换,众多科技公司、研究机构发布 AI 框架,但只有少数成为了主流,其中既包括 TensorFlow、PyTorch、JAX 等国外框架,也有昇思 MindSpore 和飞桨这样的国内佼佼者。
科研论文数量是衡量创新能力的重要指标,基于 MindSpore 的顶会论文如今已超过 900 篇,据 Papers with Code 统计,2022 年使用 MindSpore 的顶级会议论文在国内 AI 框架中排名第一,全球范围内仅次于 PyTorch,位列第二。
昇思的开源生态汇集了超过 1.3 万贡献者,通过超 10 家高校参与的社区模型众智活动,目前其平台已有超过 400 个主流模型,这些成果不断推动着 AI 能力的全场景应用,有超过 5500 家企业应用了昇思能力实现了智能化技术落地。
可以说,昇思训练 - 推理 - 全场景协同、全流程降低开发门槛、全架构统一的三大愿景已在逐步实现。从地球系统模拟、自动驾驶,到预训练大模型训练,再到蛋白质结构预测,各行业的开发者在昇思上实现了 AI 开发自由,不断推动着技术创新和应用落地。
在 2.0 的大版本更新上,昇思在大模型能力、科学计算和 AI 技术落地上继续实现大幅改进。
目前行业内的新需求是生成式 AI 落地,在这方面昇思有自己的独特优势:三年前首版本发布时,昇思主打的就是面向大模型的自动并行特性。作为一款 AI 框架,昇思将大模型开发的系统工程难题集成到软件框架中解决,沉淀出了整套从预训练到场景应用的大模型实践方案。
首先是基础模型,昇思社区开源了超过 15 个基础预训练模型以及训练脚本,包括当前最具备代表性的 BLOOM,LLaMA 等。人们可以方便地以此作为基础,然后通过昇思 2.0 正式推出的大模型全流程解决方案完成从开发 - 训练 - 微调到部署的全过程。
以 LLaMA 模型为例:在脚本开发阶段,从 Transformer 模型库中一键导入 LLaMA 并调用 Trainer 高阶 API,你只需要十行代码就能完成算法脚本的开发。在训练阶段,如果算力有限,昇思可以通过异构与存储优化技术实现基于一台服务器,八张训练卡支持千亿参数大模型训练。
而面向大规模集群方案,昇思原生了支持业界最完善的 9 种数据和模型并行模式,以及断点续训等高可靠方案,算力资源利用率比业界水平要高 15%。
进入场景微调阶段,昇思 2.0 通过集成多种低参微调的算法,如 LoRA,Adapter 等,可实现一行代码运行 LLaMA 的低参微调,也支持千亿级模型进行 RLHF。
在推理部署阶段,昇思提供模型压缩工具,结合不同的硬件能力,支持模型规模 5~20 倍压缩,同时精度损耗小于 0.5%,并且支持异构及多级存储优化的能力,单卡推理规模提升至千亿。
过去三年,昇思社区帮助业界完成了紫东。太初、鹏程系列等百亿、千亿级大模型,根据《中国人工智能大模型地图研究报告》中的数据,基于昇思孵化的产业落地大模型,占到国内总数的 40%。
除大模型之外,昇思也一直在推动 AI 使能科学计算,并积极推动进一步降低 AI 应用门槛,针对行业重点场景,打造了系列场景化开发套件。通过与启智 OpenI 社区联合打造的 MS-Adapter 项目,昇思在保留原生 API 能力的同时,实现了业界主流框架 Pytorch 大多数 API 的兼容。
MindSpore 生态的未来
简单来说,通过昇思 MindSpore 业界领先的能力,大模型可以更快落地,更多行业可以实现智能化重塑。
在 AI 领域,新技术的探索让我们找到未来方向,而 AI 框架可以帮助我们将技术转化为生产力。昇思已为我们铺好了路,通过提供开箱即用的套件,它正在满足各领域开发者的需求。
通过一系列共建与合作,昇思正在不断完善生态伙伴体系和「朋友圈」,基于 AI 框架的多芯一体生态还会不断壮大。
未来,昇思还将持续提升框架的易用性,兼容业界生态,降低开发者编程门槛。在技术上进一步提升自动并行的核心能力,实现大模型从训练到推理部署的端到端闭环。
昇思 AI 框架,将会成为更多行业的首选。