1 pontos por GN⁺ 2024-06-14 | 1 comentários | Compartilhar no WhatsApp
  • Na comparação de inferência do Mixtral 8x7B feita pela TensorWave e pela MK1, a combinação MI300X+MK1 Flywheel apresentou 33% mais throughput do que H100 SXM+vLLM com base em casos reais de uso de chat
  • O ponto central do teste foi o modelo MoE, e o Mixtral 8x7B cabe em uma única MI300X com 192GB de VRAM, enquanto a H100 com 80GB de VRAM exige duas placas e tensor parallelism 2
  • Na inferência offline em lote, a combinação com MI300X ficou à frente em todos os tamanhos de lote, com diferença de desempenho na faixa de 1,22x a 2,94x
  • O teste de distribuição de chat online usou requisições com média de 573 tokens de entrada e 50 tokens de saída, e com meta de 5 segundos de latência média, 2 MI300X processaram 33% mais requisições por segundo do que 2 H100
  • A TensorWave avalia que, considerando não só throughput, mas também competitividade de custo e disponibilidade de hardware, a MI300X pode ser uma forte opção para operar inferência em larga escala na nuvem

O centro da comparação: a MI300X pode superar a H100 em inferência de MoE?

  • O foco do teste é saber se a aceleradora flagship da AMD, a MI300X, pode superar a arquitetura NVIDIA Hopper em workloads reais de IA
  • A TensorWave e a MK1 colaboraram durante um mês para extrair desempenho de inferência de IA no hardware da AMD
  • O foco inicial foi a arquitetura Mixture of Experts (MoE)
    • O MoE foi escolhido por sua eficiência computacional e popularidade
    • A estrutura é apresentada como usada em LLMs open source poderosos da Mistral, Meta, Databricks e X.ai
  • A MI300X usando o software de inferência da MK1 alcançou 33% mais throughput do que a combinação H100 SXM com vLLM em casos reais de uso de chat baseados no Mixtral 8x7B
  • A TensorWave reconhece que o ecossistema de software da NVIDIA é mais maduro, mas considera a AMD uma concorrente forte no mercado de IA

Configuração do benchmark

  • Todos os benchmarks foram executados com o modelo Mixtral 8x7B
  • Todos os frameworks de inferência foram configurados para usar o caminho de cálculo em FP16
    • A ativação de computação em FP8 fica como trabalho futuro
  • Para comparar diferentes configurações de tensor parallelism, o throughput da MI300X foi extrapolado em 2x
  • Sistema AMD

    • O nó da TensorWave foi testado com 8 aceleradoras MI300X, 2 processadores AMD EPYC CPU, total de 192 núcleos e 2,3TB de RAM DDR5
    • As especificações da aceleradora MI300X são as seguintes
      • 192GB de VRAM
      • 5,3TB/s
      • cerca de 1300 TFLOPS em FP16
    • A configuração de software é a seguinte
      • ROCm 6.1.2
      • motor de inferência MK1 Flywheel v0.9.2
      • fork do vLLM otimizado para AMD ROCm rocm/vllm v0.4.0
    • Como o modelo completo Mixtral 8x7B cabe nos 192GB de VRAM de uma única MI300X, o tensor parallelism foi configurado como 1 (tp=1)
  • Sistema NVIDIA

    • O sistema H100 foi testado com 8 aceleradoras H100 SXM5 com NVLink, 160 núcleos de CPU e 1,2TB de RAM DDR5
    • As especificações da aceleradora H100 SXM5 são as seguintes
      • 80GB de VRAM
      • 3,35TB/s
      • cerca de 986 TFLOPS em FP16
    • A configuração de software é a seguinte
      • CUDA 12.2
      • vLLM v4.3
        • Para acomodar o Mixtral 8x7B em duas H100 com 80GB de VRAM, o tensor parallelism foi configurado como 2 (tp=2)

