【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

进击的 AI 框架,MindSpore 开源一周年

  • 2021-04-09
  • 本文字数:4126 字

    阅读完需:约 14 分钟

进击的AI框架,MindSpore开源一周年

开源一年以来,累计发布 8 个新版本,汇聚超过 3000 名社区开发者的代码贡献,社区访问量超千万;现拥有超过 100 个大的基础模型,涵盖计算机视觉、NLP 等主流的 AI 和深度学习框架;累计 PR 数 超过 2 万个,下载量高达 22 万次,下载用户遍布全球;超过 100 所高校参与了社区活动,超过 40 家科研机构利用它去发表原创论文。这就是全场景 AI 计算框架 MindSpore 开源一年来取得的成绩!


MindSpore 如何在短短一年时间取得这些成绩的?它怎样与开发者打交道?如何打造自己的开源社区?以及它是如何落地,给企业和开发者带来真正价值的?


回答上述问题,不仅有助于我们更好的了解 MindSpore 开源项目,而且能让我们深刻的理解开源和它背后的价值与意义。

仅“一岁”的 AI 开源项目

2020 年 3 月 28 日,华为开源新一代全场景 AI 计算框架 MindSpore,并发布 MindSpore 0.1.0-alpha 版本。据悉,它具有基于源码转换的通用自动微分、自动实现分布式并行训练、数据处理、以及图执行引擎等功能特性。


MindSpore 最初是作为华为内部项目孵化的。因为在华为的某些业务场景中,传统 AI 框架无法满足需求,于是自己研发,才有了 MindSpore。


华为云与计算开源业务(OSDT)总经理、开放原子开源基金会 TOC(技术监督委员会)主席堵俊平表示,“我们认为把这个项目开源可以很好的体现(一种)利他主义精神,能为业界很多数学科学家和工程师提供一种设计友好、运行高效的开发体验,包括软硬件协同优化,适用于端、边、云全场景。


诞生 6 个月后,MindSpore 迎来另一个重要时刻。在社区力量和用户力量的共同驱动下,MindSpore 快速迭代,社区每月发布一个新版本。9 月 30 日,MindSpore 1.0 版本正式发布。


这被视为一个非常重要的版本,因为它标志着在经过 7 个版本快速迭代后,MindSpore 达到了在生产环境可用的标准。“一个开源项目达到 1.0 版本的标准,就可以投入商用,这是非常重要的。因为之前,它意味着用户要承担更多的风险。一旦达到 1.0 标准或生产商用的标准,用户用起来就会更放心,因为它经过很多实际场景的打磨”。


在堵俊平看来,一个好框架,它的 API 后续版本一定要保证向前兼容性。如果随意更改 API,这对老版本的使用或老用户的后续升级维护会带来很多挑战。


2021 年 3 月 28 日,MindSpore 开源迎来一周年,社区不仅举行了周年直播活动,而且宣布了许多新特性,比如动态图分布式训练效率的大幅提升、一键模型迁移、模型鲁棒性检测等,同时推出面向开发者的新工具 TinyMS。



开发者第一

开发者对开源社区犹如水之于河,由于水的流动,河才有生命力。同样,因为开发者的不断参与和贡献,开源社区才能壮大。一旦失去开发者,开源社区就没有了生命力,终将变成“一条干枯的河流”。


MindSpore 开源社区一直坚持“开发者第一”的原则,不断为开发者提供更好的服务。这体现在以下几个方面:


一是降低开发者参与门槛。社区通过推出新工具,降低开发者上手难度。比如用 AI 工具实现 issue 标签自动化,提高开发者参与积极性。传统上,issue 的分配和审查需要耗费社区管理者的大量工作和时间,结果造成 issue 长时间积压,无法解决。而 MindSpore 社区开发出 AI 工具,自动为每个 issue 打标签,缩短问题响应时间,提升 issue 处理效率。此外,在一周年到来之际,MindSpore 社区又推出了新工具 TinyMS,不仅简单易上手,而且端到端部署,全流程打通。同时,它还能对模型训练脚本的格式进行标准化和规范化,提高模型开发效率。


二是解决开发者问题。MindSpore 社区提供了完备的开发者文档,包括 MindSpore 编程指南、Python API、C++ API、Java API、设计和规格等各类文档。文档不仅结构分明,清晰直观,而且详细完备,对开发者非常友好。通过社区文档,开发者不仅可以快速了解 MindSpore 的重要信息,而且能快速上手。


三是以开发者为主体,通过悉心服务汇聚大量开发者。开发者加入社区,不管是加入 MindSpore Study Group(简称 MSG,一个让开发者进行技术研讨、案例分享、互相交流的开发者社群),还是参与社区活动,甚至提 issue,他都能得到快速反馈。为了更好地给开发者答疑解惑,社区运营团队不仅有微信群、QQ 群,甚至还建立了一个“知乎老乡送温暖”的群。“如果知乎里有人提出问题,我们会先拉到‘送温暖’微信群。如果微信群里解决不了,我们再到 QQ 群。因为 QQ 群,我们要求研发专家必须驻场。简言之,千方百计解决大家的问题”。


