IA abierta y local

DeepSeek adapta su biblioteca GEMM de alto rendimiento a las NPU Huawei Ascend

DeepGEMM-Ascend ofrece un rendimiento de multiplicación de matrices cercano al pico y compatible con la API en el hardware Huawei Ascend 950, admitiendo cargas de trabajo FP4, FP8 y BF16.

Traducido automáticamente del original en inglés.

DeepSeek AI ha lanzado DeepGEMM-Ascend, una biblioteca especializada para la multiplicación de matrices en unidades de procesamiento neuronal (NPU) Huawei Ascend. Anunciado el 30 de septiembre de 2026, este proyecto de código abierto porta el framework original DeepGEMM al ecosistema Ascend, dirigido específicamente al hardware de la serie Ascend 950.

Esta versión proporciona a los ingenieros una herramienta para lograr una utilización del hardware cercana al máximo en tareas de inferencia y entrenamiento de modelos de lenguaje grandes, sin necesidad de reescribir código de kernel de bajo nivel. Al abstraer complejas restricciones del hardware, permite a los desarrolladores utilizar APIs familiares mientras aprovechan optimizaciones específicas de Ascend.

Qué ha ocurrido

DeepGEMM-Ascend es una portación directa de la biblioteca DeepGEMM, diseñada específicamente para la plataforma Huawei Ascend. La versión inicial admite dispositivos Ascend 950 y requiere el toolkit CANN 9.20. Mantiene plena compatibilidad de API con el proyecto upstream DeepGEMM, lo que significa que los usuarios pueden instalar el paquete y continuar usando el mismo flujo de trabajo de desarrollo que emplearían en otras plataformas compatibles.

La biblioteca admite varios tipos de datos y operaciones críticos utilizados en modelos de IA modernos, incluyendo la multiplicación general de matrices (GEMM) en BF16, FP8 y FP4. También incluye soporte especializado para logits MQA y operadores MegaMoE, esenciales para arquitecturas eficientes de mezcla de expertos (mixture-of-experts). Este amplio soporte garantiza que los desarrolladores que trabajan con estructuras de modelos de vanguardia puedan desplegarlos eficazmente en hardware Ascend.

Una característica clave de esta versión es su capa de abstracción ligera sobre las primitivas MAD (multiplicación y suma de matrices) de Ascend. Esta capa oculta detalles intrincados como los diseños fractales de matrices, restricciones de alineación, cálculos de direcciones y parámetros verbosos de bajo nivel. Al gestionar estas complejidades internamente, la biblioteca permite que los kernels GEMM permanezcan concisos en código mientras mantienen alta eficiencia en ejecución.

Cómo funciona

DeepGEMM-Ascend logra su rendimiento mediante técnicas de optimización específicas de Ascend que llevan al hardware cerca de sus límites teóricos. La biblioteca utiliza carga de datos dispersa y canalización basada en corutinas para minimizar el tiempo de inactividad y maximizar el throughput. Estos métodos permiten que los kernels manejen el movimiento de datos y el cálculo concurrentemente, reduciendo cuellos de botella que suelen afectar a las tareas de computación de alto rendimiento.

La implementación sirve como referencia para la optimización extrema de rendimiento en la plataforma Ascend. A pesar de tener una base de código ligera, la biblioteca demuestra la capacidad de alcanzar el rendimiento pico del hardware en una gran variedad de formas de matriz. Esto es particularmente importante para cargas de trabajo dinámicas donde las dimensiones de los tensores cambian frecuentemente durante las fases de inferencia o entrenamiento.

Para los desarrolladores que integran esta biblioteca, el formato del factor de escala difiere ligeramente de las implementaciones de NVIDIA. En Ascend, cada par de factores de escala UE8M0 a lo largo de la dimensión K se empaqueta en un int16, con valores almacenados en orden MN-major para una eficiencia óptima del hardware. La biblioteca proporciona funciones utilitarias para transformar los factores de escala a este diseño requerido, asegurando una interoperabilidad perfecta con las pipelines de datos existentes.

Detalles clave

  • Soporte de Hardware: Desarrollado y validado en las NPU de la serie Huawei Ascend 950.
  • Requisitos de Software: Requiere el toolkit CANN 9.20, torch_npu, Python 3.10+ y soporte para compilador C++20.
  • Tipos de Datos: Admite operaciones GEMM en BF16, FP8 y FP4, junto con logits MQA y operadores MegaMoE.
  • Rendimiento: Las operaciones GEMM densas alcanzan hasta el 99,8% del límite del hardware para formatos BF16 y el 99,5% para FP8.
  • Técnicas de Optimización: Utiliza carga de datos dispersa y canalización basada en corutinas para acercarse a los límites de rendimiento del hardware.
  • Licencia: Lanzada bajo la Licencia MIT, permitiendo amplia adopción y modificación.

Por qué importa

Para los ingenieros de software que construyen infraestructura de IA, esta versión reduce significativamente la barrera de entrada para usar hardware Huawei Ascend. Históricamente, optimizar kernels para aceleradores no-NVIDIA ha requerido profunda experiencia en arquitecturas de hardware específicas y gestión manual de diseños de memoria. DeepGEMM-Ascend abstrae estas dificultades, permitiendo a los equipos centrarse en la arquitectura del modelo en lugar de ajustes de dispositivo de bajo nivel.

Las altas tasas de utilización reportadas en los benchmarks sugieren que las organizaciones pueden lograr escalabilidad rentable en clústeres Ascend sin sacrificar eficiencia computacional. Con operaciones GEMM densas alcanzando casi el 100% del límite del hardware, la biblioteca asegura que los costosos recursos de NPU no se desperdicien debido a ineficiencias de software. Esto es crucial para despliegues a gran escala donde incluso pequeñas ganancias porcentuales en utilización se traducen en ahorros significativos en energía y tiempo.

Además, el soporte para características avanzadas como MegaMoE y logits MQA indica que la biblioteca está lista para arquitecturas de modelos de próxima generación. A medida que los modelos de IA crecen más grandes y complejos, la capacidad de manejar eficientemente el enrutamiento de mezcla de expertos y la atención multi-query se convierte en una ventaja competitiva. Esta biblioteca proporciona una base robusta para implementar estas características en hardware Ascend.

Qué puedes hacer

  • Instala la biblioteca usando pip con la flag no-build-isolation para asegurar la correcta compilación de extensiones C++.
  • Verifica que tu entorno cumple los requisitos, comprobando específicamente la presencia de CANN 9.20 y Python 3.10 o superior.
  • Usa las funciones utilitarias proporcionadas para transformar los factores de escala al diseño MN-major requerido.
  • Explora el código fuente para entender cómo se aplican las optimizaciones específicas de Ascend en tus propios proyectos.

Herramientas de la Tienda de Bytechap

$89

DocBento

Gestión documental autoalojada que lee cada escaneo y responde con citas de página.

Demo en vivo

Seguir leyendo

Todos los artículos