Resultados da inferência offline

  • O teste offline gera prompts de tamanho fixo e os envia diretamente ao modelo para medir o throughput máximo de cada solução de inferência
  • O batching offline processa vários prompts ao mesmo tempo para aumentar a eficiência do hardware
    • À medida que o tamanho do lote cresce, o throughput aumenta
    • Como mais requisições são processadas ao mesmo tempo, a latência também aumenta
  • Seguindo a prática padrão, as requisições dentro de um mesmo lote foram limitadas a ter o mesmo tamanho de entrada e o mesmo tamanho de saída
  • O teste foi realizado modificando o benchmark_throughput.py do repositório vLLM
    • Ele foi refatorado para incluir o Flywheel como backend
    • Para remover mecanismos de cache, os prompts dentro do lote foram gerados aleatoriamente
  • A combinação MI300X e MK1 Flywheel mostrou desempenho superior à combinação H100 e vLLM em todos os tamanhos de lote
    • O ganho de desempenho ficou na faixa de 1,22x a 2,94x

Teste de distribuição de chat online

  • O benchmark online foi projetado para simular aplicações reais de chat geral
  • O teste foi conduzido criando workers independentes para enviar requisições ao endpoint e aumentando o número de workers para elevar a concorrência
  • As requisições foram geradas com base em uma distribuição padrão de chat de texto
    • média de 573 tokens de entrada
    • média de 50 tokens de saída
  • A ferramenta de benchmark suporta distribuições arbitrárias de dados
  • As métricas medidas são três
    • Throughput: número de requisições que podem ser processadas por segundo em um dado workload
    • Latência média: tempo médio necessário para gerar a resposta completa de cada requisição
    • TPOT (Time Per Output Token): tempo médio para gerar cada token subsequente após o primeiro, influenciando a velocidade de geração de respostas longas
  • Resultados sem streaming

    • O primeiro benchmark online testa o caso de uso sem streaming
    • Mede o throughput e a latência necessários para fornecer a resposta completa
    • Com meta de 5 segundos de latência média, 2 MI300X (tp=1) processaram 33% mais requisições por segundo do que 2 H100 (tp=2)
    • Isso permite usar menos aceleradoras para atender o mesmo número de usuários com o mesmo nível de qualidade de serviço
  • Resultados com streaming

    • O segundo benchmark online ativa o streaming e mede throughput e TPOT enquanto os tokens são transmitidos
    • A MI300X apresentou throughput maior do que a H100 em todos os níveis de TPOT
    • Mesmo com volumes maiores de tráfego, a MI300X consegue gerar texto mais rapidamente

Conclusão e proposta de implantação

  • Nos resultados do benchmark, a AMD MI300X mostrou desempenho superior ao NVIDIA H100 em tarefas de inferência offline e online com arquiteturas MoE como o Mixtral 8x7B
  • Além do alto throughput, a MI300X também entregou bons resultados em cenários reais que exigem tempos de resposta rápidos
  • A TensorWave propõe que, considerando desempenho, competitividade de custo e disponibilidade de hardware, a MI300X com o software da MK1 é adequada para ampliar a inferência de IA nas empresas
  • A TensorWave informa que oferece a MI300X junto com o software de inferência da MK1 e que os usuários podem testar diretamente

