- 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.
-
- 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.
-
- 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.
-
- 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
1 comentários
Fica travando depois de fazer 3 perguntas..