天天看點

OneFlow v0.9.0正式釋出

作者:OneFlow
OneFlow v0.9.0正式釋出

今天是 OneFlow 開源的第 903 天,OneFlow v0.9.0 正式釋出。本次更新包含 640 個 commit,完整更新清單請檢視連結:https://github.com/Oneflow-Inc/oneflow/releases/tag/v0.9.0,歡迎下載下傳體驗新版本,期待你的回報。

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/master/cookies/oneflow_torch.html),可以在不改變 PyTorch 的原始腳本的情況下,一鍵遷移包含多個腳本的複雜 PyTorch 模型。

2. 分布式程式設計易用性

Global Tensor 新增一系列友善分布式程式設計的接口與方法,并且修複了已知的相關 bug。

3. 支援自動并行

Graph 釋出自動并行新特性(version 1) , 支援在指定 Placement 下自動搜尋速度最快的 SBP 組合,使用 Global Tensor 編寫分布式模型無需糾結是資料并行、模型并行還是混合并行。

文檔參見:

https://oneflow.readthedocs.io/en/master/auto_parallel.html

4. 性能優化

Graph 新增一系列與記憶體、執行速度、流水掩蓋、編譯速度相關的優化,提升性能,降低顯存開銷。

新增一系列算子優化與系統優化, 包括 Eager 的指令排程、高性能 CUDA kernel 、多記憶體池打通 等。

OneFlow v0.9.0正式釋出
OneFlow v0.9.0正式釋出

相比原始的基于 PyTorch、DeepSpeed、Apex 的 GLM 實作,基于OneFlow v0.9.0 訓練 GLM-large(335M) 預訓練模型,在簡單調優後性能最高提升 3 倍,顯存節省 1/3。

OneFlow v0.9.0正式釋出
OneFlow v0.9.0正式釋出

而在 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-Inc/oneflow_convert

8. 報錯資訊提示

報錯資訊提示更加友好,支援高亮顯示報錯内容,簡化大量系統内部資訊細節,可以直覺地了解出錯的位置和類型。

完整版 OneFlow v0.9.0 更新内容請檢視:

https://github.com/Oneflow-Inc/oneflow/releases/tag/v0.9.0

感謝以下貢獻者:

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-Inc/oneflow/

繼續閱讀