今天是 OneFlow 开源的第 903 天,OneFlow v0.9.0 正式发布。本次更新包含 640 个 commit,完整更新列表请查看链接:https://github.com/Oneflow-In...,欢迎下载体验新版本,期待你的反馈。
OneFlow v0.9.0 主要包括以下新增亮点功能和优化:
1. PyTorch 兼容性
OneFlow 对 PyTorch API 和 模型的兼容性进一步提升。新增与 PyTorch 对齐的 86 个 API 接口 和 算子, 修复了 104 个算子兼容性相关的 bug。支持更多的 PyTorch 模型一键迁移成 OneFlow 模型,并获得性能加速。
- 支持 Stable Diffusion、GLM、YOLOv5 等模型一键迁移为 OneFlow 模型
- oneflow.load 支持直接加载 torch.save 的模型,模型迁移更方便
- 新增oneflow.mock_torch 模块 与 mock 方法(https://docs.oneflow.org/mast...),可以在不改变 PyTorch 的原始脚本的情况下,一键迁移包含多个脚本的复杂 PyTorch 模型。
2. 分布式编程易用性
Global Tensor 新增一系列方便分布式编程的接口与方法,并且修复了已知的相关 bug。
3. 支持自动并行
Graph 发布自动并行新特性(version 1) , 支持在指定 Placement 下自动搜索速度最快的 SBP 组合,使用 Global Tensor 编写分布式模型无需纠结是数据并行、模型并行还是混合并行。
文档参见:https://oneflow.readthedocs.i...
4. 性能优化
Graph 新增一系列与内存、执行速度、流水掩盖、编译速度相关的优化,提升性能,降低显存开销。
新增一系列算子优化与系统优化, 包括 Eager 的指令调度、高性能 CUDA kernel 、多内存池打通 等。
相比原始的基于 PyTorch、DeepSpeed、Apex 的 GLM 实现,基于OneFlow v0.9.0 训练 GLM-large(335M) 预训练模型,在简单调优后性能最高提升 3 倍,显存节省 1/3。
而在 Stable Diffusion 推理的性能表现上,在 A100 显卡,无论是 PCIe 40GB 还是 SXM 80GB 的配置,相比其他深度学习框架或编译器,OneFlow 的性能都是最快的。
5. 调试功能
Graph 提供一系列辅助调试的功能,包括:内存分析日志、编译阶段进度显示、计算图展示等。
6. IR
OneFlow IR 支持 JIT 编译 LR 代码、分布式描述 SBP signature 以及新增 OKL Dialect 等更多编译优化功能。
7. OneFlow-ONNX 工具
OneFlow-ONNX v0.6.0 版本发布,提升了转换接口的易用性,开发了多个新的特性,并新增支持 6 种模型以及 20 余种 Op,以及修复 6 个转换过程中的 bug。pip install oneflow-onnx==0.6.0 一键安装使用 。
仓库地址:https://github.com/Oneflow-In...
8. 报错信息提示
报错信息提示更加友好,支持高亮显示报错内容,简化大量系统内部信息细节,可以直观地了解出错的位置和类型。
完整版 OneFlow v0.9.0 更新内容请查看:https://github.com/Oneflow-In...
感谢以下贡献者:
liujuncheng, BBuf, wyg1997, jackalcooper, Flowingsun007, clackhan, daquexian, marigoold, lixinqi, guo-ran, hjchen2, strint, ouyangyu, MARD1NO, small1945, reygu, Ldpe2G, leaves-zwx, Yipeng1994, zhongshsh, lixiang007666, mosout, chengtbf, hhhfccz, doombeaker, howin98, xiacijie, farmerzhang1, shangguanshiyuan, JasonChen9, liufengwei0103, youxiudeshouyeren, laoliu97, EsdeathYZH, rejoicesyc, AsakusaRinne, LijunZhang01, Chenqll, xiezipeng-ML, simonJJJ, ShawnXuan
欢迎 Star、试用 OneFlow 最新版本:https://github.com/Oneflow-In...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。