12 pontos por xguru 2025-03-02 | 1 comentários | Compartilhar no WhatsApp
  • No fim da semana de divulgação open source, revelou de surpresa como one more thing uma visão geral completa do sistema e até os custos operacionais

Visão geral do sistema de inferência DeepSeek-V3/R1

Princípios de projeto do sistema

  • O objetivo de otimização do sistema de inferência DeepSeek-V3/R1 é maior throughput e menor latência
  • Para isso, foi otimizado com Expert Parallelism (EP) entre nós.
    • Aumento de throughput: o EP expande o tamanho do batch para melhorar a eficiência das operações matriciais na GPU e aumentar o throughput.
    • Redução de latência: ao distribuir os especialistas (Experts) por várias GPUs, reduz a carga de acesso à memória em cada GPU, diminuindo a latência.
  • No entanto, o EP aumenta a complexidade do sistema:
    • Necessidade de comunicação entre nós: é preciso sobrepor comunicação e computação para evitar gargalos.
    • Uso de múltiplos nós: é necessário aplicar Data Parallelism (DP), além de balanceamento de carga entre instâncias de DP.

Expert Parallelism (EP) em larga escala entre nós

  • O modelo DeepSeek-V3/R1 ativa apenas 8 dos 256 especialistas em cada camada, então escalar o tamanho do batch é essencial
  • Diferença de paralelismo entre as etapas de Prefill e Decode:
    • Etapa de Prefill: EP32, DP32 (4 nós, cada GPU processa 9 especialistas)
    • Etapa de Decode: EP144, DP144 (18 nós, cada GPU processa 2 especialistas)

Sobreposição de computação-comunicação (Computation-Communication Overlapping)

  • Como o EP aumenta o custo de comunicação entre nós, eles usam uma estratégia de sobreposição com batch duplo para reduzi-lo.
    • Etapa de Prefill: duas microbatches são executadas de forma intercalada para esconder a comunicação de um batch atrás da computação de outro.
    • Etapa de Decode: a camada de attention é dividida em duas etapas e usa um pipeline de 5 estágios para maximizar a sobreposição entre computação e comunicação.

Implementação de balanceamento de carga ideal

  • Para evitar desequilíbrios entre GPUs e maximizar a utilização dos recursos, foram aplicadas três técnicas de balanceamento de carga.
    1. Balanceador de carga do Prefill
    • Problema: diferenças no número de requisições e no comprimento das sequências causam desequilíbrio na carga de computação core-attention e na transferência de dados.
    • Objetivo:
      • Manter o equilíbrio da carga de computação core-attention entre GPUs.
      • Uniformizar o número de tokens de entrada por GPU.
    1. Balanceador de carga do Decode
    • Problema: diferenças no uso de KVCache fazem a carga computacional variar entre GPUs.
    • Objetivo:
      • Manter equilibrado o uso de KVCache entre GPUs.
      • Uniformizar o número de requisições por GPU.
    1. Balanceador de carga de Expert Parallel
    • Problema: a alta carga em determinados especialistas (Experts) gera desequilíbrio computacional entre GPUs.
    • Objetivo:
      • Manter equilibrada a carga de computação dos especialistas em cada GPU.

Estatísticas do sistema online de inferência da DeepSeek

  • O serviço de inferência DeepSeek-V3/R1 roda em GPUs H800 e mantém a mesma precisão computacional usada no treinamento
    • FP8: operações matriciais e transferência de dados
    • BF16: operações centrais de MLA e transferências combinadas
  • Estratégia operacional para pico e período noturno
    • Durante o dia, a carga do serviço é alta, e à noite ela diminui
    • Horário de pico: todos os nós são usados para executar o serviço de inferência
    • Período noturno de baixa carga: parte dos nós é redirecionada para pesquisa e treinamento, permitindo uso mais eficiente dos recursos
  • Estatísticas de operação em 24 horas (UTC+8, 2025-02-27 12:00 PM ~ 2025-02-28 12:00 PM)
    • Total de tokens de entrada: 608B (desses, 342B, ou 56,3%, foram hits de cache KV)
    • Total de tokens de saída: 168B (velocidade média de saída de 20~22 tokens/s)
    • Comprimento médio de KVCache: 4.989 tokens por token de saída
    • Velocidade de processamento por nó H800:
      • Etapa de Prefill: 73.7k tokens/s (incluindo hits de cache)
      • Etapa de Decode: 14.8k tokens/s

Análise de custos operacionais e receita: V3 & R1 com base em um dia de UTC+8 02/27/2025 12:00 PM a 02/28/2025 12:00 PM

  • Uso de GPU: 278 nós no pico, média de 226,75 nós (cada nó inclui 8 GPUs H800)
  • Custo de aluguel de GPU: $2/hora por GPU H800 → custo operacional total por dia: $87.072
  • Receita teórica diária, assumindo que todos os tokens fossem cobrados: $562.027 → margem de lucro de 545%
    • (Preço por token de entrada/saída do R1: $0.14M (cache hit), $0.55M (cache miss), $2.19M)
  • Porém, a receita real é menor:
    • A tarifa do DeepSeek-V3 é muito mais baixa que a do R1
    • Apenas parte do serviço é monetizada (uso na web e no app é oferecido gratuitamente)
    • À noite, descontos automáticos são aplicados

Revelado como o último one more thing entre os 5 projetos open source lançados como DeepSeek Open Infra

1 comentários

 
sppappi 2025-03-03

Fica travando depois de fazer 3 perguntas..