Repolode
pytorch

pytorch/ao

Библиотека на базе PyTorch для квантования, разреженных моделей и обучения в формате float8 — для обучения моделей и инференса.

Звёзды
3,013
Форки
655
Открытые issues
819
Последний коммит
позавчера

Что это?

TorchAO — библиотека для квантования и оптимизации моделей, созданная непосредственно на базе PyTorch. Она поддерживает квантование только весов и динамическое квантование, в том числе int4, int8 и float8, обучение с учётом квантования (QAT), рецепты обучения в форматах float8 и MXFP8, разреженные модели и квантованные оптимизаторы, которые сокращают расход памяти на оптимизатор.

Библиотека рассчитана на совместную работу с torch.compile и FSDP2 и поддерживает большинство моделей Hugging Face на PyTorch. Квантованные модели можно создавать через API quantize_ или интеграции с transformers и diffusers, а затем запускать с бэкендами вроде vLLM и SGLang либо развёртывать на периферийных устройствах с помощью ExecuTorch.

TorchAO используют такие проекты, как TorchTitan для предобучения в формате float8, TorchTune для рецептов QLoRA и QAT, а также Unsloth и Axolotl для дообучения с QAT.

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

  • 01Квантование весов и активаций в int4, int8 и float8 для инференса.
  • 02Рецепты обучения с учётом квантования (QAT), позволяющие восстановить точность, потерянную после квантования.
  • 03Поддержка обучения в форматах float8 и MXFP8, совместимая с torch.compile и FSDP2.
  • 04Квантованные оптимизаторы (8-битный, 4-битный, fp8 AdamW) и выгрузка данных на CPU при работе с одной GPU для сокращения расхода памяти.
  • 05Интеграции с Hugging Face transformers, diffusers, vLLM, SGLang и ExecuTorch.

Сценарии использования

  • Запуск большой языковой модели с весами int4 или float8, чтобы снизить расход памяти GPU и задержку.
  • Дообучение квантованной модели с QAT, чтобы ограничить потерю точности при инференсе с низкой разрядностью.
  • Предобучение больших моделей-трансформеров в формате float8 на кластерах с несколькими GPU.
  • Развёртывание квантованной модели на мобильном или периферийном устройстве с помощью ExecuTorch.

Быстрый старт

  1. 1

    Установите последнюю стабильную версию TorchAO из PyPI

    pip install torchao
  2. 2

    Квантуйте веса модели до int4 с помощью quantize_ (замените model на свою модель PyTorch)

    quantize_(model, Int4WeightOnlyConfig(group_size=32, int4_packing_format="tile_packed_to_4d", int4_choose_qparams_algorithm="hqq"))

Что важно знать

  • Для некоторых дополнительных ядер и функций обучения нужны дополнительные пакеты и определённые сборки CUDA.
  • Функции обучения Float8 и MoE зависят от определённого оборудования GPU.

Темы

Частые вопросы

Что такое ao?
Библиотека на базе PyTorch для квантования, разреженных моделей и обучения в формате float8 — для обучения моделей и инференса. TorchAO — библиотека для квантования и оптимизации моделей, созданная непосредственно на базе PyTorch. Она поддерживает квантование только весов и динамическое квантование, в том числе int4, int8 и float8, обучение с учётом квантования (QAT), рецепты обучения в форматах float8 и MXFP8, разреженные модели и квантованные оптимизаторы, которые сокращают расход памяти на оптимизатор.
ao можно использовать бесплатно? Какая у него лицензия?
ao распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
ao всё ещё поддерживается?
Активно поддерживается. Последний коммит в ao — 19 окт. 2026 г..
Для чего можно использовать ao?
Запуск большой языковой модели с весами int4 или float8, чтобы снизить расход памяти GPU и задержку. Дообучение квантованной модели с QAT, чтобы ограничить потерю точности при инференсе с низкой разрядностью. Предобучение больших моделей-трансформеров в формате float8 на кластерах с несколькими GPU. Развёртывание квантованной модели на мобильном или периферийном устройстве с помощью ExecuTorch.
Как установить ao?
Установите последнюю стабильную версию TorchAO из PyPI: pip install torchao Квантуйте веса модели до int4 с помощью quantize_ (замените model на свою модель PyTorch): quantize_(model, Int4WeightOnlyConfig(group_size=32, int4_packing_format="tile_packed_to_4d", int4_choose_qparams_algorithm="hqq"))
Где скачать ao?
Исходный код и инструкции по установке — на GitHub: https://github.com/pytorch/ao

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты