AIREITER

Componentes de infraestructura Ascend de DeepSeek, comparados con NVIDIA

Última actualización: 2026-09-30 19:13:43

Un repositorio público de GitHub puede dar la impresión de que una pila de hardware está al alcance de cualquiera. El trabajo de DeepSeek para Ascend es real y útil, pero no sustituye con un solo comando a un clúster NVIDIA: la versión actual gira en torno a los kernels para Ascend 950 y requiere CANN, torch_npu y hardware compatible.

En resumen: componentes abiertos, no un clúster Ascend listo para usar

DeepSeek ha publicado código específico para Ascend, incluido DeepGEMM-Ascend, una biblioteca de kernels con licencia MIT que conserva la estructura de la API de DeepGEMM, pero está orientada a las NPU de Huawei. La versión inicial del repositorio es compatible con dispositivos Ascend 950 y documenta CANN 9.20, torch_npu, Python 3.10 o posterior, una toolchain de C++20 y TileLang como parte del entorno.

Con esto, un equipo que ya tenga acceso a Ascend puede inspeccionar, compilar, medir e integrar determinados kernels. Lo que no obtiene es una pila completa de entrenamiento o producción.

Los laboratorios con Ascend, los operadores cloud y los equipos empresariales ya pueden evaluar el código. En cambio, un desarrollador que solo tenga NVIDIA puede estudiarlo o recurrir a los proyectos de DeepSeek orientados a NVIDIA, pero no ejecutar estos kernels de Ascend en una H100 ni en una tarjeta GeForce de consumo.

Qué ha publicado realmente DeepSeek

El open-infra-index de DeepSeek organiza su trabajo de infraestructura por capas. El índice original está orientado principalmente a NVIDIA/Hopper: FlashMLA es un kernel de decodificación MLA para GPU Hopper, DeepEP es una biblioteca de comunicación para paralelismo de expertos, DeepGEMM es una biblioteca GEMM para FP8, DualPipe y EPLB abordan el paralelismo distribuido, y 3FS/Smallpond se ocupan del acceso a datos.

La versión específica para Ascend cambia el objetivo de hardware de determinadas rutas de cálculo, en lugar de sustituir todas las capas de una vez. El componente público más claro es DeepGEMM-Ascend, que cubre:

  • GEMM en BF16, FP8 y FP4;
  • logits MQA;
  • rutas de GEMM agrupado y MegaMoE;
  • un kernel de prenorm mHC; y
  • compilación JIT y transformaciones de layout específicas de Ascend.

El proyecto afirma ser compatible a nivel de API con DeepGEMM. Es una compatibilidad valiosa para los ingenieros de modelos, pero no convierte los binarios CUDA en portables. Los layouts matriciales, el empaquetado de los factores de escala, el compilador, el runtime y las API de gestión de dispositivos de Ascend siguen siendo determinantes.

Mapa de componentes: equivalentes Ascend para una pila orientada a NVIDIA

La tabla siguiente relaciona funciones; no afirma que las implementaciones sean idénticas. Un equivalente cumple una función parecida, pero puede utilizar una API, una red de comunicación o una estrategia de kernels diferente.

