Эффективные GPU-ядра Triton для обучения LLM: объединяют распространённые слои и функции потерь, снижая расход памяти и повышая пропускную способность.
flagos-ai/FlagGems
Библиотека операторов на Triton с ядрами, совместимыми с PyTorch и LLM, для работы на разных AI-ускорителях.
- Звёзды
- 1,160
- Форки
- 588
- Открытые issues
- 1,113
- Последний коммит
- 53 минуты назад
Что это?
FlagGems — библиотека операторов для больших языковых моделей, реализованная на языке Triton. Она включает набор независимых от бэкенда ядер, предназначенных для ускорения обучения и инференса LLM на разных аппаратных платформах. Проект входит в системный программный стек FlagOS.
FlagGems регистрируется в бэкенде ATen для PyTorch, поэтому существующий код PyTorch может использовать привычные API, а операторы при этом выполняются с помощью ядер Triton. В проекте есть большой набор совместимых с PyTorch операторов, вручную оптимизированные ядра для некоторых операторов и автоматическая генерация кода для поэлементных операторов. Библиотека работает в eager-режиме и не зависит от torch.compile.
Библиотека поддерживает несколько бэкендов для разных типов оборудования и заявляет о поддержке более десяти бэкендов. В README в качестве тестовых моделей указаны Bert-base-uncased, Llama-2-7b и Llava-1.5-7b.
Ключевые возможности
- 01Большой набор операторов, совместимых с PyTorch
- 02Вручную оптимизированные ядра для некоторых операторов
- 03Поддержка eager-режима без зависимости от torch.compile
- 04Автоматическая генерация кода для поэлементных операторов
- 05Интерфейс для работы с более чем десятью аппаратными бэкендами
Сценарии использования
- Обучение и инференс LLM на AI-ускорителях не от NVIDIA без переписывания кода PyTorch
- Перенос рабочих нагрузок PyTorch между программными стеками разных чипов
- Написание ядер Triton и их тестирование производительности на наборе операторов PyTorch
Темы
Частые вопросы
- Что такое FlagGems?
- Библиотека операторов на Triton с ядрами, совместимыми с PyTorch и LLM, для работы на разных AI-ускорителях. FlagGems — библиотека операторов для больших языковых моделей, реализованная на языке Triton. Она включает набор независимых от бэкенда ядер, предназначенных для ускорения обучения и инференса LLM на разных аппаратных платформах. Проект входит в системный программный стек FlagOS.
- FlagGems можно использовать бесплатно? Какая у него лицензия?
- FlagGems распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- FlagGems всё ещё поддерживается?
- Активно поддерживается. Последний коммит в FlagGems — 22 окт. 2026 г..
- Для чего можно использовать FlagGems?
- Обучение и инференс LLM на AI-ускорителях не от NVIDIA без переписывания кода PyTorch Перенос рабочих нагрузок PyTorch между программными стеками разных чипов Написание ядер Triton и их тестирование производительности на наборе операторов PyTorch
- Где скачать FlagGems?
- Исходный код и инструкции по установке — на GitHub: https://github.com/flagos-ai/FlagGems
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Ядра на Triton и готовые к обучению слои для линейного и разреженного внимания, моделей пространства состояний и гибридных архитектур LLM.
Кроссплатформенный ускоритель для запуска ML-моделей, экспортированных в формат ONNX, с поддержкой обучения с помощью PyTorch-скриптов.
Открытые веса языковых моделей gpt-oss-120b и gpt-oss-20b от OpenAI, а также эталонные реализации инференса, инструментов и клиентского кода.
Личный учебный и инженерный блокнот с CUDA-ядрами, написанными вручную, примерами CUTLASS/CuTe и Triton, а также заметками об оптимизации LLM.
Фреймворк с определениями современных моделей машинного обучения для текста, изображений, аудио и мультимодальных задач — для обучения и инференса.