NVIDIA Blackwell establece un nuevo récord en inferencia de LLM para finanzas

Los modelos de lenguaje de gran escala (LLMs) están transformando el panorama del comercio financiero al permitir un análisis sofisticado de grandes volúmenes de datos no estructurados, generando así información comercial útil. Estos sistemas avanzados de inteligencia artificial procesan noticias financieras, sentimientos de redes sociales, informes de ganancias y datos del mercado para predecir movimientos en los precios de acciones y automatizar estrategias de inversión con una precisión sin precedentes.

El Centro de Análisis de Tecnología Estratégica (STAC) ha estado desarrollando métricas para las cargas de trabajo clave de la industria financiera durante más de 15 años. Recientemente, han creado el benchmark STAC-AI para ayudar a las empresas a evaluar el proceso de generación aumentada por recuperación (RAG) e inferencia de LLM.

Benchmark STAC-AI LANG6

Dentro de un contexto más amplio del proceso RAG, el benchmark STAC-AI LANG6 se centra en el rendimiento de inferencia de LLM. Este benchmark evalúa el hardware y el software en los modelos Llama 3.1 8B Instruct y Llama 3.1 70B Instruct, combinados con conjuntos de datos personalizados específicos.

Los conjuntos de datos se basan en archivos EDGAR, modelando resúmenes de contexto medio y largo para casos de uso en comercio financiero y asesoramiento de inversiones. Las solicitudes piden al modelo que analice y resuma informes anuales (archivos 10-K) de miles de empresas públicas durante los últimos cinco años.

Escenarios de inferencia

El benchmark también evalúa dos escenarios de inferencia distintos: modo por lotes y modo interactivo. En el modo por lotes, todas las solicitudes se entregan de una vez y se recogen las respuestas de forma conjunta, mientras que en el modo interactivo, las solicitudes llegan en momentos pseudoaleatorios, permitiendo medir métricas como el tiempo de reacción (RT) y palabras por segundo por usuario (WPS/user).

Es importante destacar que el modo interactivo no incluye la combinación del modelo Llama 3.1 70B Instruct con EDGAR5.

Hardware y software utilizados

Este informe compara dos servidores basados en NVIDIA Hopper proporcionados por HPE con un nodo basado en NVIDIA Blackwell en la nube. Como parte del procedimiento de benchmarking, se realizó una cuantización post-entrenamiento de los modelos utilizando el NVIDIA TensorRT Model Optimizer.

Para maximizar el rendimiento, se utilizó el marco de inferencia NVIDIA TensorRT LLM para ejecutar los modelos cuantizados, asegurando así una experiencia de desarrollo nativa de PyTorch.

Resultados de benchmarking en STAC-AI LANG6

Los resultados del benchmarking para ambos modos, por lotes e interactivo, se describen a continuación.

Modo por lotes

En el modo por lotes, NVIDIA Blackwell logra mejoras significativas en todas las situaciones. La tabla 1 muestra el rendimiento en palabras por segundo (WPS) y solicitudes por segundo (RPS) alcanzadas.

Es importante señalar que los resultados de NVIDIA GB200 NVL72 no fueron auditados por STAC.

Modelo​ Conjunto de datos​ 2x GH200 144 GB ​
TensorRT LLM FP8​
4x GB200 NVL72
TensorRT LLM NVFP4​
2x 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
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
EDGAR5​ 41.4 0.119 150​ 0.477​ 13 0.04
Tabla 1. Resultados en modo por lotes de STAC-AI para todas las combinaciones de modelos y conjuntos de datos

Los informes completos con más detalles sobre ambos modos están disponibles en los reportes publicados por STAC.

Se evaluó también el rendimiento de un solo GPU para tener en cuenta el número variable de GPUs en cada sistema. Aunque STAC-AI no mide el rendimiento por GPU, los resultados muestran la diferencia en rendimiento entre GPUs individuales de cada uno de los sistemas.

Figura 1. La mejora de rendimiento de un solo GPU NVIDIA GH200 a un solo GPU NVIDIA GB200 NVL72 puede alcanzar hasta 3.2x

Modo interactivo

