Kernels de GPU eficientes en Triton para entrenar LLM, que fusionan capas y funciones de pérdida comunes para reducir el uso de memoria y aumentar el rendimiento.
flagos-ai/FlagGems
Biblioteca de operadores con kernels de LLM compatibles con PyTorch, escritos en Triton y diseñados para funcionar en distintos backends de aceleradores de IA.
- Estrellas
- 1,160
- Forks
- 588
- Issues abiertos
- 1,113
- Último commit
- hace 2 horas
¿Qué es?
FlagGems es una biblioteca de operadores para modelos de lenguaje grandes, implementada en el lenguaje Triton. Ofrece una colección de kernels independientes del backend, pensados para acelerar el entrenamiento y la inferencia de LLM en distintas plataformas de hardware. Forma parte de la pila de software de sistema FlagOS.
FlagGems se registra en el backend ATen de PyTorch, por lo que el código PyTorch existente puede seguir usando las API habituales mientras los operadores subyacentes se ejecutan mediante kernels de Triton. El proyecto ofrece un amplio conjunto de operadores compatibles con PyTorch, kernels optimizados manualmente para algunos operadores y generación automática de código para operadores punto a punto. Funciona en modo eager y no depende de torch.compile.
La biblioteca incluye una interfaz para múltiples backends, compatible con hardware diverso, y declara que admite más de diez backends. El README menciona Bert-base-uncased, Llama-2-7b y Llava-1.5-7b como modelos de ejemplo usados en las pruebas.
Funciones clave
- 01Amplio conjunto de operadores compatibles con PyTorch
- 02Kernels optimizados manualmente para algunos operadores
- 03Compatible con el modo eager e independiente de torch.compile
- 04Generación automática de código para operadores punto a punto
- 05Interfaz para múltiples backends que abarca más de diez backends de hardware
Casos de uso
- Ejecutar entrenamiento o inferencia de LLM en aceleradores de IA que no sean NVIDIA sin reescribir el código PyTorch
- Migrar cargas de trabajo de PyTorch entre distintas pilas de software para chips
- Escribir o comparar el rendimiento de kernels de Triton con un conjunto de operadores de PyTorch
Temas
Preguntas frecuentes
- ¿Qué es FlagGems?
- Biblioteca de operadores con kernels de LLM compatibles con PyTorch, escritos en Triton y diseñados para funcionar en distintos backends de aceleradores de IA. FlagGems es una biblioteca de operadores para modelos de lenguaje grandes, implementada en el lenguaje Triton. Ofrece una colección de kernels independientes del backend, pensados para acelerar el entrenamiento y la inferencia de LLM en distintas plataformas de hardware. Forma parte de la pila de software de sistema FlagOS.
- ¿FlagGems es gratuito? ¿Qué licencia tiene?
- FlagGems es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿FlagGems sigue mantenido?
- Mantenimiento activo. El último commit de FlagGems fue el 22 oct 2026.
- ¿Para qué puedo usar FlagGems?
- Ejecutar entrenamiento o inferencia de LLM en aceleradores de IA que no sean NVIDIA sin reescribir el código PyTorch Migrar cargas de trabajo de PyTorch entre distintas pilas de software para chips Escribir o comparar el rendimiento de kernels de Triton con un conjunto de operadores de PyTorch
- ¿Dónde consigo FlagGems?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/flagos-ai/FlagGems
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Kernels basados en Triton y capas listas para entrenar para arquitecturas LLM de atención lineal, atención dispersa, espacio de estados e híbridas.
Acelerador multiplataforma para ejecutar modelos de ML exportados al formato ONNX, con compatibilidad para entrenar mediante scripts de PyTorch.
Modelos de lenguaje gpt-oss-120b y gpt-oss-20b de pesos abiertos de OpenAI, con código de referencia para inferencia, herramientas y clientes.
Cuaderno personal de estudio e ingeniería con kernels CUDA escritos a mano, ejemplos de CUTLASS/CuTe y Triton, y notas sobre optimización de LLM.
Framework para definir modelos de aprendizaje automático de última generación de texto, visión, audio y modalidades múltiples, para inferencia y entrenamiento.