不再是“独苗”,国产深度学习开源框架进入春秋战国

至今,开源深度学习框架的 “山头” 主要由国外科技巨头和高校所“盘踞”。但现在,这个局面正在发生细微变化。

就在本月,继上周一支清华团队宣布开源其深度学习框架 “Jittor” 之后,今天,“计算机视觉四小龙”之一旷视也开源了其深度学习框架 “MegEngine”(中文名“天元”)。以这个时间点往前追溯,还有华为在 2019 年宣布的 MindSpore 深度学习框架,将在 2020 年第一季度全面开源。一时间,国产深度学习开源框架熙熙攘攘,在 2020 年的春天颇有进入“春秋战国” 之势,不复早前百度 Paddle Paddle 被称为 “独苗” 的景象。

图丨华为 MindSpore、旷视 MegEngine、清华 Jittor(来源:官方网站)

类比芯片是算力平台,那么深度学习框架则相当于编程生产力平台,两者是 AI 基础设施的一体两面。在中兴、华为事件爆发后,有不少行业人士呼吁,基于芯片产业被美国 “卡脖子” 的教训,作为编程生产力平台的深度学习框架也应尽量避开国外开源版本。

如今更多的国内企业和高校加入,可以在一定程度上缓解这种担忧。但是,一般而言,行业常态少有长期的百家争鸣,对于国内 AI 产业和开发者来说,越来越多的国产深度学习开源框架又将如何得到“消化”?

国内企业为何竞相开源自家深度学习框架

回顾深度学习的发展,其之所以是诸多 AI 技术中获得长足发展的一大方向,得益于数据、算力、算法的到位。现在,大量基于深度学习的应用也已在现实社会中产生广泛影响。深度学习框架的涌现亦受此推动。

技术角度上,深度学习框架可简单理解为对底层语言和重要算法模型的封装,更通俗易懂的说法是,它是数据、算力(芯片)、算法三者间的连接器,可以帮助快速部署 AI 算法。正如百度 CTO、深度学习技术及应用国家工程实验室主任王海峰曾在一场活动中比喻称:深度学习框架是“智能时代的操作系统”。

图丨百度 PaddlePaddle(来源:百度)

从企业层面理解,随着各大开源框架日益成为 AI 研究人员必备的基础设施之一,它成为企业连接开发者的一大利器。而“得开发者得天下”,对于那些希望缔造自己的 AI 生态的平台型公司而言,更是具有战略意义。国外科技界的实践率先证实,包括开源深度学习框架在内的诸多开源技术,是构建 AI 创新生态的重要一环。

各家大型科技公司都希望全球开发者使用并推广自己开发的技术栈,从整个行业的视角来看,不同科技巨头支持的不同深度学习框架必然可以相互推动,加快创新,但对于参与这场竞争的公司来说,抢到并保持今日窗口期的领跑者地位,也意味着能够在明日定义种种行业标准之时更有话语权。

图丨国外开源深度学习框架时间线(来源:互联网)

除了更早之前起源于蒙特利尔理工学院的 Theano,大约是在 2012 年~ 2015 年期间,第一批开源深度学习框架开始涌现,包括,贾扬清在美国伯克利大学期间开发、现由伯克利大学主导的 Caffe,以及在更具标志性的 2015 年,有谷歌 TensorFlow 宣布开源、还有 Keras、Neon 等。而在 2016 年同一年宣布开源的 FaceBook 的 PyTorch、AWS 的 MXNet 和百度的 PaddlePaddle,则是典型的“后起之秀”。

纵观近年来各大排行榜, 这些开源框架不断你来我往、摩肩接踵,尽管目前已经跑出 TensorFlow(工业部署强)、PyTorch(学术拥趸多)两大“双子星”,基本占领 90% 的开发者份额,但还未至绝对垄断的地步。PyTorch 后来居上的表现也证明了,任何一个框架都不会凭借其设计而获得决定性的胜利。因此,仍有新的开源深度学习框架在出现,以满足越来越动态变化的、多元化的现实开发需求。

图丨 PyTorch 在学术界中日益占据主导地位(来源:https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry/)

在推广自家的开源框架时,除了送出各种算力资源大礼包,各大公司还会有意无意地强调能够将其在 AI 领域的相关积累 “无缝衔接” 到框架中。例如,华为在 2019 年的发布会上介绍 MindSpore 时,则强调其具备全场景协同,支持端、边、云统一训练和推理框架的特性,以求借助其拥有的移动终端产品优势吸引开发者。2019 年的一次公开技术讲座中,华为 MindSpore 资深架构师于璠直言,MindSpore 对标的是 Tensorflow。

对于为何有了 TensorFlow、PyTorch 等成熟 AI 框架,华为还选择 “重复造轮子” 这个问题,徐直军曾回应称:“这是因为我们现在还没有看到哪一个框架能够真正做到支撑全场景,而华为 MindSpore 的目标就是成为这样一个框架”。

不过在今日旷视宣布 MegEngine 开源之前,开源深度学习框架倒是鲜见国内 AI 创企身影,似乎这并不是大型科技公司才玩得起的“游戏”。

谷歌 TensorFlow 负责人曾表示不畏中国玩家竞争

仅从今日 MegEngine 开源发布会的嘉宾阵容,旷视不但请来图灵奖得主姚期智、怀进鹏院士、高文院士,还有前微软人工智能领军人物沈向洋站台,足见该公司对自家开源框架的重视。

在发布会上,旷视透露,MegEngine 是为了工业级、研究院规模的研发机构设计的算法研发基础的组件,其核心设计理念包括希望兼顾算法研发和算法工程化的效率,同时进行训练和推理,直接使用训练后的模型进行推理,而且同时区别于 TensorFlow 和 PyTorch,MegEngine 将采用动静态图结合的设计。

