3 pontos por xguru 2025-02-26 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Biblioteca para executar com eficiência multiplicação de matrizes FP8 (GEMM), com suporte ao método de escalonamento de granularidade fina (fine-grained scaling) proposto no DeepSeek-V3
  • Suporta tanto GEMM comum quanto GEMM agrupado para Mix-of-Experts (MoE)
  • Implementada com base em CUDA e, na instalação, usa um módulo leve de Just-In-Time (JIT) para compilar os kernels em tempo de execução, sem compilação separada
  • No momento, há suporte apenas para NVIDIA Hopper Tensor Cores
  • Para compensar a acumulação imprecisa dos Tensor Cores FP8, usa acumulação dupla (promotion) baseada em CUDA Cores
  • Aproveita alguns conceitos de CUTLASS e CuTe, mas reduz a dependência de templates complexos com um design simples que inclui apenas cerca de 300 linhas de código de kernel
  • Adequada para aprender operações de matrizes FP8 no Hopper e técnicas de otimização
  • Apesar do design leve, em vários tamanhos de matriz apresenta desempenho semelhante ou superior ao de bibliotecas ajustadas em nível especialista

Avaliação de desempenho

Desempenho de GEMM comum (modelo denso)

  • Foi realizada uma avaliação de desempenho no ambiente de inferência DeepSeek-V3/R1 para vários tamanhos de matriz
  • Testado em ambiente com GPU NVIDIA H800 (NVCC 12.8)
  • O indicador de ganho de velocidade (Speedup) foi calculado em comparação com uma versão interna otimizada baseada no CUTLASS 3.6
  • Resumo principal de desempenho
    • Em matrizes pequenas, houve ganho de velocidade de até 2,7x
    • Em alguns tamanhos grandes de matriz, mantém desempenho na faixa de 1,0x a 1,2x
    • Ao otimizar largura de banda de memória e desempenho computacional, entrega desempenho otimizado para a arquitetura Hopper

Desempenho de GEMM agrupado para modelos MoE

  • GEMM agrupado com layout contíguo (contiguous)
    • Agrupamento com base no eixo M, mantendo N e K iguais
    • Apresenta ganho de velocidade de até 1,2x, mantendo cerca de 1,1x em certas configurações
  • GEMM agrupado com layout mascarado (masked)
    • Projetado para casos em que, ao usar CUDA Graph, a CPU não consegue saber a quantidade de tokens de cada especialista
    • Fornece um tensor de máscara como entrada para executar apenas as operações necessárias
    • O ganho de desempenho fica na faixa de 1,1x a 1,2x

3º item entre os 5 projetos open source divulgados pelo DeepSeek Open Infra

Ainda não há comentários.

Ainda não há comentários.