今天是 OneFlow 开源的第 903 天,OneFlow v0.9.0 正式发布。本次更新包含 640 个 commit,完整更新列表请检查链接:github.com/Oneflow-Inc… ,欢迎下载体验新版别,期待你的反馈。
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 方法(docs.oneflow.org/master/cook… ),能够在不改变 PyTorch 的原始脚本的情况下,一键搬迁包含多个脚本的复杂 PyTorch 模型。
2. 分布式编程易用性
Global Tensor 新增一系列便利分布式编程的接口与方法,而且修正了已知的相关 bug。
3. 支撑主动并行
Graph 发布主动并行新特性(version 1) ,支撑在指定 Placement 下主动搜索速度最快的 SBP 组合,运用 Global Tensor 编写分布式模型无需纠结是数据并行、模型并行仍是混合并行。
文档拜见:
oneflow.readthedocs.io/en/master/a…
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一键装置运用 。
库房地址:github.com/Oneflow-Inc…
8. 报错信息提示
报错信息提示愈加友好,支撑高亮显现报错内容,简化很多体系内部信息细节,能够直观地了解出错的方位和类型。
完整版 OneFlow v0.9.0 更新内容请检查:
github.com/Oneflow-Inc…
感谢以下贡献者:
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 最新版别:
github.com/Oneflow-Inc…