CapaCódigo o dependencia Ascend confirmadosEquivalente orientado a NVIDIALímite
Multiplicación de matricesDeepGEMM-AscendDeepGEMM más kernels CUDA/Tensor CoreMisma función GEMM, pero con primitivas de hardware y layouts de datos diferentes
Cálculo agrupado para MoEM-Grouped GEMM y MegaMoE en DeepGEMM-AscendLayouts MoE de DeepGEMM más kernels CUDA personalizadosCálculo fusionado de expertos, con formas y límites específicos de cada plataforma
Distribución de expertosEsta versión no identifica una biblioteca completa de distribución Ascend de DeepSeek; hay que utilizar colectivas de Ascend e integraciones de operadoresDeepEP con NVLink/RDMAEl problema de sistemas es similar, pero los repositorios no son intercambiables
Atención/logitsLogits MQA en DeepGEMM-AscendFlashMLA para HopperCarga de trabajo similar; FlashMLA está orientado explícitamente a Hopper
Puente de dispositivos para PyTorchTorchNPU (torch_npu)Backend CUDA de PyTorch, runtime CUDA y cuBLASTorchNPU invoca NPU Ascend; no emula CUDA
Toolchain de compilación y operadoresCANN y las herramientas Ascend C/BishengCUDA Toolkit, NVCC, PTX, cuBLAS y TritonEl código Python puede resultar familiar, pero cambia el contrato con el dispositivo
Runtime distribuidoColectivas de TorchNPU más herramientas de Huawei para operadores y despliegueNCCL, redes compatibles con CUDA y software de clúster de NVIDIALa red, los controladores, las colectivas y las versiones del framework siguen siendo elementos independientes
Almacenamiento y acceso a datosAquí no se identifica ningún componente de almacenamiento específico de DeepSeek para Ascend; el almacenamiento lo proporciona el operador3FS/Smallpond de DeepSeek más la pila de almacenamiento del operadorLa versión de kernels no incluye un clúster de almacenamiento equivalente

En resumen, cada equivalente Ascend cubre una función dentro del sistema; no elimina todo el ecosistema de software de NVIDIA.

Kernels de cálculo: DeepGEMM-Ascend frente a DeepGEMM

DeepGEMM-Ascend es el puente más concreto de esta versión. Su README describe una abstracción ligera sobre las primitivas MAD de Ascend que oculta los layouts fractales, las restricciones de alineación, los cálculos de direcciones y los parámetros de bajo nivel. También emplea técnicas específicas de Ascend, como la carga dispersa de datos y el pipeline basado en corrutinas.

Los requisitos publicados son concretos: hardware de la serie Ascend 950, CANN 9.20, torch_npu, Python 3.10 o posterior, una biblioteca estándar compatible con C++20, TileLang y dependencias de compilación como Tree-sitter. El proceso de instalación documentado incluye git clone --recursive seguido de pip install . --no-build-isolation.

El repositorio informa de una utilización de GEMM denso de hasta el 99,8 % del límite de hardware indicado en una configuración de prueba con Ascend 950DT. Un caso BF16 aparece con 431 TFLOPS frente a un límite de hardware de 432 TFLOPS; los casos FP8 figuran con 861 frente a 865. Son resultados de kernels para formas concretas, no cifras de rendimiento de DeepSeek de extremo a extremo ni una prueba de paridad con un clúster NVIDIA.

Ejecución MoE: MegaMoE y distribución de expertos

El open-infra-index de DeepSeek identifica infraestructura de paralelismo de expertos para sus sistemas V3/R1, así que la pregunta importante no es solo a qué velocidad se ejecuta una multiplicación de matrices. Hay que distribuir los tokens, calcular los expertos y combinar los resultados entre los distintos ranks.

El benchmark MegaMoE de DeepGEMM-Ascend fusiona la distribución de expertos en paralelo, dos GEMM agrupados, SwiGLU y la combinación final. La configuración indicada es EP8, top-k 6, un experto compartido y promedios calculados entre ocho ranks. Para un caso con 384 expertos y 16.384 tokens, el README informa de 846,3 TFLOPS para una configuración concreta de dimensiones ocultas/intermedias y de 103,3 GB/s de ancho de banda de comunicación para otro caso especificado.

La comparación en el mundo NVIDIA es DeepEP junto con los layouts MoE de DeepGEMM y el entorno formado por NCCL/NVLink/RDMA. El problema arquitectónico es parecido, pero las cifras no se pueden trasladar entre fabricantes sin igualar el número de tokens, el enrutamiento de expertos, la precisión, el número de ranks y las condiciones de red.

