0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

国产框架超越 PyTorch 和 TensorFlow?

人工智能与大数据技术 来源:中国网科学 作者:HyperAI超神经 2021-04-09 15:11 次阅读

深度学习领域,PyTorch、TensorFlow 等主流框架,毫无疑问占据绝大部分市场份额,就连百度这样级别的公司,也是花费了大量人力物力,堪堪将 PaddlePaddle 推入主流。

在这样资源主导、肉食者谋的竞争环境下,一家国产深度学习框架的创业公司 OneFlow 出现了。

它以处理大规模模型见长,甚至今年将全部源码和实验对比数据,在 GitHub 进行了开源。

质疑不可避免的出现了:OneFlow 这种擅长解决大模型训练的新架构有必要吗?深度学习框架的效率有那么重要吗?创业公司有可能在竞争中脱颖而出么?

我们借着 CosCon 20' 开源年会的机会,采访了一流科技 CEO 袁进辉,了解到了他和一流科技的工程师们,1300 多个日日夜夜、数十万行代码背后的故事。

光环再多,创业也得一步一个脚印

2016 年 11 月,袁进辉在清华附近的一栋写字楼里,写下了 OneFlow 的第一版设计理念。此时的袁进辉刚刚从工作了近 4 年的微软亚洲研究院(MSRA)离职。

「MSRA 前员工」并不是袁进辉身上唯一的 tag,2003 年从西安电子科技大学本科毕业后,他被保送到清华大学计算机系继续直博学习,师从中国科学院院士、中国 AI 学科奠基人之一张钹教授。

2008 年袁进辉从清华大学毕业后,先后加入网易、360 搜索。他开发的鹰眼系统,被中国国家队作为日常训练辅助系统。除此之外,他在 MSRA 工作期间,专注于大规模机器学习平台,还研发出了当时世界上最快的主题模型训练算法和系统 LightLDA,被应用于微软在线广告系统。

LightLDA 于 2014 年面世,仅仅两年之后,独具慧眼的袁进辉就又萌生了一个大胆地猜想:随着业务需求和场景的丰富,能高效处理大模型训练的分布式深度学习框架,必然成为继 Hadoop、Spark 之后,数据智能时代基础设施的核心。

但是当时主流的深度学习框架都是由 Google、Amazon、Facebook 等大厂牵头开发的,即使是国内情况也类似。这由于开发深度学习框架不光需要雄厚的研发成本,更重要的是能耐得住寂寞,做好打持久战的准备,因此尚没有初创企业敢在该领域试水。

已有的深度学习框架都已经打的如火如荼了,一家初创企业,又搞出来一个新框架,会有用户买单吗?行动派袁进辉不但敢想,他还敢干。

敲下 OneFlow 第一行代码的时候,他还没想清楚详细地实现策略,更谈不上完善的业务逻辑。他的想法很简单,又很复杂,要做一款「开发者爱用」的产品

一群天才+21 个月,OneFlow 初版上线

2017 年 1 月,袁进辉成立一流科技,召集了 30 多位工程师,开启了 OneFlow 的正式「团战」。尽管大家对困难已经做了充分预估,但是随着开发的逐渐深入,涌现的重重困难还是出乎的团队的意料。

深度学习框架的技术非常复杂,况且 OneFlow 采用了一个全新的技术架构,没有先例可以参考,光是把技术设想跑通,就花了快两年时间。

2018 年秋天,一流科技的发展进入了最艰难的阶段。产品研发迟迟不能定型,一些员工的耐心跟信心消耗殆尽,加上公司下轮融资一波三折,团队的士气和信心面临极大挑战。

在创业圈有个「18 个月魔咒」的说法,意思是一年半没看到希望,没有正反馈,创业团队的心态就会发生变化,失去耐心。袁进辉意识到,不能再等了,必须要尽早在真实场景去使用 OneFlow,让大家看到 OneFlow 的创新的确是有价值的, 从而形成正反馈。

2018 年 9 月,在经历了长达 1 年 9 个月的研发后,袁进辉和团队推出了 OneFlow 闭源版。当时 OneFlow 还没有开源,也存在大大小小的问题,但产品正式发布了,总算是给团队成员吃了个定心丸。

专注大规模训练,效率秒杀同类框架

2018 年 11 月,幸运之神降临到一流科技。Google 推出了最强自然语言模型 BERT,开启了 NLP 新时代。这验证了袁进辉的预测,擅长处理大规模训练的新架构,是必须且必要的。

很快,一流科技的工程师就基于 OneFlow 支持了 BERT-Large 的分布式训练,这也是当时唯一一个支持分布式 BERT-Large 训练的框架,性能和处理速度远超已有的开源框架。

ce11a668-989f-11eb-8b86-12bb97331649.png

