[]深度学习框架的灵魂( 四 )


Paddle是国内第一个开源深度学习框架 , 是国内框架孤独的先行者 , 可以想见Paddle团队在公司内外曾承担的压力 。历经了几代架构师和几个大的版本迭代 , 最初的设计是Caffe+ParameterServer , 当TensorFlow面世之后 , 在一些基础概念的抽象上模仿了TensorFlow , 此后又带有了一些PyTorch的色彩 , 设计理念不够稳定 。
Paddle的一个特色是模型库丰富 , 有来自百度内部各个业务部门的需求反馈和贡献 , Paddle在几个国产框架里是模型库最丰富的 , 甚至给人一种业务模型强过系统核心的感觉 , 这一般也源自业务部门和基础架构部门的话语权对比 。Paddle和后来者Mindspore相比 , 对无人区探索的勇气是欠缺的 。
Paddle早期团队很多工程师都不再做框架研发了 , 让人扼腕叹息 , 框架研发对工程师造成了什么样的伤害 , 以至于他们如此决绝地告别这个方向 。
MegEngine:
MegEngine是一个实现很优雅的框架 , 我很喜欢 。也是历时多年研发 , 核心团队比较小 , 但码力很强(我从不止一位旷视同仁那里听到码力这个词) , 旷视不缺这样的天才程序员 , 因为主程非常聚焦 , 所以在概念一致上非常好 , 精英主义打法的代表 。
这个框架追求训练推理一体化 , 推理框架是比训练框架简化的一个问题 , 以内存优化为例 , 在简化的问题上容易发现一些优化套路 , 可以反推到训练场景 , 一开始解决训练场景的问题反而不好入手 。
总体上 , MegEngine在创新思路上没有超越于深度学习框架的已有认识 。
Mindspore:
Mindspore个人带来了惊喜 , 在众所周知的难题上勇闯无人区 , auto-parallel完成度很高 , 数据并行 , 模型并行和混合并行 。
好像我应该算在社区最多鼓吹这个概念 , 也比较早 , 但并没有发表论文 , 近些年GoogleMesh-tensorflow,gpipe也都出了论文 , 之前MXNet团队的WangMinjie也发过相关论文 , 斯坦福的FlexFlow等都曾讨论过相关思路 , 尽管有这些先行者 , 但完整的在框架内实现出来是非常不易的 。
Mindspore团队集合了大学教授 , 2012实验室编译、分布式系统方向造诣很深的架构师 , 最顶级的工程师团队 , 既谦逊又无畏 , 令人敬畏 , 只要是好的想法 , 都可以为我所用 , 如果一个问题很重要 , 还没有可模仿的先例 , 也一定不惜任何代价搞定 , 有人说Mindspore团队说“是一帮狠人” , 可以说是非常高的评价了 。
Mindspore的代码不是那么美观 , 类似Googlestyle , 但细节上并没有严格执行 , 和Tensorflow一样不嫌麻烦的抽象 , 这种方式适合大规模协同研发 , 又一定程度上保证质量 。
总结
这些年 , 和很多人交流过深度学习框架 , 绝大多数人认为深度学习框架已陷入思路枯竭 , 没有什么花样可做了 , 但创新势不可挡 , 总还是有新的思路出现 。
框架已进入疯狂弥补自身短板的白热化竞争 , 同时 , 有杀手锏创新的话 , 有可能一剑封喉 。国内研发的框架虽然个性还不够强 , 但已经实现了局部突破 , 未来可期 。
等Oneflow开源之后 , 希望也能写一篇《Oneflow之魂》补全这篇文章 。
作者介绍:
袁进辉博士 , 北京一流科技有限公司创始人 , 中关村数智产业联盟副理事长 , 之江实验室天枢开源开放平台架构师 , 清华大学人工智能研究院视觉研究中心客座研究员 。清华大学计算机系博士、博士后 , 师从中国人工智能泰斗、清华人工智能研究院院长张钹院士 。


推荐阅读