Kernels específicos del modelo: logits MQA y prenorm mHC

El proyecto para Ascend también incluye kernels que pueden pasar desapercibidos si se describe la versión únicamente como un “port de GEMM”. El README de DeepGEMM-Ascend identifica su benchmark de logits MQA con la ruta DeepSeek Lightning Indexer. Incluye casos de prefill y decode en FP8 y FP4; el decode FP4 aparece con 124,2 microsegundos para la forma documentada, frente a 150,9 microsegundos en FP8.

El mismo README identifica el kernel de prenorm HC con el módulo mHC de DeepSeek, o Manifold-Constrained Hyper-Connections. El ancho de banda de memoria alcanza los 3.463 GB/s con M=8.192 para los valores documentados de N y K. Estas cifras muestran optimización específica para determinadas cargas de trabajo, no cobertura de todos los operadores del modelo ni de todas las rutas de serving.

Framework y runtime: CANN y TorchNPU frente a CUDA

El repositorio TorchNPU de Huawei describe TorchNPU como un adaptador de PyTorch para NPU Ascend. Entre sus funciones figuran las API nativas y personalizadas de PyTorch, FSDP2, DTensor, operaciones colectivas, captura de grafos, profiling, monitorización WatchDog y funciones de gestión de memoria.

El equivalente conceptual en NVIDIA es PyTorch junto con el runtime y las bibliotecas CUDA. La diferencia operativa es importante: una instalación Ascend necesita versiones compatibles de CANN, el controlador, el firmware, Python, PyTorch y TorchNPU. El ejemplo de la documentación de TorchNPU instala CANN 9.1.0, PyTorch 2.12.0 y torch-npu 2.12.0, mientras que DeepGEMM-Ascend documenta CANN 9.20 por separado. Esta diferencia de versiones obliga a seguir la matriz de compatibilidad de cada repositorio, en lugar de mezclar comandos de guías distintas.

La documentación de CANN de Huawei describe CANN como la capa de software que conecta los frameworks con el hardware Ascend, incluidos el runtime y las rutas para desarrollar operadores. En la práctica, CANN se parece más a la base de la plataforma que a una única biblioteca CUDA. Un modelo de PyTorch puede conservar una sintaxis Python familiar y, aun así, requerir kernels específicos de Ascend, un comportamiento particular del grafo y procedimientos de depuración distintos.

Qué queda fuera de esta versión

El índice de infraestructura abierta original de DeepSeek incluye proyectos de almacenamiento y de nivel de sistema como 3FS y Smallpond, además de describir DualPipe, EPLB y una arquitectura de sistema de inferencia. Son puntos de referencia importantes, pero la versión de kernels específica para Ascend no debe interpretarse como un port completo de todos ellos.

Un clúster de producción sigue necesitando aprovisionamiento de hardware, controladores y firmware, instalación de CANN, configuración de las interconexiones, soporte del runtime distribuido, observabilidad, gestión de checkpoints, recuperación ante fallos y un orquestador de serving o entrenamiento. La guía de despliegue de DeepSeek en Huawei Cloud muestra la parte de infraestructura con instancias, redes, subredes y grupos de seguridad; esos servicios son requisitos de despliegue, no forman parte de DeepGEMM-Ascend.

Esta frontera es especialmente importante en entrenamiento. Los kernels públicos pueden aliviar un cuello de botella sin demostrar que una ejecución de entrenamiento a escala frontera pueda reproducirse únicamente con los repositorios públicos.

Quién puede utilizar esta pila hoy