此外,制度规定又是另一重保障。社区有针对开发者响应的 SLA 制度,保证最快 4 小时内闭环一般性问题,最慢一个版本周期内落地大特性问题。与此同时,社区还有开发者开放治理制度,定义了 Contributor 和 Approvers 两类角色,任何参与社区的开发者都有机会成为 Contributor 或 Approvers,从而在社区承担更关键、更重要的角色。


或许,正是抱着一心为开发者服务的态度,MindSpore 才能在开发者群体中产生越来越大的影响力,吸引更多开发者参与,为社区做贡献。

开源社区优先

开源界有句话,“如果你有一个好的代码,但是没有一个好的社区,那么聪明人都会走开,你的代码也就慢慢腐烂;如果你有一个哪怕是不那么好的代码,但是你有好的社区,吸引很多优秀的人加入,慢慢地改造代码,代码本身会变得更好,软件也会变得更好“。因此,一个开源项目的成功与否,开源社区发挥着关键作用。


据悉,MindSpore 社区采取开放治理架构,它既有技术治理委员会(Technical Steering Committee,简称 TSC),负责把控开源项目大的发展方向,也有特殊兴趣组(SIG)和工作组(Working Group,简称 WG)。具体说来,日常的模块开发通常通过 SIG 的形式由开发者自由组队,并通过推举 SIG Lead 的方式来产生模块开发的负责人,管理日常工作。工作组 WG 则主要是负责一些涉及到多个 SIG 的需求传递、设计讨论等工作。此外,在国内的深圳、杭州、苏州、上海等城市以及海外的俄罗斯、新加坡、印尼等均已建立 MSG 组织,方便开发者深入交流。


堵俊平称,“有一句话说‘独行快,众行远’。我们要打造一个包容、开放的社区,让更多人加入进来,贡献自己的经验和智慧。我们希望跟广大的开发者一道,让 MindSpore 不仅走得快,而且走得远。”


在 MindSpore 社区建设中,社区运营起到非常重要的作用,因为它是社区和开发者之间的桥梁。据悉,社区运营开展了很多面向开发者的活动,比如 MindSpore 两日集训营、21 天实战营等。以 21 天实战营为例,社区邀请专家采取直播+录播+作业的授课形式,帮助开发者们深度解读深度学习每一个步骤,帮助小白更快的上手高性能深度学习框架。


与传统的社区运营不同,MindSpore 的社区运营活动以开发者为主体,一切围绕着开发者。“不是说请大牛给大家讲课,大家进行提问,而是社区策划一个活动,让大家真正参与进来,互相比拼谁的模型的精度最高”。


据悉,社区微信群里,有一个开发者,他一直积极参与社区活动,甚至想带着 MindSpore 去参加日本的一个 AI 大赛。在社区评选优秀开发者时,他被评上,而直到参加答辩活动时(社区规定:被评上的优秀开发者需要参加公开的答辩活动),大家才知道他是一个华人,一直在日本。


从 MindSpore 社区运营过程中,堵俊平总结出一个好社区成功运营的四个关键:


第一,开源产品要有竞争力,有创新;


第二,有一套成熟的社区治理方案,包括构建社区文化。只有社区成为一个开放、包容的地方,开发者才能在里面找到归属感。这样大家才能齐聚一堂,贡献智慧。


第三,生态合作。一个开源项目要发挥自己的价值,需要有生态,比如它怎么与上层的应用结合,怎么发挥真正的价值。


第四,专业的运营团队,以及与周边力量的配合。“MindSpore 有一个非常专业的运营团队,负责人都是开源领域的一些老兵和资深贡献者,在广大开发者中树立了比较好的口碑和影响力”。


对一个开源项目来说,它真正的价值在于落地。没有真正落地的开源项目,犹如空中楼阁、水中月镜中花。当它给开发者和企业不断带来价值,这个开源项目才有长久的生命力。


由于一直找不到合适的 AI 框架,深圳湾实验室的团队在开展分子动力学模型研究时迟迟无法推进。。在一次 MSG 深圳活动上,实验室团队了解到了 MindSpore 开源项目。通过与社区的深入交流,他们发现 MindSpore 正好满足自己的需求,它不仅有很好的自动微分能力,性能好,而且其高阶导数计算灵活。因此,深圳湾实验室的团队开始与 MindSpore 社区合作,利用 MindSpore 进行大集群训练,实现分子动力学模拟,最终获得突破性的创新成果。


堵俊平表示,“通过社区,开发者接触到新场景、新技术,并把这个技术使用经验反馈回社区,发生一些化学反应,产生创新的机会。我们希望 MindSpore 成为一个全场景的创新平台”。