OneFlow 异构分布式流式系统架构图

OneFlow 「一战成名」,这也为一流科技积累第一批头部互联网企业用户提供了契机。令人倍感意外的是,当时的袁进辉因为「仍对产品不满意」,所以选择了一条格外低调的路。

从 2018 年 9 月闭源版本发布,到 2020 年 7 月正式开源,袁进辉又用了 22 个月来打磨 OneFlow。他和团队一边持续优化经典模型,一边解决原来没预计到的问题,在袁进辉看来,哪怕是产品文档没做好,他都不会轻易把 OneFlow 推到台面上。

2020 年 7 月 31 日,OneFlow 正式在 GitHub 开源。这个以训练大规模模型著称的开源框架,第二次站到聚光灯下,完美诠释了四个字--效率为王。

ce2f9e70-989f-11eb-8b86-12bb97331649.png

深度学习框架版图几乎由美国企业主导

ce69eb84-989f-11eb-8b86-12bb97331649.png

国内开源的深度学习框架版图中

只有 OneFlow 是由初创企业研发并开源

训练速度更快、GPU 利用率更高、多机加速比更高、运维成本更低、用户上手难度更低,五个强大优势让 OneFlow 能快速适应各个场景,并进行快速延展。袁进辉和团队对 OneFlow 的性能追求和优化,达到了极致。

近期,OneFlow 发布了 v0.2.0 版本,更新的性能优化多达 17 个,使得 CNN 和 BERT 的自动混合精度训练速度大幅提升。

开发团队还建立了一个名为 DLPerf 的开源项目,将实验环境、实验数据、可复现算法完全开源,测评了在相同的物理环境上(4台 V100 16G x8的机器),OneFlow 和其他几个主流框架在 ResNet50-v1.5 和 BERT-base 模型上的吞吐率及加速比。

cf9ae314-989f-11eb-8b86-12bb97331649.png

7 个框架在 ResNet50-v1.5 模型上的吞吐率对比

结果证明 OneFlow 在单机单卡、多机多卡下的吞吐率都明显领先其他框架,成为在主流旗舰显卡(V100 16G)上训练 ResNet50-v1.5 和 BERT-base 模型最快的框架,OneFlow ResNet50-v1.5 AMP 单卡比 NVIDIA 深度优化过的 PyTorch 快 80%, 比 TensorFlow 2.3 快 35%。

直面质疑,做赛道的「少数派」

事实上,OneFlow 从诞生至今,受到的质疑并不在少数,「上车晚且生存空间狭小」是最主流的声音,对此袁进辉表现出了超乎寻常的坦然。

在他看来,深度学习框架本就是一个新生事物,技术和产业都在中早期,不存在上车早晚的问题。在技术收敛之前,性能高、易用性强、符合用户使用价值的产品,就会受到用户的青睐。

至于生存空间小一说,更是子虚乌有。开源让小公司和大公司的产品有机会公平竞技,优秀的新生框架挑战权威的框架,正是开源精神的内核之一。

质疑声并没有阻碍 OneFlow 的发展,相反,袁进辉和团队加快了 OneFlow 的升级和完善进程,更新优化性能、梳理开发者文档、收集社区反馈……这些努力和坚持,为 OneFlow 吸引了更多用户,其中不乏最初的「怀疑论者」。

在 COSCon'20中国开源年会上,袁进辉做了题为《深度学习训练系统演进》的分享,向所有开发者介绍了 OneFlow 下一步的开发规划,除了坚持效率为王、继续性能优化外,开发团队还在努力降低用户的学习成本和迁移成本。目前 PyTorch 用户迁移到 OneFlow 的成本已经相当低了,因为二者的用户接口几乎一样,已训练好的模型转换成 OneFlow 的成本也足够低。

客观讲,OneFlow 在完备性和易用性上,与 TensorFlow 和 PyTorch 相比还有差距。但是,OneFlow 的特色是效率高、扩展性好以及分布式特别容易使用,非常适合大规模人脸识别、大规模广告推荐系统、以及类似 GPT-3 这种模型参数巨大的模型训练场景。

采访的最后袁进辉老师也毫不掩饰对人才的渴望,他表示 OneFlow 正在招聘机器学习工程师以及深度学习工程师,非常欢迎有识之士加入这个朝气勃勃、渴望胜利的团队。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 框架
    +关注

    关注

    0

    文章

    297

    浏览量

    17039
  • 开源
    +关注

    关注

    3

    文章

    2982

    浏览量

    41696
  • pytorch
    +关注

    关注

    2

    文章

    759

    浏览量

    12822
  • OneFlow
    +关注

    关注

    0

    文章

    9

    浏览量

    8740

原文标题:超越 PyTorch 和 TensorFlow,这个国产框架有点东西

