flexflow/flexflow-train
Automatically Discovering Fast Parallelization Strategies for Distributed Deep Neural Network Training
What it solves
FlexFlow Train addresses the challenge of optimizing distributed deep neural network (DNN) training. Instead of requiring developers to manually configure complex parallelization strategies, it automatically searches for the most efficient way to distribute the workload across hardware.
How it works
The framework uses an autotuning process to discover optimal parallelization strategies. It can import models from PyTorch, TensorFlow Keras, and ONNX, and then search for the best distribution of data and model parameters. It supports multiple types of parallelism, including data, model, parameter, and attribute parallelism, and provides both Python and C++ interfaces for implementation.
Who it’s for
It is designed for deep learning researchers and engineers who need to scale their training across multiple GPUs or nodes and want to maximize hardware performance without manually tuning parallelization settings.
Highlights
- Automatic Parallelization Search: Automatically finds efficient strategies to accelerate distributed training.
- Broad Compatibility: Supports importing models from PyTorch, TensorFlow Keras, and ONNX.
- Flexible Parallelism: Explores data, model, parameter, and attribute parallelism.
- Multi-Language Support: Offers both Python and C++ APIs for development.
Related
- Project
- Project
- Project
- Project
- Project