MindSpore: 作为一个开源社区,开放是核心
在开源方面,中国似乎一直在践行“拿来主义”,对开源代码的贡献远远比不上其他国家。
据CodersRank统计,在2012-2019期间,对全世界开源代码贡献最多的城市主要位于美欧地区,旧金山一骑绝尘,名列前10的其他欧美城市还包括纽约、伦敦、柏林、多伦多、西雅图、洛杉矶、巴黎与巴塞尔。此外,亚洲地区的东京与首尔亦榜上有名。
而中国的表现,则“名落孙山”。换言之,中国在开源方面,相较其他国家而言,仍相对落后。在大多时候,中国的开发者是使用来自美国的开源技术,而不是贡献自己的开源代码。
针对这个问题,我们要如何破解呢?
近日,来自中国科学院大学的包云岗教授针对如何破解中国开源的“拿来主义”,提出中国要加大对开源技术的投入,形成一批由中国发起的有影响力的开源项目,争取到更多话语权。事实上,华为也认识到了这个问题,在Linux上的投入非常大:在Linux Kernel 5.10中,华为的Patch贡献量已经排到全世界第二,仅次于Intel。
据包云岗教授总结,开源主要有两种模式:一种是由非营利组织主导,如Linux基金会、Apache基金会、RISC-V基金会等,商业应用一般需加入基金会,缴纳会员费;另一种是由企业主导,如谷歌 (Andriod, Chromium, TensorFlow)、RedisLab (Redis)、Wave Computing (MIPS)等,商业应用需与主导企业签署协议。
由企业主导的开源,比如谷歌的TensorFlow,只单向开源代码,很少接受社区反馈,本质上是通过开源形成技术垄断。相比之下,由Linux基金会等非盈利机构主导的开源项目则更开放:代码开源、流程开放、管理开放,通过贡献度来决定话语权。
开源对AI技术发展的影响无疑是巨大的。秉承推动中国AI开源发展的原则,LF AI & DATA DAY(AI开源日)于2020年11月7日在深圳市南山区鹏城实验室举行。“AI开源日”是鹏城实验室、LF AI & DATA基金(Linux基金旗下的一个子基金)与OpenI启智社区达成三方合作的里程碑活动。
作为此次活动的联合举办方之一,MindSpore社区以运营负责人黄之鹏为代表,阐述了AI原生编程(AI Native Programming)生态的建设意义,强调了开放治理对开源社区发展的意义。AI科技评论对黄之鹏进行了访谈,就此次合作的背景与意义、以及MindSpore对开源发展的计划展开了讨论。
一、开源初期:机遇与挑战并存
黄之鹏认为,国内AI开源正处于爆发式增长的初期,原因主要有两点:一是更多人了解到开源是什么,并拥抱开源的理念;二是很多公司开始意识到,通过开源协作的方式,很多项目的开发效率会提高,对公司“摊薄”成本也有好处。
近几年,开源技术受到越来越多国内企业的青睐,这与诺贝尔经济学奖科斯的交易成本(Transaction Cost)理论有关。根据该理论,每一笔交易都有成本。对于企业来说,在完成相同功能的情况下,交易成本越低的技术越受欢迎。而开源极大地降低了交易成本。阿里云的前副总裁章文嵩曾提到,阿里使用开源技术来实现“去IOE”,成本只需要原来的1/140。
在初始阶段,国内AI开源发展的机遇与挑战并存。一方面,现在国家非常强调创新,而开源是一项能够促进技术创新的举措,因为开源吸引了大量的开发者,相当于在技术的发展中众筹了更多的智力。而另一方面,国内的开源相关的历史、文化、规则、法律等仍需长足建设。比方说,在代码开放的情况下,如何避免成果剽窃与篡改这一类问题。
针对这一担忧,黄之鹏提到,MindSpore使用的是非常主流的Apache 2.0开源许可证。当开发者在做贡献时,他能够清楚知道他的受让所遵守的约定,给予了什么、保留了什么。如果存在剽窃行为,原作者很容易举证。此外,MindSpore强调开放治理,即一个人作出贡献后,所有人都会知道并认可他的贡献。借助于业界最主流的Git代码管理机制,即使是简单的合入补丁,文件也会标注作者的名字。
此外,社区如何吸引更多开发者参与开源呢?MindSpore建立开发者成长体系,设立相应的奖励机制:
1)普通开发者:零门槛参加社区活动,可以加入微信群提问任何问题,无论多么小白。
2)优秀开发者:通过答辩选取。每个竞选者通过分享自己的故事,以及使用MindSpore进行的技术突破与创新,基于个人的开源成就而当选。
3)布道师:要求在一定规模的会议上分享过MindSpore的议题,提交过特性补丁并被接纳。黄之鹏介绍道,“深度学习的门槛比较高,如果你有特性补丁被SIG的Approver团队核录的话,意味着你对深度学习框架的理解已经非常深。”
参与的开发者不仅能够遇到更多志同道合的开发者,优秀开发者与布道师还将有不同的现金奖励。加上MindSpore本身的影响力也比较大,如果能当上布道师,对个人求职的帮助也很大。
黄之鹏强调,华为做MindSpore的出发点在于普惠AI,“通过开源降低参与门槛,使更多人参与进来,加快AI产业发展的进程。”
二、MindSpore:开放治理是核心
MindSpore是华为在今年3月28日开源的一个全场景AI计算框架。如今,七个多月过去,MindSpore在国内开发者群体中发挥着越来越大的影响力。黄之鹏认为,MindSpore社区的优势主要有三点:一是开放治理;二是强调合作;三是开发者第一。
1)开放治理
与其他由厂家推动的深度学习框架开源区别开来的重要一点是:MindSpore设立了一个技术治理委员会(TSC),集结了来自中美欧的14位技术专家。在CCF-GAIR 2020的“AI源创专场”大会上,黄之鹏提到,采用开放的社区治理架构,是因为“华为希望MindSpore能成为一个面向全球的开源社区,通过实行透明而公开的治理,来夯实开源协作开发。”
TSC每个月会举办一次在线例会,社区运营者在会上向委员反馈社区的进展,或通过邮件知会委员,比如特殊兴趣组(SIG)的成立、版本节奏的变化等,保证所有版本与计划公开透明。在社区的治理章程中我们注意到,在议事规则中,MindSpore实行Significant Objection机制,即“一票反对,则需修改”。换言之,决策权由委员掌握,而不是单方“敲定”。
MindSpore的开发也基本是开放在外面。只要你对这块研究感兴趣,都可以在码云、Github上找到所有的代码。
2)强调合作
除了开放治理,MindSpore强调与其他开源社区的合作,包括LF AI & Data基金会与OpenI启智社区。黄之鹏介绍到,“OpenI启智社区有很多与硬件开源相关的项目,LF AI & Data则有很多与数据处理相关的开源项目。(与他们的合作)能为MindSpore的用户带来优秀的端到端解决方案。”
此外,每个社区都有自己的用户群体。参与鹏城实验室、LF AI基金会与启智社区的合作,无疑也会拓展MindSpore的受众,孵化更多技术创新。
3)开发者第一
在AI领域,开发者习惯追求大神,而MindSpore则认为:每一位开发者都有可能成为大神,每一个开发者对社区来说都很重要。黄之鹏强调,MindSpore强调对开发者的友好,“他们不会觉得是在给某一个公司打工,而是感觉自己在参与一个属于大家的活动。”
为了营造友好的氛围,黄之鹏强调社区的运营:一是建立一套机制,保证研发团队对开发者提出的问题会给出非常及时的回答,即使初步回答不上来,最后也会帮助开发者解决Ta所提出的问题;二是在直播、微信群、QQ群,以及面向海外的社交媒体群上组织开发者活动,比如小剧场。
开发者第一的理念似乎已经开始“变现”,在最近开源中国对码云1000多万个代码仓的统计概览中,发现MindSpore社区是指数达到99的“第一社区”
三、AI原生编程生态:生来就是为AI服务
随着企业对开源投入力度的加大,投资者对国内市场上基于开源的初创项目的支持力度也呈现爆发式的增长。“鹏城实验室+LF AI & Data基金会+OpenI启智社区”的此次合作,便传递了中国学术界、投资界与企业界在开源方面加大投入的决心。
作为OpenI启智社区与LF AI & Data基金会的长期合作伙伴之一,MindSpore希望联合三方,打造一个完善的AI原生编程生态。在黄之鹏看来,“AI原生编程生态”是AI的下一个生态:“过去与现在的框架主要是从工程的角度利用已有的工具去做一些改造,让它能够用到人工智能上。而AI原生则是:出生就是为了解决AI的问题,而不是被改造来解决问题。”
基于近些年深度学习框架的发展趋势,框架现在主要集中在编译优化和软硬结合上,而MindSpore的一大特点便是在编译层面进行了大量优化。雷锋网
在黄之鹏的眼里,一个完善的AI原生编程生态具备六大特性:自动微分、自动并行、高阶优化、全场景、AI安全,以及科学编程能力。除了这六点特性,一个完善的生态还具备北向的应用生态与南向的硬件集成生态。
一个生态的建立往往耗时耗力。千里之行,始于足下。如今,MindSpore的端侧推理能力已应用在华为手机搭载的 HMS 4.0,主要支撑 ML-kit使能的手机App。雷锋网
框架的开源,仍需要更多的人参与进来。正如洪强宁教授所说:“全世界的程序员是一个共同体。”在MindSpore这个平台上,开发者能够挖掘更多的技术潜力,既能成为“巨人”,又可以站在“巨人”的肩膀上。雷锋网
边界的打破,由你做起。