文章出处:【微信号:TheBigData1024,微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    谷歌模型框架是什么软件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌开发的用于机器学习和人工智能的软件框架,其中最著名的是TensorFlowTensorFlow是一个开源的机器学习框架
    的头像 发表于 03-01 16:25 220次阅读

    中国人工智能框架的三个行业趋势

    由于历史和使用习惯的原因,TensorFlowPyTorch 在中国的知名度也领先于其他人工智能框架,分别排在前两位。
    发表于 01-29 14:41 202次阅读
    中国人工智能<b class='flag-5'>框架</b>的三个行业趋势

    XLA和PyTorch的链接代码示例

    XLA (Accelerated Linear Algebra)是一个开源的机器学习编译器,对PyTorchTensorflow、JAX等多个深度学习框架都有支持。最初XLA实际上
    的头像 发表于 11-17 10:54 319次阅读

    深度学习框架DeepSpeed使用指南

    最常见的深度学习框架应该是TensorFlowPytorch、Keras,但是这些框架在面向大规模模型的时候都不是很方便。 比如Pytorch
    的头像 发表于 10-30 10:09 1208次阅读
    深度学习<b class='flag-5'>框架</b>DeepSpeed使用指南

    PyTorchTensorFlow的优点和缺点

    转载自:冷冻工厂   深度学习框架是简化人工神经网络 (ANN) 开发的重要工具,并且其发展非常迅速。其中,TensorFlowPyTorch 脱颖而出,各自在不同的机器学习领域占有一席之地
    的头像 发表于 10-30 09:56 492次阅读
    <b class='flag-5'>PyTorch</b>与<b class='flag-5'>TensorFlow</b>的优点和缺点

    PyTorchTensorFlow的区别分析

    PyTorch是一个开源的深度学习框架,建立于Torch之上,底层为C++,并标榜Python First,强调其为Python 语言量身打造的,使用上就与Python项目的撰写并没有太大的差异,也能够与Python的套件相整合。
    发表于 10-27 10:41 715次阅读
    <b class='flag-5'>PyTorch</b> 与 <b class='flag-5'>TensorFlow</b>的区别分析

    iTOP-RK3588开发板使用 tensorflow框架

    TensorFlow 是一个软件库或框架,由 Google 团队设计,以最简单的方式实现机器学习和深度学习概念。它结合了优化技术的计算代数,便于计算许多数学表达式。TensorFlow 有以下 重要
    发表于 10-08 10:04

    如何往星光2板子里装pytorch

    如题,想先gpu版本的pytorch只安装cpu版本的pytorch,pytorch官网提供了基于conda和pip两种安装方式。因为咱是risc架构没对应的conda,而使用pip安装提示也没有
    发表于 09-12 06:30

    英特尔加入PyTorch基金会,通过PyTorch*推动AI普及

    不久前,英特尔宣布以Premier会员的身份加入PyTorch*基金会,并期待与各行各业的领军企业在开源PyTorch框架和生态系统上开展合作。PyTorch能够加速人工智能应用的开发
    的头像 发表于 08-19 11:15 337次阅读

    深度学习框架tensorflow介绍

    深度学习框架tensorflow介绍 深度学习框架TensorFlow简介 深度学习框架TensorFl
    的头像 发表于 08-17 16:11 1370次阅读

    深度学习框架pytorch介绍

    深度学习框架pytorch介绍 PyTorch是由Facebook创建的开源机器学习框架,其中TensorFlow是完全基于数据流图的。它是
    的头像 发表于 08-17 16:10 1112次阅读

    深度学习框架pytorch入门与实践

    深度学习框架pytorch入门与实践 深度学习是机器学习中的一个分支,它使用多层神经网络对大量数据进行学习,以实现人工智能的目标。在实现深度学习的过程中,选择一个适用的开发框架是非常关键
    的头像 发表于 08-17 16:03 1189次阅读

    人工智能为什么用python

    强大的库和框架支持:Python拥有丰富的开源类库和框架来支持人工智能开发,如: TensorFlow、Scikit-learn、PyTorch、Keras等,这些库和
    的头像 发表于 08-13 14:07 1523次阅读

    如何制作人工智能ai

    为了让制作人工智能更为简单,并且快速上手,可以选择一个开源框架。常见的开源框架包括TensorFlow,Keras和PyTorch。这些框架
    的头像 发表于 08-13 10:02 8346次阅读

    如何使用TensorFlow将神经网络模型部署到移动或嵌入式设备上

    有很多方法可以将经过训练的神经网络模型部署到移动或嵌入式设备上。不同的框架在各种平台上支持Arm,包括TensorFlowPyTorch、Caffe2、MxNet和CNTK,如Android
    发表于 08-02 06:43