这次旷视开源的深度学习框架,能为其打开怎样的局面仍待长期观察。正如高文院士在发布会直播中提到,旷视的 MegEngine 宣布开源之后,仍有大量的市场教育、高等学校的合作等技术以外的工作需要进行。

如果说未来开源深度学习框架分庭抗争的形势会长期存在,国内开源深度学习框架将无法避开与国外产品直接竞争。

图|Kemal El Moujahid(来源:谷歌)

以最典型的 TensorFlow 为例,该框架诞生于谷歌大脑团队,除了框架本身优越性、工具链成熟、社区生态完备以外,还背靠谷歌云、TPU 等强大的 AI 研发军火库。

2019 年上海谷歌开发者大会期间,TensorFlow 全球产品总监 Kemal El Moujahid 就曾对 DeepTech 表示,对于中国企业在开源深度学习框架上的来势汹汹,各大公司在计算框架上取得进展的局面对整个 AI 行业而言是好事。

“我们非常乐于看到行业取得发展。现在,全球范围来看,虽然机器学习和 AI 的普及度还处在初期阶段,但是我们不能忘了最终的目标:在全球推广普及机器学习和 AI。所以,我们现在能做的就是提供最好的应用和最好的技术平台,让整个应用场景可能性更多,普及速度更快”,他说。

当时他也表示,TensorFlow 在全球范围内已经有了 4.1 千万的下载量,超 9900 的代码改动请求。作为最成熟的 AI 框架之一,它对中国开发者和企业来说仍颇具吸引力。

图丨2019年谷歌上海开发者大会发布的TensorFlow生态数据

据了解,搜索业务退出后,推广 TensorFlow 是谷歌目前在中国大陆具有相当优先级的工作(谷歌甚至为 TensorFlow 开设了专门的微信公众号且更新颇为勤快)。

谈到 TensorFlow 开发团队正在进行哪些改进工作时,Kemal El Moujahid 透露,整个 TensorFlow 团队正在忙于 TenorFlow2.0 版本的开发,该版本的特性是易用、强大、可扩展,其中两个具体的改进方向分别是易用性的进一步提升,以及针对端侧的适配优化。

特别针对后者,Kemal El Moujahid 进一步解释道:“我们认为移动端是机器学习未来非常重要的方向。随着越来越多小型移动设备的普及,现在其规模已经达到约 55 亿台移动设备、2500 亿个微控制单元。在此基础之上,机器学习的应用场景非常高。在未来 TensorFlow 将重点关注这个方向,希望可以让 TensorFlow 更加轻量化,将机器学习带到端侧更多领域”,他说。

和发力端侧配套的一个判断也来自于 5G 的崛起。Kemal El Moujahid 称,5G 将对机器学习和 TensorFlow 的发展产生很大的影响,因为移动端是非常重要的领域。

随着应用程序对更低延迟的要求越来越高,在端设备上运行机器学习会变得越来越重要。这一点在 TensorFlow 的多个更新版本中已经体现:配合谷歌主导的安卓移动生态,谷歌接连推出了其轻量版本 TensorFlow Mobile 和 TensorFlow Lite,以适应更多的端侧场景开发需求。

事实上,不止 TensorFlow ,还有包括 PyTorch 等在内的多个国外开源深度学习框架,都已经将更新重点放在了对移动场景的支持上,预示接下来万物互联的 AIoT 时代,框架之争还将进一步升级。

开源框架“战火”,或将波及 AI 芯片

图丨 TPU(来源:谷歌)

还有一个值得关注的现象在于,越来越多的开源深度学习框架出现,会对本就如火如荼的 AI 芯片混战带来怎样的影响。

毕竟,在过去的几年,包括谷歌、百度、华为、英特尔等业内领军企业都曾公开表示过软硬结合将是 AI 发展的大势所趋。越来越多的算法公司往产业链上游蔓延开始造芯,也多与这个判断有关。

类似的,当深度学习继续走向与产业结合的深水区,深度学习框架进化也在追求软硬件结合。

同样以谷歌 TensorFlow 作为观察样本。谷歌自研的 TPU(Tensor Processing Unit)不但是一战成名的 “AlphaGo” 背后功臣,也正长期支撑着 TensorFlow 工作负载的差异化性能,从算力上帮助 ML 工程师和研究者实现更快迭代。

TPU 是谷歌为其人工智能服务设计专用芯片迈出的第一步,现在有非常多的国内外互联网公司、算法公司尝试“造芯”,但谷歌仍是在自研 AI 芯片上尝到甜头的第一批互联网公司:谷歌基于 TensorFlow 定制了 TPU,不但加速了深度学习平台的部署,而系统广泛的应用,也为其不断降低专属 AI 芯片的成本。

(来源:华为)

AI 芯片、深度学习框架、行业应用的关系是,深度学习框架承上启下,下接芯片、大型计算机系统,上承各种业务模型、行业应用。当业务和应用对深度学习框架提出越来越多、越来越复杂的新需求时,传统的芯片恐怕将难以支撑深度学习框架新能力的输出,后者反向定制专用 AI 芯片也就成为一种可能。

除了谷歌,拥有 AI 芯片研发能力的华为在推出 MindSpore 时,也强调 MindSpore 与华为自研昇腾处理器协同优化。由此设想,不知旷视是否也会为其 MegEngine 配套了专用 AI 芯片的研发计划。

当软件层面的改善空间达到饱和,深度学习框架之争演化成比拼专属硬件能力,或许只是早晚的事情了。