Os grandes modelos de linguagem (LLMs) estão revolucionando o mercado de trading financeiro ao possibilitar análises sofisticadas de grandes volumes de dados não estruturados para gerar insights acionáveis. Esses sistemas de IA avançados podem processar notícias financeiras, sentimento em redes sociais, relatórios de resultados e dados de mercado para prever movimentos de preços e automatizar estratégias de investimento com precisão sem precedentes.
O Strategic Technology Analysis Center (STAC) desenvolve benchmarks para as cargas de trabalho essenciais do setor financeiro há mais de 15 anos. Eles desenvolveram agora o benchmark STAC-AI para ajudar empresas a avaliar o pipeline de geração aumentada por recuperação (RAG) e inferência de LLM de ponta a ponta.
Este artigo apresenta os resultados obtidos no benchmark STAC-AI LANG6 em múltiplas plataformas NVIDIA. Também compartilhamos recomendações sobre como qualquer usuário pode fazer benchmark do NVIDIA TensorRT LLM de acordo com as especificações do seu próprio conjunto de dados.
Benchmark STAC-AI LANG6 (somente inferência)
No contexto mais amplo de um pipeline RAG, o STAC-AI LANG6 é a parte do benchmark focada no desempenho de inferência de LLM. O benchmark testa o hardware e o stack de software nos modelos Llama 3.1 8B Instruct e Llama 3.1 70B Instruct em combinação com os seguintes conjuntos de dados personalizados:
- EDGAR4: Os prompts são sumarizações da relação de uma empresa com diversos conceitos físicos e financeiros (como commodities, moedas, taxas de juros e setores imobiliários). Utiliza parágrafos de 10-K do EDGAR de um único arquivamento de um único ano. O comprimento de sequência entrada/saída visa modelar requisições de tamanho médio.
- EDGAR5: Perguntas cobrindo diferentes aspectos de um arquivamento 10-K completo. O tipo de documento é o texto completo de um único arquivamento 10-K do EDGAR. O comprimento de sequência visa modelar requisições de contexto longo.
Esses conjuntos de dados, baseados em arquivamentos EDGAR, modelam sumarizações de contexto médio e longo para casos de uso de trading financeiro e consultoria de investimentos. Os prompts solicitam ao modelo que realize análise e sumarização de relatórios anuais (arquivamentos 10-K) de milhares de empresas públicas ao longo dos últimos cinco anos.
O benchmark também testa dois cenários distintos de inferência:
- Modo batch (offline): Todas as requisições são enviadas de uma vez e todas as respostas são coletadas juntas. Apenas o throughput é medido.
- Modo interativo (online): As requisições chegam em intervalos pseudo-aleatórios. A taxa média de chegada λ pode ser configurada para modelar diferentes cenários de uso. O benchmark coleta métricas como tempo de reação (RT), palavras por segundo por usuário (WPS/usuário) e palavras por segundo totais (WPS), sem impor restrições sobre elas. O RT é análogo ao tempo até o primeiro token (TTFT) em outros benchmarks, e o WPS ao tokens/segundo/usuário.
Note que o modo interativo não cobre a combinação do Llama 3.1 70B Instruct com EDGAR5.
O benchmark verifica a qualidade do output e a contagem de palavras em relação a um conjunto de controle de respostas geradas por LLM. Uma diferença importante do STAC-AI é a necessidade de aplicar templates de chat e tokenizar requisições durante a inferência. Implementações reais podem preferir que esse trabalho seja feito no lado do servidor para proteger os prompts do sistema, impondo mais carga à CPU.
Stack de hardware e software
Este artigo compara dois servidores on-premises baseados em NVIDIA Hopper, submetidos pela HPE, com um nó NVIDIA Blackwell em nuvem.
- O HPE ProLiant Compute DL384 Gen12, equipado com o NVIDIA GH200 Grace Hopper Superchip, oferece uma solução eficiente de servidor único. Consulte o relatório Llama 3.1 8B e o relatório Llama 3.1 70B no site da STAC.
- Uma VM em nuvem fornecida pela Nebius Cloud, baseada em um único nó de um sistema NVIDIA GB200 NVL72. A VM possui dois CPUs NVIDIA Grace e quatro GPUs NVIDIA Blackwell totalmente conectadas via NVIDIA NVLink e NVSwitch. Consulte os relatórios Llama 3.1 8B e Llama 3.1 70B no site da STAC.
- A opção on-premises mais recente é o SuperMicro AS-5126GS-TNRT com duas GPUs NVIDIA RTX PRO 6000 Blackwell Server Edition, cada uma com 96 GB de memória, totalizando ampla memória GPU para modelos maiores, tamanhos de batch maiores ou mais jobs simultâneos.
Como o benchmark exige quantização pós-treinamento como parte do procedimento, os modelos foram quantizados com o NVIDIA TensorRT Model Optimizer: FP8 para NVIDIA Hopper e NVFP4 para NVIDIA Blackwell. O framework de inferência NVIDIA TensorRT LLM foi utilizado com o runtime PyTorch do TensorRT LLM para execução eficiente dos modelos.
Resultados do benchmark STAC-AI LANG6
Modo Batch
No modo batch, o NVIDIA Blackwell entrega acelerações significativas em todos os cenários. A Tabela 1 mostra as métricas WPS e requisições por segundo (RPS) obtidas.
Nota: os resultados do NVIDIA GB200 NVL72 não foram auditados pela STAC.
| Modelo | Dataset | 2× GH200 144 GB — TensorRT LLM FP8 | 4× GB200 NVL72 — TensorRT LLM NVFP4 | 2× RTX PRO 6000 — NVFP4 | |||
|---|---|---|---|---|---|---|---|
| WPS | RPS | WPS | RPS | WPS | RPS | ||
| Llama 3.1 8B | EDGAR4 | 8.237 | 51,5 | 37.480 | 224 | 5.500 | 32,9 |
| Llama 3.1 8B | EDGAR5 | 304 | 0,784 | 1.112 | 2,85 | 138 | 0,345 |
| Llama 3.1 70B | EDGAR4 | 1.071 | 6,77 | 5.618 | 35,9 | 831 | 5,26 |
| Llama 3.1 70B | EDGAR5 | 41,4 | 0,119 | 150 | 0,477 | 13 | 0,04 |
Tabela 1. Resultados do STAC-AI em modo batch para todas as combinações de modelo e dataset.
O desempenho por GPU também foi avaliado para considerar o número diferente de GPUs em cada sistema. Embora o STAC-AI não meça o desempenho por GPU, a Figura 1 ilustra a diferença de throughput entre GPUs individuais de cada sistema.