Usuario u organización¿Puede usarla ya?Qué necesitaVeredicto práctico
Equipo con hardware Ascend 950Sí, para los kernels compatiblesEntorno Linux, controlador/firmware compatibles, CANN 9.20, TorchNPU, compilador y una configuración compatible de Python/PyTorchEl perfil más adecuado para adoptar pronto la tecnología
Operador de Huawei Cloud o empresa con capacidad AscendPotencialmente síUna instancia o clúster compatible, la matriz exacta de software y experiencia de despliegueViable para evaluación controlada y serving
Laboratorio de investigación con hardware Ascend antiguoNo automáticamenteHay que confirmar la compatibilidad; la versión inicial de DeepGEMM-Ascend se desarrolló y validó en la serie Ascend 950No hay que dar por hecha la compatibilidad con 910B/910C
Propietario de una estación de trabajo solo con NVIDIANo para los kernels AscendEl hardware Ascend es un requisito documentadoDebe utilizar los repositorios de DeepSeek orientados a NVIDIA
Desarrollador habitual de PyTorch sin acceso a aceleradoresNo en un sentido práctico de ejecuciónPuede inspeccionar el código y estudiar las API, pero no reproducir los benchmarks de hardwareAcceder a la documentación no equivale a poder ejecutar el software
Equipo que busca un sustituto listo para entrenar modelos fronteraNo hay pruebas públicas de elloNecesita un clúster completo, integración de sistemas y validación de producción más allá de los repositorios de kernelsHay que tratarlo como un programa de infraestructura, no como un simple pip install

La frontera práctica también queda clara en los requisitos: la versión documentada sigue vinculada al hardware Ascend 950, CANN y torch_npu. Es una afirmación bastante más limitada que la de una portabilidad general entre aceleradores.

Qué demuestran —y qué no— las cifras publicadas

La cifra del 99,8 % en GEMM denso es una evidencia útil de que el kernel Ascend probado puede aprovechar con eficiencia el dispositivo para determinadas formas. Las tablas de MegaMoE aportan además indicios de que los ingenieros de DeepSeek han trabajado en cargas de trabajo fusionadas y con expertos en paralelo, no solo en una multiplicación de matrices aislada.

Ninguno de esos resultados responde a las preguntas que finalmente debe plantearse un equipo de compras o de entrenamiento:

  • ¿Cuál es el rendimiento de tokens por segundo de extremo a extremo con el modelo completo?
  • ¿Cuál es el coste por token con el tamaño de batch objetivo?
  • ¿Qué estabilidad ofrecen las ejecuciones largas y los reinicios?
  • ¿Qué operadores recurren a rutas menos optimizadas?
  • ¿Cómo se comparan la interconexión, la memoria y el consumo con el clúster NVIDIA previsto?
  • ¿Se pueden reproducir los mismos resultados fuera del entorno de prueba original?

DeepSeek ha publicado un trabajo serio sobre kernels Ascend, con detalles de configuración y tablas de rendimiento para cargas concretas. La versión reduce la barrera de software para los equipos que ya están dentro del ecosistema Ascend, pero las barreras de hardware y de compatibilidad de versiones siguen ahí.

Preguntas frecuentes

¿La infraestructura Ascend de DeepSeek es completamente de código abierto?

No. DeepGEMM-Ascend y la documentación relacionada son públicos, pero el material no ofrece un clúster de entrenamiento DeepSeek listo para usar, con todas las dependencias y recetas operativas incluidas.

¿Puedo ejecutar DeepGEMM-Ascend en una GPU NVIDIA?

No. Está orientado al hardware Ascend 950. Los usuarios de NVIDIA deben utilizar los proyectos de DeepSeek orientados a NVIDIA.

¿Esto demuestra que DeepSeek entrena modelos frontera en Ascend?

No. Demuestra que DeepSeek ha publicado kernels Ascend y ha medido cargas de trabajo concretas. No establece una reproducción pública y completa del entrenamiento de un modelo frontera.

Utiliza esta pila si ya controlas capacidad Ascend compatible y puedes hacerte cargo del trabajo de compatibilidad entre CANN y TorchNPU. Si solo tienes hardware NVIDIA, interpreta la versión como una referencia técnica, no como un backend que puedas ejecutar directamente.