OneFlow v0.5.0正式上线:四大特性实现轻快上手,高效、易用从此兼得
9月27日,在中关村论坛国际技术交易大会上,一流科技创始人&CEO袁进辉宣布深度学习框架OneFlow v0.5.0正式上线GitHub,他重点介绍了OneFlow v0.5.0的四大特性。自2020年7月31日开源以来,本次产品升级是OneFlow功能发布最重磅的版本。
高效、易用、完备是任一深度学习框架在未来竞争中胜出的必由之路。在用三年时间攻关最难的分布式计算和高效性问题后,OneFlow开源以来,已历经五次版本更迭,重点从优化编译、API接口等层面攻关易用性体验,同时持续优化分布式性能,保持业界领先地位。
一方面,OneFlow框架一开始就瞄准最具挑战的高效性,攻占技术制高点,并以此成为立足业界的安身之本。另一方面,随着OneFlow v0.5.0的发布,OneFlow将带给开发者革命性的易用性体验,同时,也从全局视角打破了深度学习框架易用性和高效性不可兼得的桎梏,向着全球范围内最好用深度学习框架的目标迈出了坚实的一大步。
值得一提的是,本次产品升级也入选了2021年度中关村论坛“百项新技术新产品榜单”。
1
四个“一”实现极致易用性体验
相比此前的版本,OneFlow v0.5.0在易用性上实现了四大技术特性。
一行代码实现OneFlow与PyTorch切换
凭借易用性,PyTorch在深度学习框架市场异军突起,其在单卡的eager mode,pythonic,面向对象编程等使用设计上广受认可。新发布的OneFlow v0.5.0也接收了其设计想法,使其在编程API层面和PyTorch严格对齐,并对齐了相关模型的200多个算子。
对喜欢使用PyTorch的eager模式的开发者来说,只需更改一行代码,就可以让PyTorch上写的代码在OneFlow中跑起来。
一段代码实现动态图与静态图转换
在编码调试阶段,动态图的编程模式的体验最好,但当模型稳定后,静态图模式在运行效率方面更有优势。因此,最理想的框架是同时支持二者,使用户在一个框架上享受到最佳的动、静态体验,并且最好动、静态图可以自由转换。
在OneFlow v0.5.0中,开发者只需把使用动态模式开发的代码用nn.Graph封装起来,就可以享受静态图的好处。当然,要想实现完全自动的动、静态转换,还需要我们进一步攻关。
一致性视角实现单机和分布式无缝切换
随着数据和模型的规模越来越大,单卡和单机已经不能满足开发者的需求,很多工业级的深度学习模型必须在分布式集群上训练。
然而,由于分布式编程的门槛太高,且大部分算法科学家对分布式编程并不熟悉,这给分布式训练带来一定挑战。
为了让开发者无须关注复杂的分布式底层细节,只专注于逻辑层面的神经网络搭建,OneFlow创造性地发明了一致性视角(Consistent View)的概念,把分布式的多卡模拟成一块超大的虚拟设备,统一了单机和分布式的编程接口,从而方便让算法工程师低成本使用分布式计算来加速。
一套系统支持各种并行模式
不同神经网络的最优并行方法并不相同,像CNN这类大数据、小模型的神经网络层次最好用数据并行,对超大的全连接层这种模型更大的层次最好用模型并行,对于feature map超大或者层次超深的神经网络更适合流水并行。
但很不幸,原有主流框架仅支持常用的数据并行,要想使用模型并行或者流水并行功能,就必须借助某种插件或者做深度定制,而且这种定制系统都只能用于HugeCTR,Megatron-LM等某一种类型的神经网络。
OneFlow在系统层面支持了数据并行、模型并行和流水并行,不需要额外的插件和定制开发,就可以以最小代码量高效支持任何神经网络。
2
“人有我优,人无我有”的高效性
要知道,原有深度学习框架都聚焦于单卡的用户体验,仅对适合数据并行的多机多卡场景处理的较好,但遇到Wide and Deep模型 、 GPT-3等超大模型,开发者就会面临多机多卡编程难、效率低下或无法实现等分布式深度学习的痛点。
框架平台标准化:深度学习算法的标准化,带来了软件标准化的机会,深度学习框架正在走向标准化。
生态决定框架未来的竞争力:之江实验室、北京智源人工智能研究院、粤港澳大湾区数字经济研究院、中关村智用人工智能研究院等顶尖AI科研院所已使用OneFlow框架开展研究工作。同时,联合寒武纪、燧原科技、曙光DCU等芯片、云厂商上下游企业,推进适配OneFlow框架的超大模型训练方案。下一步,一流科技将推动与更多芯片厂商和广大开发者的合作,打造AI平台的繁荣生态。
软件2.0趋势:前特斯拉AI 负责人Andrej Karpathy曾指出,软件 1.0 的“经典堆栈”是用 Python、C++ 等语言编写的计算机显式指令,与 软件1.0 不同,软件 2.0 用深度学习模型从数据中自动推导生成软件的编程范式,深度学习框架将成为软件2.0时代的操作系统。