flexflow/FlexFlow

Автоматическое обнаружение быстрых стратегий параллелизации для распределенного обучения глубоких нейронных сетей

Обучение⭐ 1 900C++последний релиз: r22.07
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

FlexFlow Train — это фреймворк для распределенного обучения глубоких нейронных сетей, который автоматически находит оптимальные стратегии параллелизации.

Зачем нужен

Инструмент решает проблему ручного выбора и настройки методов параллелизации (data, model, parameter, attribute), экономя время исследователей и инженеров. Он работает как замена PyTorch и TensorFlow Keras, позволяя запускать существующие модели с минимальными изменениями в коде, автоматически оптимизируя производительность на кластерах GPU.

Что можно реализовать

  • Автоматический поиск лучшей стратегии параллелизации для больших моделей без ручного тюнинга
  • Запуск существующих PyTorch или Keras моделей в распределенной среде с минимальными правками кода
  • Экспорт и импорт найденных стратегий параллелизации для воспроизводимости результатов
  • Оптимизация обучения на кластерах с множеством GPU с использованием Legion runtime

Ключевые возможности

  • Автоматический поиск стратегий параллелизации через MCMC-поиск
  • Поддержка PyTorch, TensorFlow Keras и ONNX моделей
  • Возможность экспорта и импорта найденных стратегий (--export-strategy / --import-strategy)
  • Поддержка параметрического и атрибутивного параллелизма через флаги командной строки
  • Интеграция с Legion runtime для управления ресурсами GPU и CPU

👤 Кому подойдёт: ML-инженеры, исследователи в области распределенного обучения, разработчики, работающие с крупными нейросетями на GPU-кластерах

Релизы

r22.07majorbreaking
🕐 50 мес назад · релиз на GitHub ↗

Последний стабильный релиз до слияния с Unity: внедрены PCG, новый алгоритм поиска и поддержка новых видов параллелизма.

  • Breaking: Это последний стабильный релиз перед слиянием с Unity; изменения доступны в ветке master.
  • Added: Внедрены параллельные вычислительные графы (PCG) для единого представления распределенного обучения DNN.
  • Added: Добавлена поддержка новых видов параллелизма, включая редукцию и специфичные для операторов стратегии.
  • Added: Поисковый алгоритм MCMC заменен на трехуровневый иерархический поиск для совместной оптимизации.