Daily Arxiv

Esta página recopila y organiza artículos sobre inteligencia artificial publicados en todo el mundo.
La información aquí presentada se resume utilizando Google Gemini y el sitio se gestiona sin fines de lucro.
Los derechos de autor de los artículos pertenecen a sus autores y a las instituciones correspondientes; al compartir el contenido, basta con citar la fuente.

Tilus: un lenguaje de programación GPGPU a nivel de mosaico para computación de baja precisión

Created by
  • Haebom

Autor

Yaoyao Ding, Bohan Hou, Xiao Zhang, Allan Lin, Tianqi Chen, Cody Yu Hao, Yida Wang, Gennady Pekhimenko

Describir

Este artículo propone Tilus, un novedoso lenguaje específico de dominio (DSL) para la implementación eficiente de modelos de lenguaje a gran escala (LLM). La implementación de LLM requiere recursos computacionales significativos, y la computación de baja precisión es una forma eficaz de reducir el consumo de recursos. Los métodos existentes de generación de kernels de baja precisión tienen anchos de bits limitados a potencias de dos y presentan un rendimiento subóptimo debido a las abstracciones de programación de GPU de alto nivel. Tilus admite tipos de datos de baja precisión con anchos de bits arbitrarios de 1 a 8 bits, y presenta un modelo de programación a nivel de bloque con subprocesos, un espacio de memoria jerárquico y un novedoso sistema de diseño algebraico. Se compila en programas GPU eficientes mediante vectorización automática y selección de instrucciones, superando a métodos existentes como Triton, Ladder, QuantLLM y Marlin.

Takeaways, Limitations

Takeaways:
Presentamos Tilus, un nuevo DSL que admite tipos de datos de baja precisión con ancho de bits arbitrario, mejorando significativamente la eficiencia del servicio LLM.
Superamos las limitaciones de las abstracciones de programación de GPU de alto nivel existentes y logramos mejoras de rendimiento a través de una gestión de registros de grano fino y patrones de acceso a memoria optimizados.
Logramos una mejora del rendimiento de hasta 2,61x en comparación con métodos existentes como Triton, Ladder, QuantLLM y Marlin.
Tilus se ha lanzado como código abierto para permitir un uso generalizado.
Limitations:
Actualmente, solo se admiten tipos de datos de baja precisión de 1 a 8 bits. Es posible que se requiera compatibilidad con anchos de bits mayores o menores.
Las mejoras de rendimiento de Tilus se basan en resultados experimentales para hardware y LLM específicos, y el rendimiento puede variar en otros entornos.
El DSL puede tener una curva de aprendizaje y puede ser difícil de usar para desarrolladores sin experiencia previa en programación de GPU.
👍