NCCL — библиотека NVIDIA с оптимизированными примитивами обмена данными между GPU, такими как all-reduce и all-gather, для обучения на одном или нескольких узлах.
NVIDIA/apex
Расширение NVIDIA для PyTorch с утилитами смешанной точности и распределённого обучения, а также опциональными fusion-ядрами CUDA и C++.
- Звёзды
- 9,001
- Форки
- 1,532
- Открытые issues
- 777
- Последний коммит
- 5 дней назад
Что это?
Apex — набор утилит от NVIDIA для расширения PyTorch средствами обучения со смешанной точностью и распределённого обучения. Он призван предоставлять пользователям актуальные инструменты для обучения до того, как они войдут в основную кодовую базу PyTorch.
В пакет входят fusion-ядра для распространённых операций, таких как Adam, нормализация слоёв и softmax, а также пространство имён contrib с экспериментальными модулями для разреженных моделей, функции потерь transducer, блоков bottleneck и распределённых оптимизаторов. Многие из этих компонентов собираются как опциональные расширения C++/CUDA, которые можно включить с помощью переменных окружения во время установки.
Также поддерживается сборка только на Python, но в ней нет fusion-ядер, а DistributedDataParallel, amp и SyncBatchNorm работают медленнее. Контейнеры NVIDIA для PyTorch на NGC поставляются со всеми расширениями, установленными заранее.
Ключевые возможности
- 01Утилиты для обучения со смешанной точностью в PyTorch (apex.amp).
- 02Инструменты для распределённого обучения, включая DistributedDataParallel и SyncBatchNorm.
- 03Fusion-оптимизаторы и ядра нормализации слоёв, собранные как расширения CUDA.
- 04Модульные пакеты contrib, которые можно включать по отдельности во время установки.
- 05Вариант установки только на Python для сред без инструментов разработки CUDA.
Сценарии использования
- Ускорение обучения больших моделей на GPU NVIDIA с использованием смешанной точности.
- Запуск обучения PyTorch на нескольких GPU или узлах с помощью fusion-утилит для распределённых вычислений.
- Эксперименты с fusion-оптимизаторами и слоями нормализации в собственном коде обучения.
Быстрый старт
- 1
Клонируйте репозиторий
git clone https://github.com/NVIDIA/apex - 2
Перейдите в каталог проекта
cd apex - 3
Соберите и установите основные расширения C++ и CUDA
APEX_CPP_EXT=1 APEX_CUDA_EXT=1 pip install -v --no-build-isolation .
Что важно знать
- Для сборки расширений CUDA и C++ требуется совместимая конфигурация PyTorch и CUDA.
- Некоторые модули apex.contrib работают только с nightly-сборками PyTorch, а не со стабильными версиями.
- Установка в Windows носит экспериментальный характер.
В подборках
Темы
Частые вопросы
- Что такое apex?
- Расширение NVIDIA для PyTorch с утилитами смешанной точности и распределённого обучения, а также опциональными fusion-ядрами CUDA и C++. Apex — набор утилит от NVIDIA для расширения PyTorch средствами обучения со смешанной точностью и распределённого обучения. Он призван предоставлять пользователям актуальные инструменты для обучения до того, как они войдут в основную кодовую базу PyTorch.
- apex можно использовать бесплатно? Какая у него лицензия?
- apex распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- apex всё ещё поддерживается?
- Активно поддерживается. Последний коммит в apex — 2 нояб. 2026 г..
- Для чего можно использовать apex?
- Ускорение обучения больших моделей на GPU NVIDIA с использованием смешанной точности. Запуск обучения PyTorch на нескольких GPU или узлах с помощью fusion-утилит для распределённых вычислений. Эксперименты с fusion-оптимизаторами и слоями нормализации в собственном коде обучения.
- Как установить apex?
- Клонируйте репозиторий: git clone https://github.com/NVIDIA/apex Перейдите в каталог проекта: cd apex Соберите и установите основные расширения C++ и CUDA: APEX_CPP_EXT=1 APEX_CUDA_EXT=1 pip install -v --no-build-isolation .
- Где скачать apex?
- Исходный код и инструкции по установке — на GitHub: https://github.com/NVIDIA/apex
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Оптимизированная для GPU библиотека и эталонные скрипты для обучения крупных трансформерных моделей с многомерным параллелизмом.
Библиотека для оптимизации глубокого обучения, упрощающая и ускоряющая распределённое обучение и инференс больших моделей.
Система на базе PyTorch для распределённого обучения и инференса крупных AI-моделей с поддержкой параллелизма, оптимизации памяти и гетерогенного обучения.
Фреймворк для глубокого обучения на PyTorch: автоматизирует циклы обучения, масштабирование на несколько GPU и типовую инженерную работу, сохраняя полный контроль над кодом модели.
Оптимизированная библиотека Microsoft для обучения и инференса MoE-моделей в PyTorch, включая низкоточный инференс моделей DeepSeek, Qwen и GLM.