El equilibrio entre la economía de tokens (dependiente de la capacidad de procesamiento) y la experiencia del usuario (dependiente de métricas de interactividad como RT y WPS/user) es crucial en la inferencia moderna de LLM.

El modo interactivo muestra el intercambio entre la interactividad y el rendimiento, midiendo tanto RT como WPS/user. En los gráficos se utiliza la latencia inversa de WPS/user, definida como latencia inter-palabra (IWL). La figura 2 demuestra que GB200 NVL72 logra un mejor equilibrio en todos los escenarios.

Six small line charts compare GH200, GB200, and RTX 6000 Pro in interactive mode. The top row plots p95 IWL (seconds per token) versus throughput (requests per second), and the bottom row plots p95 RT (seconds) versus throughput, for three model/dataset configurations.
Figura 2. NVIDIA GB200 NVL72 mantiene una mejor interactividad a un mayor rendimiento interactivo en comparación con NVIDIA GH200

Cómo evaluar TensorRT LLM con tus datos personalizados

Aunque el benchmark STAC utiliza datos y métricas propietarios, puedes evaluar TensorRT LLM con modelos adaptados a las características específicas de tu conjunto de datos. Este tutorial te guiará a través del proceso de cuantización de un modelo, preparación de tu conjunto de datos y ejecución de benchmarks de rendimiento, todo adaptado a tu caso de uso específico.

Requisitos previos:

Paso 1: Lanzar el contenedor

Los contenedores mantenidos por NVIDIA contienen todas las dependencias necesarias. Cambia a un directorio vacío con suficiente espacio para los modelos y sus cuantizaciones. Puedes iniciar el contenedor en una máquina con GPUs de NVIDIA con el siguiente comando, asegurándote de especificar tu token de 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= --volume "$(pwd)":/workspace --workdir /workspace nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc2 

Paso 2: Clonar los repositorios

La cuantización del modelo reduce su tamaño y mejora la velocidad de inferencia. Utiliza NVIDIA Model Optimizer para cuantizar Llama 3.1 8B Instruct a formato NVFP4. Primero, clona el repositorio de Model Optimizer para el ejemplo de cuantización:

 git clone https://github.com/NVIDIA/TensorRT-Model-Optimizer.git -b 0.37.0 

Paso 3: Cuantizar el modelo

Ejecuta el script de ejemplo de Hugging Face con el modelo elegido y el formato de cuantización, en este caso, Llama 3.1 8B Instruct utilizando cuantización NVFP4.

 bash TensorRT-Model-Optimizer/examples/llm_ptq/scripts/huggingface_example.sh --model meta-llama/Llama-3.1-8B-Instruct --quant nvfp4 

Paso 4: Generar datos sintéticos

Utiliza la utilidad de benchmark para generar un conjunto de datos sintético con la distribución de tokens necesaria para una tarea. Este ejemplo crea 30,000 solicitudes con una longitud de secuencia de entrada fija de 2,048 y una longitud de secuencia de salida de 128.

 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 

Paso 5: Ejecutar el benchmark

El comando trt-llm bench puede ejecutar las solicitudes generadas de forma offline, enviando todas las solicitudes a la vez al runtime de TensorRT LLM.

Finalmente, ejecuta el benchmark, especificando el modelo, el conjunto de datos y las opciones:

 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 

Esto generará métricas sobre el rendimiento, como el rendimiento de solicitudes y los tokens por segundo por GPU.

Iniciar con el benchmarking de TensorRT LLM

NVIDIA GB200 NVL72 ha avanzado significativamente en rendimiento en el benchmark STAC-AI LANG6, estableciendo un nuevo récord para la inferencia de LLM en el sector financiero. NVIDIA Blackwell ha logrado hasta 3.2 veces el rendimiento de arquitecturas anteriores y ha mantenido una interactividad superior.

A pesar de la aparición de nuevas tecnologías, NVIDIA Hopper sigue demostrando resultados valiosos para las cargas de trabajo de inferencia de LLM, manteniendo buenos métricas de rendimiento incluso en alta capacidad de procesamiento.

Para profundizar en la configuración y ejecución de tus propias evaluaciones de rendimiento, explora la Guía de Benchmarking de TensorRT LLM.

Ilustración de un hombre mayor con auriculares y chaqueta