flexflow/flexflow-train

Automatically Discovering Fast Parallelization Strategies for Distributed Deep Neural Network Training

解決的問題

FlexFlow Train 解決了優化分散式深度神經網路(DNN)訓練的挑戰。開發者無需手動設定複雜的平行化策略,該框架會自動搜尋在硬體之間高效分配工作負載的最佳方式。

工作原理

該框架使用自動調校過程來發現最佳的平行化策略。支援從 PyTorch、TensorFlow Keras 和 ONNX 導入模型,並搜尋資料與模型參數的最佳分配方式。支援多種平行類型,包括資料平行、模型平行、參數平行與屬性平行,並提供 Python 與 C++ 接口以供實作。

適用對象

專為需要在多個 GPU 或節點上擴展訓練,並希望在不手動調整平行化設定的情況下最大化硬體效能的深度學習研究人員與工程師設計。

主要亮點

  • 自動平行化搜尋:自動發現可加速分散式訓練的高效策略。
  • 廣泛相容性:支援從 PyTorch、TensorFlow Keras 和 ONNX 導入模型。
  • 靈活的平行化:探索資料平行、模型平行、參數平行與屬性平行。
  • 多語言支援:提供 Python 與 C++ API 用於開發。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案