除了科研机构,MindSpore 落地的另一个领域是企业。据了解,Jina.ai 是一家初创公司,致力于提供面向云原生的开源神经网络搜索能力。Jina.ai 与 MindSpore 通过基于开源社区的合作,可以提供诸如以图搜图这样有趣的功能。并且,这家公司还在依靠 MindSpore 的能力尝试一些新应用,比如听歌识曲、法律文本搜索等。

未来:加速奔跑

如今,MindSpore 开源一周年,社区也举行了一系列的庆祝活动,比如一周年直播、新特性与新工具 TinyMS 发布。


开源一年来,正是奉行开发者第一原则和社区优先理念,MindSpore 才能不断吸引开发者加入进来,社区才能不断壮大,生态才能蓬勃发展。在堵俊平看来,MindSpore 开源项目取得的成绩离不开社区和广大开发者的力量,也离不开用户、合作伙伴以及与企业的合作。他说:“在这个一体共生的环境里,通过社区去连接所有要素,推动关键要素一起进行创新创造,我觉得这是一件很伟大的事情。”


面向未来,MindSpore 也在加快自己的发展步伐,“打造一个有竞争力的开源社区,让 AI 框架可以更好地普惠大众”。为此,MindSpore 一方面坚持社区优先,奉行一个更开放的策略;另一方面,在这个策略下,团结更广泛的用户,包括开发者、合作伙伴,“只有社区足够开放,产品有亮点,有让人眼前一亮的技术,这样才能吸引更多的开发者参与进来”。


附:


MindSpore 新特性及新工具 TinyMS 下载:

https://tinyms.readthedocs.io/zh_CN/latest/


MindSpore 开源项目 GitHub 地址:

https://github.com/mindspore-ai/mindspore/blob/master/README_CN.md


MindSpore 开源项目:

https://gitee.com/mindspore/mindspore?_from=gitee_search


MindSpore 官网:

https://www.mindspore.cn/


MindSpore 官方公众号



公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-04-09 11:477613
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 336.3 次阅读, 收获喜欢 1795 次。

关注

评论 1 条评论

发布
用户头像
生态很重要,让更多人来用更重要
2021-04-15 12:25
回复
没有更多了
发现更多内容

【可下载】2020年底收官!为大家整理了物联网行业全面研究报告、行业洞察、白皮书……

IoT云工坊

人工智能 大数据 5G 物联网 智能家居

架构师训练营 - 第 8 周课后作业(1 期)

阿甘

第八周总结

alpha

极客大学架构师训练营

“区块链+营销”:科技力量助力行业前行

CECBC

市场营销

苏州崛起为我国区块链产业高地

CECBC

区块链 社区矫正

ebay支付核心账务系统架构演进之路

贾奇 (Jacky)

支付系统 共识机制 系统稳定高可用 Event Sourcing 异地多活容灾

腾讯强推Redis成长手册!原理+应用+集群+拓展+源码五飞

小Q

Java redis 学习 架构 面试

成为架构师 - 架构师训练营第 04周

陈永龙Vincent

高交会:高新企业源中瑞在此出展区块链BAAS技术

13530558032

腾讯强推Redis大神之路成长手册!原理+应用+集群+拓展+源码五篇齐飞

Java架构追梦

Java 数据库 redis 架构 面试

架构师训练营第 1 期 - 第八周总结

Todd-Lee

极客大学架构师训练营

网络时间协议介绍以及服务器同步网络时间

MySQL从删库到跑路

ntp 时间同步

年轻人的第一个MyBatis项目就要这样来学习,不走弯路

小Q

Java 学习 架构 面试 mybatis

架构作业--相交链表

Nick~毓

【JAVA】TreeSet, LinkedHashSet和HashSet差异对比

笑春风

第八周课后练习

knight

家谱链亮相高交会,点亮“区块链+文化”融合发展之路

13530558032

训练营第四周作业

大脸猫

极客大学架构师训练营

【Mycat】Mycat核心开发者带你轻松掌握Mycat路由转发!!

冰河

分布式 微服务 分库分表 中间件 mycat

Java8引入新的日期和时间库,你应该知道

Silently9527

java8

JVM真香系列:图解垃圾回收器

田维常

JVM 垃圾回收

分分钟玩转SpringBoot自定义注解

比伯

Java 大数据 编程 架构 编程语言

四、应用系统探讨

Geek_28b526

第四周作业

Jack

《身边的金钱心理学》

石云升

架构师训练营 第四周作业

文江

《Web应用安全权威指南》.pdf

田维常

“懂行”的价值循环与蝴蝶风暴

脑极体

训练营第四周总结

大脸猫

极客大学架构师训练营

区块链治理的真实价值在哪里

CECBC

区块链 治理 治理机制

脱钩!打工人不配拥有Java程序员306道面试秘笈吗?真香

996小迁

Java 学习 架构 面试 笔记

进击的AI框架,MindSpore开源一周年_开源_万佳_InfoQ精选文章