Os "pobres da GPU" estão prestes a se despedir de sua situação! Agora mesmo, a NVIDIA lançou um software de código aberto TensorRT-LLM, que pode acelerar o raciocínio de grandes modelos de linguagem no H100. Então, quantas vezes isso pode ser melhorado? Depois de adicionar o TensorRT-LLM e sua série de funções de otimização (incluindo processamento em lote In-Flight), o rendimento total do modelo aumentou 8 vezes.

Visite a página de compra:

Resumo do produto da série JD.com NVIDIA



Comparação de GPT-J-6BA100 e H100 com e sem TensorRT-LLM

Além disso, tomando o Llama2 como exemplo, o TensorRT-LLM pode melhorar o desempenho da inferência em 4,6 vezes em comparação ao uso apenas do A100.


Comparação de Llama270B, A100 e H100 com e sem TensorRT-LLM

Os internautas disseram que o superpoderoso H100, combinado com o TensorRT-LLM, sem dúvida mudará completamente a situação atual de inferência de modelos de linguagem em grande escala!


TensorRT-LLM: artefato de aceleração de inferência de modelo grande

Atualmente, devido à enorme escala de parâmetros de grandes modelos, a dificuldade e o custo de “implantação e inferência” permanecem elevados.

O TensorRT-LLM desenvolvido pela NVIDIA visa melhorar significativamente o rendimento do LLM e reduzir custos por meio de GPU.


Especificamente, o TensorRT-LLM encapsula o compilador de aprendizado profundo do TensorRT, o kernel otimizado do FasterTransformer, o pré e pós-processamento e a comunicação multi-GPU/multi-nós em uma API Python simples de código aberto.

A NVIDIA aprimorou ainda mais o FasterTransformer para torná-lo uma solução produtiva.

Pode-se observar que o TensorRT-LLM fornece uma interface de programação de aplicativos Python modular, de código aberto e fácil de usar.

Os codificadores não precisam de conhecimento profundo em C++ ou CUDA para implantar, executar e depurar vários modelos de linguagem grandes e também podem obter desempenho superior e personalização rápida.


De acordo com o blog oficial da NVIDIA, o TensorRT-LLM otimiza o desempenho de inferência LLM em GPUs NVIDIA de quatro maneiras.

Primeiro, o TensorRT-LLM é introduzido para os mais de 10 modelos grandes atuais, permitindo que os desenvolvedores os executem imediatamente.

Em segundo lugar, o TensorRT-LLM, como uma biblioteca de software de código aberto, permite que o LLM execute inferências em várias GPUs e em vários servidores GPU simultaneamente.

Esses servidores são conectados por meio de interconexões NVLink e InfiniBand da NVIDIA.

O terceiro é o "processamento em lote em andamento", que é uma tecnologia de agendamento totalmente nova que permite que diferentes tarefas de modelo entrem e saiam da GPU independentemente de outras tarefas.

Finalmente, o TensorRT-LLM foi otimizado para usar o H100TransformerEngine para reduzir o uso de memória e a latência durante a inferência do modelo.

A seguir, vamos dar uma olhada mais de perto em como o TensorRT-LLM melhora o desempenho do modelo.

Apoie a rica ecologia LLM

O TensorRT-LLM fornece um suporte muito bom para o ecossistema do modelo de código aberto.

Os maiores e mais avançados modelos de linguagem, como o Llama2-70B da Meta, exigem múltiplas GPUs trabalhando juntas para fornecer respostas em tempo real.

Anteriormente, se quisessem alcançar o desempenho ideal para inferência LLM, os desenvolvedores tinham que reescrever o modelo de IA e dividi-lo manualmente em vários fragmentos e coordenar a execução entre GPUs.


O TensorRT-LLM usa paralelismo tensorial para distribuir a matriz de pesos para cada dispositivo, simplificando assim esse processo e permitindo inferência eficiente em larga escala.

Cada modelo pode ser executado em paralelo em diversas GPUs e diversos servidores conectados via NVLink, sem intervenção do desenvolvedor ou alterações de modelo.


Com a introdução de novos modelos e arquiteturas de modelos, os desenvolvedores podem otimizar seus modelos usando o mais recente kernel NVIDIA AI (Kernal) de código aberto no TensorRT-LLM.

Fusão de kernel suportada (KernalFusion), incluindo a implementação mais avançada de FlashAttention e atenção mascarada de vários cabeçotes para o contexto e os estágios de geração da execução do modelo GPT, etc.

Além disso, o TensorRT-LLM inclui versões totalmente otimizadas e prontas para execução de muitos modelos de linguagem grandes que são populares atualmente.

Isso inclui MetaLlama2, OpenAIGPT-2 e GPT-3, Falcon, MosaicMPT, BLOOM e mais de 10 modelos, todos os quais podem ser chamados usando a API TensorRT-LLMPython simples e fácil de usar.

Esses recursos podem ajudar os desenvolvedores a criar grandes modelos de linguagem personalizados com mais rapidez e precisão para atender às diferentes necessidades de vários setores.

