Reduciendo la latencia en frío para la inferencia de LLM con NVIDIA Run:ai Model Streamer
Sources: https://developer.nvidia.com/blog/reducing-cold-start-latency-for-llm-inference-with-nvidia-runai-model-streamer, https://developer.nvidia.com/blog/reducing-cold-start-latency-for-llm-inference-with-nvidia-runai-model-streamer/, NVIDIA Dev Blog
TL;DR
- NVIDIA Run:ai Model Streamer es un SDK de Python de código abierto que lee concurrentemente los pesos del modelo desde el almacenamiento y los transmite a la memoria de la GPU para reducir la latencia de arranque en frío en la inferencia de LLM. NVIDIA Dev Blog
- Los benchmarks en diferentes tipos de almacenamiento muestran reducciones significativas en el tiempo de preparación total al usar Model Streamer, especialmente en storages de mayor rendimiento; en algunos casos, los tiempos caen más del 70% frente a cargas como HF Safetensors Loader o Tensorizer. NVIDIA Dev Blog
- El estudio enfatiza que la elección del almacenamiento y la concurrencia son palancas clave para lograr una inferencia más rápida en implementaciones en la nube. NVIDIA Dev Blog
Contexto y antecedentes
La inferencia de grandes modelos de lenguaje (LLMs) en producción enfrenta un cuello de botella persistente: la latencia de arranque en frío. Cargar los pesos del modelo en la memoria de la GPU puede llevar mucho tiempo, especialmente cuando los modelos requieren decenas o cientos de gigabytes. En entornos en la nube, el flujo de descarga hacia la memoria de la CPU añade retardo adicional. NVIDIA presenta Run:ai Model Streamer, un SDK de código abierto que busca mitigar estos retrasos mediante streaming de pesos a la GPU y lectura concurrente de tensores. NVIDIA Dev Blog
Qué hay de nuevo
- La arquitectura de Model Streamer permite concurrencia: múltiples hilos leen tensores desde el almacenamiento hacia la memoria de la CPU mientras otros tensores se transfieren a la memoria GPU, superponiendo I/O y cómputo para reducir el tiempo total de carga. Este enfoque aprovecha la separación física entre CPU y GPU para minimizar la intervención de la CPU y maximizar el ancho de banda de streaming. NVIDIA Dev Blog
- Mantiene compatibilidad con el formato Safetensor, evitando conversiones de pesos en flujos de trabajo comunes. En los benchmarks, Model Streamer se comparó con HF Safetensors Loader y CoreWeave Tensorizer usando vLLM. NVIDIA Dev Blog
- Los tests utilizaron GP3 SSD, IO2 SSD y Amazon S3, destacando que el throughput del almacenamiento es el límite práctico para Gain con Model Streamer y otros loaders. NVIDIA Dev Blog
- En la nube, Model Streamer demostró ventajas claras en el tiempo total de preparación frente a HF Safetensors Loader y Tensorizer, incluidas ganancias en S3. NVIDIA Dev Blog
Por qué importa (impacto para desarrolladores/empresas)
- Una menor latencia de arranque en frío mejora la experiencia del usuario y la eficiencia operativa para servir LLMs en producción. Arranques más rápidos permiten chatbots más receptivos y escalabilidad ante picos de demanda. NVIDIA Dev Blog
- En entornos en la nube, la habilidad de saturar el throughput del storage y superponer lecturas con transferencias a GPU ayuda a reducir el tiempo total hasta la inferencia, afectando acuerdos de nivel de servicio y estrategias de autoescalado. NVIDIA Dev Blog
- El estudio subraya que las elecciones de almacenamiento y la configuración de concurrencia influyen significativamente en el rendimiento del servicio de LLMs, guiando decisiones de infraestructura en empresas que operan modelos grandes. NVIDIA Dev Blog
Detalles técnicos o Implementación
Model Streamer de NVIDIA está diseñado para acelerar la carga de pesos grandes en la memoria GPU desde diversas fuentes de almacenamiento, incluyendo sistemas de archivos en red, almacenamiento en la nube y discos locales. La idea central es leer y transferir tensores de forma concurrente: al leer unos tensores de storage hacia la memoria CPU, otros tensores se mueven hacia la GPU a través de PCIe, permitiendo superposición de E/S y cómputo en tiempo real. El sistema utiliza un backend multithread para leer múltiples tensores de forma concurrente y segmentar su transferencia a la GPU sin bloquear al CPU. Los experimentos se realizaron en una instancia AWS g5.12xlarge con GPUs NVIDIA A10G y CPUs AMD EPYC de 2.ª generación. NVIDIA Dev Blog
Comparaciones y benchmarks
- Model Streamer frente a HF Safetensors Loader y CoreWeave Tensorizer se evaluó bajo condiciones de cold-start con GP3 SSD, IO2 SSD y Amazon S3. HF Safetensors Loader usa mapeo de memoria para un cargado zero-copy en CPU y cudaMemcpy para GPU; S3 no es compatible para HF en estos tests. Tensorizer difunde los datos tensor por tensor desde HTTP/HTTPS o S3, pudiendo requerir conversiones de formato. NVIDIA Dev Blog
- En GP3 SSD, Model Streamer alcanzó un throughput cercano a 1 GiB/s. A una threaded inicial, 1 hilo cargaba en 47,56 s; con concurrencia 16, 14,34 s. HF Safetensors Loader quedó en 47,99 s; Tensorizer pasó de 50,74 s (1 worker) a 16,11 s (16 workers), con throughput cercano al ancho de banda GP3. El cuello de botella práctico fue la capacidad de almacenamiento. NVIDIA Dev Blog
- Con IO2 SSD, los beneficios para Model Streamer fueron mayores: 43,71 s a 1 thread; 7,53 s con concurrencia 8. HF Safetensors Loader se mantuvo alrededor de 47 s; Tensorizer alcanzó 10,36 s con ocho workers (throughput ~2 GiB/s). Se observó que los límites prácticos de throughput rondaban 2 GiB/s para Model Streamer y 1,6 GiB/s para Tensorizer, sugiriendo límites de infraestructura AWS más que límites de los cargadores. NVIDIA Dev Blog
- En S3, dado que HF Safetensors Loader no es compatible, la comparación se centró en Model Streamer y Tensorizer. El mejor resultado de Tensorizer fue con 16 workers; Model Streamer superó en todas las concurrencias: por ejemplo, con concurrencia 4, 28,24 s para Model Streamer frente a 37,36 s para Tensorizer (con 16 workers). Se observó caching en S3 cuando se repetían pruebas, lo que subraya la necesidad de intervalos para simular cold-start. NVIDIA Dev Blog
Resultados consolidado para integraciones vLLM
- En las pruebas con vLLM, la combinación Model Streamer redujo el tiempo total de preparación a 35,08 s en GP3 y 28,28 s en IO2, frente a 66,13 s y 62,69 s con HF Safetensors Loader. Tensorizer obtuvo 36,19 s (GP3) y 30,88 s (IO2). En S3, Model Streamer alcanzó 23,18 s frente a 65,18 s para Tensorizer. Estos resultados muestran la eficiencia de Model Streamer en escenarios de almacenamiento variados. NVIDIA Dev Blog
Lecciones prácticas y configuración
- Los resultados subrayan dos palancas prácticas para reducir la latencia de cold-start: throughput de storage y concurrencia. Storages de mayor rendimiento combinados con una concurrencia adecuada proporcionan las mayores mejoras para Model Streamer en entornos cloud. NVIDIA Dev Blog
- En S3, Model Streamer ofrece una ventaja notable frente a Tensorizer; sin embargo, existen efectos de caching en S3 que deben tenerse en cuenta al diseñar pruebas de cold-start. Mantener ventanas de prueba con pausas adecuadas ayuda a replicar condiciones de frío. NVIDIA Dev Blog
- La compatibilidad con Safetensor facilita la adopción de Model Streamer sin obligar a convertir pesos para muchos flujos de trabajo. NVIDIA Dev Blog
Preguntas frecuentes (FAQ)
- Q: ¿Qué es Model Streamer y qué problema resuelve?\n A: Es un SDK open source que lee pesos de modelos de forma concurrente desde el storage y los transmite a la memoria GPU, reduciendo la latencia de arranque en frío para la inferencia de LLMs. NVIDIA Dev Blog
- Q: ¿Cómo afecta la concurrencia a los tiempos de carga?\n A: Incrementar la concurrencia reduce significativamente el tiempo de carga al solaparse lecturas de almacenamiento con transferencias a la GPU; GP3 y IO2 muestran mejoras notables. NVIDIA Dev Blog
- Q: ¿Cómo se compara Model Streamer con HF Safetensors Loader y Tensorizer?\n A: En los escenarios probados, Model Streamer suele ser más rápido, especialmente con almacenamiento de alto rendimiento y en la nube (S3); los resultados varían según el almacenamiento y la concurrencia. NVIDIA Dev Blog
- Q: ¿Existen limitaciones por el almacenamiento?\n A: Sí. Incluso con alta concurrencia, los límites prácticos de throughput de GP3/IO2 pueden limitar las ganancias; el estudio señala límites de infraestructura de AWS más que límites de los cargadores. NVIDIA Dev Blog
- Q: ¿La compatibilidad Safetensor se mantiene?\n A: Sí, Model Streamer mantiene compatibilidad con Safetensor, evitando conversiones en muchos flujos de trabajo. NVIDIA Dev Blog
Referencias
- NVIDIA Dev Blog: Reducing Cold Start Latency for LLM Inference with NVIDIA Run:ai Model Streamer — https://developer.nvidia.com/blog/reducing-cold-start-latency-for-llm-inference-with-nvidia-runai-model-streamer/
More news
NVIDIA HGX B200 reduce la intensidad de las emisiones de carbono incorporado
El HGX B200 de NVIDIA reduce la intensidad de carbono incorporado en un 24% frente al HGX H100, al tiempo que ofrece mayor rendimiento de IA y eficiencia energética. Este artículo resume los datos PCF y las novedades de hardware.
Predecir Eventos Climáticos Extremos en Minutos sin Supercomputadora: Huge Ensembles (HENS)
NVIDIA y Berkeley Lab presentan Huge Ensembles (HENS), una herramienta de IA de código abierto que pronostica eventos climáticos raros y de alto impacto usando 27,000 años de datos, con opciones de código abierto o listas para usar.
Cómo reducir cuellos de botella KV Cache con NVIDIA Dynamo
NVIDIA Dynamo offloads KV Cache desde la memoria de la GPU hacia almacenamiento económico, habilitando contextos más largos, mayor concurrencia y costos de inferencia más bajos para grandes modelos y cargas de IA generativa.
Microsoft transforma el sitio de Foxconn en el data center Fairwater AI, descrito como el más poderoso del mundo
Microsoft anuncia planes para un data center Fairwater AI de 1,2 millones de pies cuadrados en Wisconsin, con cientos de miles de GPU Nvidia GB200. El proyecto de 3.3 mil millones de dólares promete un entrenamiento de IA sin precedentes.
Manual de los Grandmasters de Kaggle: 7 Técnicas de Modelado para Datos Tabulares
Un análisis detallado de siete técnicas probadas por los Grandmasters de Kaggle para resolver rápidamente conjuntos de datos tabulares mediante aceleración por GPU, desde baselines variados hasta ensamblaje y pseudo-etiquetado.
Monitorear la inferencia por lotes de Bedrock de AWS con métricas de CloudWatch
Descubra cómo monitorear y optimizar trabajos de inferencia por lotes de Bedrock con métricas, alarmas y paneles de CloudWatch para mejorar rendimiento, costos y operación.