3 puntos por xguru 2025-02-26 | Aún no hay comentarios. | Compartir por WhatsApp
  • Una biblioteca para ejecutar de forma eficiente multiplicación de matrices FP8 (GEMM), con soporte para el esquema de escalado de grano fino (fine-grained scaling) propuesto en DeepSeek-V3
  • Soporta tanto GEMM general como GEMM agrupado para Mix-of-Experts (MoE)
  • Está implementada sobre CUDA y, durante la instalación, compila los kernels en tiempo de ejecución usando un módulo ligero Just-In-Time (JIT) sin requerir compilación adicional
  • Actualmente solo ofrece soporte para NVIDIA Hopper Tensor Cores
  • Para compensar la acumulación imprecisa de los Tensor Cores FP8, usa acumulación dual (promotion) basada en CUDA cores
  • Aprovecha algunos conceptos de CUTLASS y CuTe, pero reduce la dependencia de plantillas complejas con un diseño simple que incluye solo unas 300 líneas de código de kernel
  • Adecuada para aprender operaciones de matrices FP8 en Hopper y técnicas de optimización
  • A pesar de su diseño ligero, en distintos tamaños de matriz muestra un rendimiento similar o superior al de bibliotecas ajustadas a nivel experto

Evaluación de rendimiento

Rendimiento de GEMM general (modelo denso)

  • Se realizó una evaluación de rendimiento en entornos de inferencia DeepSeek-V3/R1 para varios tamaños de matriz
  • Probado en un entorno con GPU NVIDIA H800 (NVCC 12.8)
  • La métrica de mejora de velocidad (Speedup) se calculó comparándola con una versión interna optimizada basada en CUTLASS 3.6
  • Resumen principal del rendimiento
    • En tamaños de matriz pequeños, hasta 2.7 veces más rápido
    • En algunos tamaños de matriz grandes, mantiene un rendimiento de alrededor de 1.0 a 1.2 veces
    • Al optimizar el ancho de banda de memoria y el rendimiento de cómputo, ofrece un rendimiento optimizado para la arquitectura Hopper

Rendimiento de GEMM agrupado para modelos MoE

  • GEMM agrupado con layout contiguo (contiguous)
    • Agrupa en función del eje M, mientras N y K se mantienen iguales
    • Muestra hasta 1.2 veces de mejora de velocidad, manteniendo alrededor de 1.1 veces en ciertas configuraciones
  • GEMM agrupado con layout enmascarado (masked)
    • Diseñado para casos en los que, al usar CUDA Graph, la CPU no puede conocer cuántos tokens tiene cada experto
    • Recibe un tensor de máscara como entrada para ejecutar solo las operaciones necesarias
    • La mejora de rendimiento es de alrededor de 1.1 a 1.2 veces

Tercera publicación entre los 5 proyectos open source presentados como DeepSeek Open Infra

Aún no hay comentarios.

Aún no hay comentarios.