Open-source

MagiCompiler — компиляция и оптимизация Transformer-моделей

Обзор по документации проекта · Проверено

MagiCompiler — изображение проекта

MagiCompiler — фреймворк для компиляции и оптимизации времени выполнения, основанный на torch.compile. Он предназначен для ускорения работы больших моделей архитектуры Transformer, преодолевая ограничения памяти и накладные расходы операторов. Проект предлагает системные оптимизации для обучения и многомодального инференса.

Возможности и состав проекта

Для инференса MagiCompiler захватывает полный граф вычислений, увеличивая область слияния ядер. Для обучения он предлагает компиляцию с учётом FSDP (Fully Sharded Data Parallel), что позволяет агрессивно объединять операции. Фреймворк также включает асинхронную выгрузку данных для систем с ограниченной памятью и эвристическую перекомпиляцию активаций, которая сокращает пиковое потребление памяти.

Начало работы и требования

Для использования MagiCompiler требуется Python версии 3.12 или выше, PyTorch версий 2.9.x или 2.12.x, а также CUDA Toolkit. Рекомендуется начать с предварительно собранного образа Docker для воспроизводимости. Проект находится в активной разработке, планируются дальнейшие интеграции с фреймворками и усовершенствования.

Ограничения и выбор сценария

Ускорение зависит от модели, формы входов, GPU и стоимости начальной компиляции. Захват полного графа и FSDP-оптимизации нельзя считать совместимыми с произвольным PyTorch-кодом. Сначала сравните численные результаты и потребление памяти с исходным режимом. Пример Docker в README использует расширенные привилегии и общие пространства имён; для своего сервера эти права нужно обосновать отдельно. Заявление free-lunch не отменяет проверки корректности и воспроизводимости.

Лицензия и условия использования

GitHub определяет лицензию репозитория как Apache-2.0. Перед использованием и распространением проверьте полный текст LICENSE и отдельные условия зависимостей, данных или моделей: лицензия репозитория не заменяет их лицензии.

Источники и документация