Processamento em lote em voo

Modelos de linguagem grandes são usados ​​em uma ampla variedade de aplicações atualmente.

Um único modelo pode ser usado simultaneamente para diversas tarefas aparentemente díspares — desde simples respostas de perguntas e respostas em um chatbot até o resumo de documentos ou a geração de longos blocos de código. As cargas de trabalho são altamente dinâmicas e os tamanhos de saída precisam ser de ordens de magnitude variadas para atender às demandas da tarefa.

A diversidade de tarefas pode dificultar o processamento eficaz de solicitações em lote e a execução paralela eficiente, possivelmente fazendo com que algumas solicitações sejam concluídas mais cedo do que outras.


Para gerenciar essas cargas dinâmicas, o TensorRT-LLM inclui uma tecnologia de agendamento otimizada chamada "batch em andamento".

Seu princípio básico é que todo o processo de geração de texto de um modelo de linguagem grande pode ser dividido em múltiplas iterações de execução no modelo.

Com o lote em andamento, o tempo de execução do TensorRT-LLM libera imediatamente as sequências concluídas do lote, em vez de esperar que o lote inteiro seja concluído antes de passar para o próximo conjunto de solicitações.

Enquanto uma nova solicitação está sendo executada, outras solicitações do lote anterior que não foram concluídas ainda estão sendo processadas.

O lote em andamento e as otimizações adicionais em nível de kernel melhoram a utilização da GPU e podem pelo menos dobrar o rendimento do benchmark de solicitação LLM real no H100.

Motor H100Transformer usando FP8

O TensorRT-LLM também fornece uma função chamada H100TransformerEngine, que pode reduzir efetivamente o consumo de memória e a latência durante a inferência de modelos grandes.

Como o LLM contém bilhões de pesos de modelo e funções de ativação, ele geralmente é treinado e representado com valores FP16 ou BF16, cada um ocupando 16 bits de memória.

No entanto, no momento da inferência, a maioria dos modelos pode ser representada de forma eficiente e com menor precisão usando técnicas de quantização, como números inteiros de 8 ou mesmo 4 bits (INT8 ou INT4).

A quantização é o processo de redução dos pesos do modelo e da precisão de ativação sem sacrificar a precisão. Usar menor precisão significa que cada parâmetro é menor e o modelo ocupa menos espaço na memória da GPU.


Isso permite inferência em modelos maiores usando o mesmo hardware, gastando menos tempo em operações de memória durante a execução.

Por meio da tecnologia H100TransformerEngine, o H100GPU emparelhado com TensorRT-LLM permite aos usuários converter facilmente os pesos do modelo para o novo formato FP8 e compilar automaticamente o modelo para aproveitar as vantagens do kernel FP8 otimizado.

E este processo não requer nenhuma codificação! O formato de dados FP8 introduzido pelo H100 permite que os desenvolvedores quantifiquem seus modelos e reduzam drasticamente o consumo de memória sem reduzir a precisão do modelo.

Em comparação com outros formatos de dados, como INT8 ou INT4, a quantização FP8 mantém maior precisão enquanto atinge o desempenho mais rápido e é mais conveniente de implementar.

Como obter o TensorRT-LLM

Embora o TensorRT-LLM ainda não tenha sido lançado oficialmente, os usuários agora podem ter acesso antecipado.

O link do aplicativo é o seguinte:

https://developer.nvidia.com/tensorrt-llm-early-access/join

A NVIDIA também disse que o TensorRT-LLM será integrado à estrutura NVIDIA NeMo em breve.

Esta estrutura faz parte do AIEnterprise, que a NVIDIA lançou recentemente, fornecendo aos clientes corporativos uma plataforma de software de IA de nível empresarial segura, estável e altamente gerenciável.

Desenvolvedores e pesquisadores podem acessar o TensorRT-LLM por meio da estrutura NeMo no NVIDIA NGC ou como um projeto no GitHub.

No entanto, deve-se observar que os usuários devem se registrar no NVIDIA Developer Program para solicitar a versão de acesso antecipado.

Discussão acalorada entre internautas

Internautas no Reddit lançaram uma discussão acalorada sobre o lançamento do TensorRT-LLM.

É difícil imaginar o quanto o efeito será melhorado após a otimização do hardware especificamente para LLM.


Mas alguns internautas acreditam que o objetivo disso é ajudar Lao Huang a vender mais H100s.


No entanto, alguns internautas não concordam muito. Ele acha que o TensorRT também é útil para usuários que implantam SD localmente, portanto, desde que haja uma GPU RTX, será possível se beneficiar de produtos semelhantes no futuro.


De uma perspectiva mais macro, talvez para o LLM, também haverá uma série de otimizações no nível de hardware, e até mesmo hardware projetado especificamente para o LLM aparecerá no futuro para melhorar o desempenho do LLM. Na verdade, isso aconteceu em muitos aplicativos populares e o LLM não é exceção.