Las multiplicaciones de matriz eficientes siguen siendo un componente crítico en modernos aprendizaje profundo y computación de alto rendimiento. A medida que los modelos se vuelven cada vez más complejos, los enfoques convencionales para la multiplicación general de la matriz (GEMM) a menudo enfrentan desafíos relacionados con las limitaciones de ancho de banda de memoria, precisión numérica y utilización de hardware subóptimo. Estos problemas se complican aún más por el uso emergente de formatos de precisión mixta, como FP8, que exigen un manejo cuidadoso para evitar inexactitudes computacionales. Los avances recientes en las arquitecturas de GPU, particularmente los núcleos de tensor de la tolva de Nvidia, han creado oportunidades para mejorar el rendimiento, pero solo si el software está diseñado para explotar completamente estas capacidades. En este contexto, existe la necesidad de herramientas que no solo aborden estos cuellos de botella de rendimiento, sino que también mantengan simplicidad y transparencia en su diseño.
La liberación de DeepGemm de Deepseek AI marca un enfoque reflexivo para mejorar las operaciones GEMM de FP8. Diseñado específicamente para multiplicaciones de matriz FP8 eficientes y limpias con escala de grano fino, DeepGemm admite GEMMS estándar y combinados (MOE). La biblioteca está escrita en CUDA y se destaca por el uso de la compilación de núcleo de tiempo de ejecución a través de un módulo liviano de justo a tiempo (JIT). Esta elección de diseño significa que no hay necesidad de largos procesos de tiempo de compilación durante la instalación, lo que hace que sea sencillo integrarse en los proyectos existentes. DeepGemm se adapta a los núcleos de tensor de tolva Nvidia, asegurando que aproveche las capacidades modernas de hardware al tiempo que aborda desafíos inherentes, como las acumulaciones imprecisas de FP8.
Detalles y beneficios técnicos
En su núcleo, DeepGemm emplea una escala de grano fino combinada con la aritmética FP8 a la velocidad de equilibrio y la precisión numérica. Para contrarrestar los problemas con la acumulación central del tensor FP8, la biblioteca utiliza una estrategia de acumulación de dos niveles a través de CUDA núcleos, a menudo descritos como promoción. Este enfoque minimiza los errores durante el cálculo sin sacrificar el rendimiento. La implementación es notablemente concisa, con una función de núcleo de un solo núcleo que abarca alrededor de 300 líneas de código. Tal simplicidad no solo ayuda a comprender los principios subyacentes, sino que también facilita más refinamientos por parte de la comunidad.
DeepGemm se inspira en bibliotecas establecidas como Cutlass y Linde, pero deliberadamente evita una gran dependencia de plantillas complejas o marcos algebraicos. En cambio, el enfoque permanece en proporcionar una base de código limpia y accesible que se concentra en optimizar las operaciones GEMM para configuraciones normales y agrupadas. El soporte para GEMMS agrupados, diseñado para modelos MOE, se implementa en dos formas: diseños contiguos y enmascarados. Cada uno está cuidadosamente estructurado para acomodar diferentes recuentos de tokens por experto, lo que refleja las demandas prácticas de la inferencia moderna y las tareas de capacitación.
Información y consideraciones de rendimiento
Los datos de rendimiento proporcionados en el repositorio de DeepGemm ofrecen una imagen clara de sus mejoras de eficiencia. Las pruebas en NVIDIA H800 GPU con NVCC 12.8 indican que, en una gama de dimensiones de matriz, DeepGemm logra aceleras que se comparan favorablemente con una implementación basada en cortesis cuidadosamente optimizada. Por ejemplo, las operaciones GEMM normales demuestran factores de aceleración que van desde aproximadamente 1.4x a 2.7x, dependiendo de la forma de matriz específica. En el contexto de GEMMS agrupados para los modelos MOE, los diseños contiguos y enmascarados muestran mejoras consistentes, aunque más modestas, con aceleraciones de alrededor de 1.1x a 1.2x.
Estas ganancias de rendimiento son el resultado de varias decisiones de diseño reflexivas. La estrategia de compilación JIT de la biblioteca permite la optimización dinámica de los parámetros del núcleo, como los tamaños de bloque, el número de etapas de tuberías y grupos de guerra, se colocan en las formas y configuraciones de hardware específicas de GEMM. Además, la utilización del Acelerador de memoria tensor de Hopper (TMA) ayuda a optimizar el movimiento de datos, lo que es un factor significativo para lograr un alto rendimiento en las arquitecturas modernas de GPU. El repositorio también detalla varias funciones de utilidad que ayudan a los desarrolladores a alinear las dimensiones del tensor y la configuración de la memoria compartida, asegurando que la biblioteca pueda integrarse suavemente en sistemas más grandes.
Conclusión
DeepGemm representa un enfoque medido y efectivo para los desafíos de los cálculos GEMM FP8. Al centrarse tanto en la precisión como en el rendimiento, la biblioteca proporciona una solución elegante para investigadores y profesionales que buscan optimizar las multiplicaciones de matriz en núcleos de tensor de tolva nvidia. Su diseño enfatiza la claridad y la accesibilidad, evidente en la base de código conciso y la eliminación de los pasos previos a la compilación a través de la compilación JIT de tiempo de ejecución. Ya sea para GEMMS estándar o los GEMM agrupados más especializados requeridos por los modelos MOE, DeepGemm ofrece una plataforma práctica y bien documentada para mejorar la eficiencia computacional.
Para aquellos que buscan mejorar sus tuberías de aprendizaje profundo o obtener información sobre las técnicas modernas de optimización de GPU, DeepGemm se destaca como un recurso valioso. El repositorio, publicado bajo la licencia MIT y respaldado por una comunidad de desarrolladores, invita a una mayor exploración y refinamiento.
Verificar el Repositorio de Github. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, siéntete libre de seguirnos Gorjeo Y no olvides unirte a nuestro Subreddit de 80k+ ml.
Asif Razzaq es el CEO de MarktechPost Media Inc .. Como empresario e ingeniero visionario, ASIF se compromete a aprovechar el potencial de la inteligencia artificial para el bien social. Su esfuerzo más reciente es el lanzamiento de una plataforma de medios de inteligencia artificial, MarkTechPost, que se destaca por su cobertura profunda de noticias de aprendizaje automático y de aprendizaje profundo que es técnicamente sólido y fácilmente comprensible por una audiencia amplia. La plataforma cuenta con más de 2 millones de vistas mensuales, ilustrando su popularidad entre el público.