1 comentários

 
GN⁺ 2024-06-14
Opiniões do Hacker News
  • Considerando que a TensorWave é uma provedora de nuvem especializada em workloads de IA e usa AMD Instinct MI300X, este relatório deve ser visto com certo ceticismo

    • Está fazendo uma comparação típica da AMD: compara 8x AMD MI300X (192 GB, 750 W) com 8x H100 SXM5 (80 GB, 700 W)
      Uma comparação mais justa seria com 8x H100 NVL (188 GB, <800 W)
      O preço também diz muita coisa. Se o desempenho da AMD fosse equivalente ao da Nvidia, não haveria motivo para vender as placas por 1/4 do preço
    • Um ponto positivo é que eles especificaram exatamente como rodaram o benchmark. Se você tiver o hardware, é fácil reproduzir para refutar ou confirmar
    • Não sei bem se este post de blog teria ficado melhor se eles usassem chips da Nvidia
  • Não entendo por que, em 2024, ainda fazem benchmarks com 128 tokens de entrada. Isso não representa a maioria dos workloads, e o desempenho de prefill é muito importante

    • Fico curioso sobre qual seria um tamanho de entrada adequado
      Dependendo de as consultas reais serem mais curtas ou mais longas, o motivo de 128 ser inadequado também muda
      Se considerar uma palavra como um token, no meu caso a maioria das consultas tem menos de 128 palavras
  • Tento ver esta parte com otimismo. Este setor precisa absolutamente de concorrência, e hoje o valor de mercado da $NVDA é anormalmente alto. É cerca de US$ 0,6 trilhão maior que toda a Bolsa de Frankfurt

    • O valor da Bolsa de Frankfurt é que está mais para baixo demais. As pessoas vivem se perguntando por que desenvolvedores europeus ganham menos que os americanos fazendo o mesmo trabalho, e o motivo é exatamente esse
    • A Bolsa de Frankfurt ou o DAX, em geral, significam relativamente pouco. A Alemanha tem muitas empresas fortes do Mittelstand controladas por famílias, e elas não são listadas em bolsa
      Também há gigantes privados pertencentes a alemães ricos, como as grandes redes varejistas de desconto Lidl e Aldi, ou a fabricante de autopeças Bosch
    • Estamos no meio de uma bolha de LLMs
      O problema da Nvidia provavelmente vai se resolver naturalmente nos próximos meses a anos
  • Como cientista de IA que treina muitos modelos, pessoalmente acho que a AMD está subvalorizada em relação à Nvidia
    Os chips não são tão rápidos quanto os produtos mais recentes da Nvidia, e há obstáculos a superar para fazê-los funcionar
    Mas, para a maioria dos workloads na maioria das indústrias, deixando de lado se a IA em si é uma boa forma de usar capital, a AMD é muito mais eficiente em custo e consegue entregar resultados quase iguais

  • O mercado e os preços de venda refletem o valor percebido das soluções Nvidia e AMD. Isso inclui ferramentas, software, custo total de propriedade e facilidade de gerenciamento
    Também me pergunto quantas empresas comprariam aceleradores tão caros para rodar 8 modelos de 7B parâmetros em paralelo
    Já se fala que é possível treinar um modelo 14B em um único acelerador, então eu gostaria de ver workloads de “treinamento e inferência usando o acelerador inteiro”, como qual seria a vazão de inferência em um workload 4x14B depois de treinar um modelo 14B
    A AMD e, até agora, a maioria das empresas que fazem alegações de desempenho de inferência, especialmente Intel e Apple, vêm escolhendo apenas benchmarks em que conseguem vencer e ignorando o restante, em que a Nvidia fica à frente. Neste texto, como vários comentários apontaram, também é usado um modelo de comparação de uma geração intermediária

    • A MI300X vence em alguns workloads de inferência, e a H100 vence em treinamento e em alguns outros workloads de inferência. Por exemplo, a H100 é forte em inferência FP8 usando TensorRT-LLM, e o ROCm ainda é jovem, mas cresce rapidamente
      Em um único sistema, ou seja, uma configuração com 8 aceleradores, para LLMs a MI300X é muito competitiva em custo total de propriedade de inferência em comparação com a H100
      Segundo a Microsoft, a AMD Instinct MI300X tem o melhor desempenho por preço no GPT-4, e a AMD está mirando uma melhora de 100 vezes em desempenho por watt até 2027
      https://wccftech.com/amd-instinct-mi300x-best-price-performa...
    • O mercado e os preços de venda também incluem estratégia de vendas. Para entrar em um setor dominado por um player forte e que usa uma estratégia de vendas até certo ponto “inteligente”, produtos de menor maturidade, especialmente com software menos maduro, precisam de uma estratégia correspondente de preços e alocação de volume
      https://www.techspot.com/news/102056-nvidia-allegedly-punish...
    • A produção da MI300X está aumentando. Na apresentação de resultados mais recente, Lisa Su disse que houve restrições de produção no primeiro semestre de 2024, mas que a produção aumentaria no segundo semestre e que ainda havia volume disponível para venda. Provavelmente graças à melhora no fornecimento de CoWoS e HBM3/HBM3E
      Pedidos em grande escala desse tipo de acelerador são feitos com meses de antecedência
      Enquanto isso, as MI300X da Microsoft já estão todas reservadas
      https://techcommunity.microsoft.com/t5/azure-high-performanc...
      “Essas VMs e o software que as impulsiona foram criados sob medida para workloads reais em produção dos serviços do Azure AI. Também já otimizamos o GPT-4 Turbo, o modelo de linguagem natural mais poderoso do mundo, para essas VMs. As VMs ND MI300X v5 oferecem desempenho de custo líder em modelos populares da OpenAI e de código aberto.”
  • Fico curioso se a configuração de paralelismo de tensores afeta o desempenho. Meu palpite ingênuo é que sim, mas não tenho certeza.
    Segundo o texto, a configuração da AMD consegue colocar o Mixtral 8x7B inteiro nos 192 GB de VRAM de uma única MI300X, então o paralelismo de tensores é tp=1; já a configuração da NVIDIA precisa colocá-lo nos 80 GB de VRAM de duas H100, então exige tp=2.

    • Pessoalmente, não acho essa comparação justa. Uma boa comparação deveria ser otimizada para cada configuração de dispositivo.
      Ou seja, usar um modelo que caiba dentro da limitação de VRAM e, quando melhorar o desempenho, aplicar quantização de 8 bits, sem expor desnecessariamente as desvantagens dos dois lados.
  • A AMD parece ter um hardware melhor, mas ainda não tem capacidade de produção para competir com a Nvidia. Quando a concorrência de verdade alcançar, vai ser interessante ver o processo de redução das margens.
    Todo mundo acha que a causa do domínio da Nvidia é CUDA, mas não é. Quase 40% da receita deste ano vem de empresas de hiperescala que usam suas próprias stacks customizadas para interagir com GPUs.
    É questão de tempo até os concorrentes alcançarem e oferecerem GPUs mais baratas.

    • A expressão “suas próprias stacks customizadas para interagir com GPUs” parece quase completamente inventada.
      Parece haver uma confusão entre a plataforma CUDA e a linguagem parecida com C/C++ que as pessoas escrevem em arquivos .cu.
      É verdade que alguns não escrevem arquivos .cu diretamente, mas não há ninguém que contorne o restante da stack CUDA, como nvcc, PTX, SASS, runtime e drivers.
      Eu também trabalho em uma dessas “empresas de hiperescala”. Se não acredita, veja quantos kernels CUDA há no PyTorch: https://github.com/pytorch/pytorch/tree/main/aten/src/ATen/n...
      O que torna a Nvidia dominante é 100% CUDA.
    • Gostaria de entender melhor que stack sem CUDA seria essa, ou se você poderia fornecer uma fonte.
    • Capacidade de produção, no fim, é uma questão de negociação com a TSMC ou com os poucos concorrentes existentes.
      Acho que a TSMC também já começou alguma produção em fábricas nos EUA ou na UE.
      A Nvidia usa a TSMC, e a AMD também usa a TSMC.
  • É um bom começo para a AMD. Também tenho interesse e às vezes uso a Groq, outra opção de inferência que não é da Nvidia.
    A Nvidia depende da TSMC para fabricação. Também é bom que a Samsung esteja construindo uma infraestrutura de fabricação concorrente, para que Taiwan não seja um ponto único de falha.

  • Sem métricas estatísticas adequadas, especialmente usando média em vez do percentil 95, amplamente usado, e sem desempenho por watt, é uma comparação inútil.

    • E também é preciso desempenho por preço. No fim, isso é o essencial.
    • Acho que a média talvez seja uma métrica que descreve melhor a vazão.
      Seria bom ter também o percentil 95.
  • Teria sido bom ter também benchmarks INT8/FP8. Ambas as placas provavelmente conseguiriam carregar o modelo com cerca de 60 GB de VRAM, sem usar tp=2 na H100.