Быстрая и эффективная по памяти библиотека и сервер для запуска и обслуживания больших языковых моделей через API, совместимый с OpenAI.
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
Установите последнюю стабильную версию TorchAO из PyPI
pip install torchao - 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 обновляется ежедневно.
Похожие проекты
Библиотека Python, которая запускает большие языковые модели послойно и позволяет выполнять инференс моделей класса 70B на одной GPU с 4 ГБ памяти без квантования.
Движок инференса LLM на Rust с API, совместимыми с OpenAI и Anthropic, квантованием, мультимодальными моделями и инструментами для агентов.
PyTorch-движок инференса для Diffusion Transformers (DiT), который ускоряет работу Diffusers за счёт кэширования, параллелизма, квантования и выгрузки на CPU.
Python-фреймворк для сжатия нейросетей с помощью квантования, прореживания и разреживания, ускоряющий инференс в OpenVINO, PyTorch и ONNX.
Открытый справочник с методиками, скриптами и пошаговыми руководствами по обучению, дообучению и инференсу больших языковых и мультимодальных моделей.