Modo Interativo
O equilíbrio entre economia de tokens (dependente do throughput) e experiência do usuário (dependente de métricas de interatividade como RT e WPS/usuário) é um fator crucial na inferência moderna de LLM.
O modo interativo demonstra o tradeoff ao longo da frente de Pareto interatividade-throughput, selecionando uma faixa de taxas de chegada. A interatividade é medida pelo RT e pelo WPS/usuário. Para facilitar a visualização, utiliza-se o inverso do WPS/usuário, definido como latência entre palavras (IWL). Nos gráficos são usados os percentis 95 de ambas as métricas.
Como visto na Figura 2, o GB200 NVL72 alcança um melhor tradeoff entre throughput, RT e IWL em todos os cenários. IWL (contínuo, menor é melhor) e RT (tracejado, menor é melhor) são plotados versus o throughput do modo interativo para os diferentes cenários de modelo/dataset.

A Figura 3 mostra que, mesmo operando em percentual similar do throughput máximo, o NVIDIA GB200 NVL72 alcança melhor RT e IWL na maioria dos cenários. A normalização do eixo X remove as vantagens de throughput bruto e destaca a interatividade sob carga equivalente.

Como fazer benchmark do TensorRT LLM com seus dados personalizados
Embora o benchmark STAC utilize dados e métricas proprietários, você pode fazer benchmark do TensorRT LLM com modelos adaptados às características do seu próprio conjunto de dados. Este tutorial orienta você na quantização de um modelo, preparação do dataset e execução de benchmarks de desempenho.
Pré-requisitos:
- Uma imagem Docker que inclua o TensorRT LLM (TensorRT LLM Release, por exemplo).
- Uma GPU NVIDIA com capacidade suficiente para servir seu modelo no nível de quantização desejado. Consulte a matriz de suporte de quantização na documentação do TensorRT LLM.
- Uma conta e token do Hugging Face, além de acesso aos modelos restritos Llama 3.1 8B Instruct ou Llama 3.1 70B Instruct. Defina a variável de ambiente
HF_TOKENcom seu token; todos os comandos subsequentes utilizarão esse token.
Passo 1: Inicializar o container
Os containers mantidos pela NVIDIA contêm todas as dependências pré-instaladas. Entre em um diretório vazio com espaço suficiente para os modelos e suas quantizações. Inicie o container em uma máquina com GPUs NVIDIA com o seguinte comando, especificando seu token do Hugging Face:
docker run --rm -it --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 \
--gpus=all \
-u $(id -u):$(id -g) \
-e USER=$(id -un) \
-e HOME=/tmp \
-e TRITON_CACHE_DIR=/tmp/.triton \
-e TORCHINDUCTOR_CACHE_DIR=/tmp/.inductor_cache \
-e HF_HOME=/workspace/model_cache \
-e HF_TOKEN=<seu_token_huggingface> \
--volume "$(pwd)":/workspace \
--workdir /workspace \
nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc2
Passo 2: Clonar os repositórios
A quantização do modelo reduz o tamanho do modelo e melhora a velocidade de inferência. Use o NVIDIA Model Optimizer para quantizar o Llama 3.1 8B Instruct para o formato NVFP4. Primeiro, clone o repositório do Model Optimizer para o exemplo de quantização:
git clone https://github.com/NVIDIA/TensorRT-Model-Optimizer.git -b 0.37.0
Passo 3: Quantizar o modelo
Execute o script de exemplo do Hugging Face com o modelo e formato de quantização escolhidos — neste caso, Llama 3.1 8B Instruct usando quantização NVFP4:
bash TensorRT-Model-Optimizer/examples/llm_ptq/scripts/huggingface_example.sh \
--model meta-llama/Llama-3.1-8B-Instruct \
--quant nvfp4
Passo 4: Gerar dados sintéticos
Use o utilitário de benchmark para gerar um dataset sintético com a distribuição de tokens necessária para uma tarefa. Este exemplo cria 30.000 requisições com comprimento de sequência de entrada fixo em 2.048 e comprimento de saída de 128. Desvios padrão não nulos aproximam melhor o tráfego real, se você tiver acesso a essas informações:
python /app/tensorrt_llm/benchmarks/cpp/prepare_dataset.py \
--stdout \
--tokenizer meta-llama/Llama-3.1-8B-Instruct \
token-norm-dist \
--input-mean 2048 \
--output-mean 128 \
--input-stdev 0 \
--output-stdev 0 \
--num-requests 30000 \
> dataset_2048_128.json
Passo 5: Executar o benchmark
O comando trtllm-bench pode executar as requisições geradas no modo offline, enviando todas de uma vez ao runtime do TensorRT LLM (próximo ao modo batch do STAC-AI). Algumas opções estão disponíveis na API de linha de comando, enquanto a API LLM completa pode ser acessada por meio de um arquivo YAML passado com o parâmetro extra_llm_api_options. Para este exemplo, habilite o padding de CUDA Graphs:
cat > llm_options.yml << 'EOF'
cuda_graph_config:
enable_padding: True
EOF
Por fim, execute o benchmark especificando o modelo, o dataset e as opções:
trtllm-bench \
--model meta-llama/Llama-3.1-8B-Instruct \
--model_path /workspace/TensorRT-Model-Optimizer/examples/llm_ptq/saved_models_Llama-3_1-8B-Instruct_nvfp4 \
throughput \
--dataset dataset_2048_128.json \
--backend pytorch \
--extra_llm_api_options llm_options.yml
Isso exibirá diversas métricas como throughput de requisições, tokens/segundo/GPU e mais. Para saber sobre mais opções, consulte a Referência da API do TensorRT LLM.
Comece com o benchmarking do TensorRT LLM
O NVIDIA GB200 NVL72 avançou significativamente o desempenho no benchmark STAC-AI LANG6, estabelecendo um novo recorde para inferência de LLM no setor financeiro. O NVIDIA Blackwell entregou até 3,2× o desempenho das arquiteturas anteriores, alcançando maior throughput e mantendo interatividade superior de forma consistente.
Paralelamente ao novo recorde, o NVIDIA Hopper continua entregando resultados sólidos e valiosos para cargas de trabalho de inferência de LLM. Mesmo mais de três anos após seu lançamento inicial, o Hopper prova ser altamente eficaz em cenários de inferência batch e interativa, mantendo boas métricas de desempenho mesmo em alto throughput — confirmando sua relevância contínua para instituições financeiras.
Para aprofundar-se na configuração e execução de suas próprias avaliações de desempenho, explore o Guia de Benchmarking do TensorRT LLM.
