Rendimiento de Llama 3.2 con WebGPU en Node.js

4 minuto(s)

En la arquitectura de software actual, el paradigma está cambiando: estamos pasando de consumir inteligencia como un servicio (SaaS) a integrarla como un recurso local. Como ingenieros, ya no queremos estar atados a los límites de cuotas de terceros. La llegada de WebGPU a los entornos de servidor nos permite liberar el poder de la GPU directamente desde Node.js.

¿Por qué WebGPU en el Backend?

Tradicionalmente, la inferencia en servidor requería configuraciones complejas de CUDA o C++. Con la madurez de WebGPU y librerías como onnxruntime-node, podemos ejecutar modelos cuantizados (como Llama 3.2 o DeepSeek-R1) con un rendimiento cercano al nativo, pero manteniendo la flexibilidad de JavaScript.

1. Preparación del Entorno

Tradicionalmente, la inferencia en servidor requería configuraciones complejas de CUDA o C++. Con la madurez de WebGPU y librerías como onnxruntime-node, podemos ejecutar modelos cuantizados (como Llama 3.2 o DeepSeek-R1) con un rendimiento cercano al nativo, pero manteniendo la flexibilidad de JavaScript.

2. El Corazón del Servidor (Inferencia Local)

El secreto aquí es la carga del modelo en memoria una sola vez (Singleton) y el uso de la aceleración por hardware.

Para esta prueba voy a usar los archivos model_q4.onnx, model_q4.onnx_data y model_q4.onnx_data_1, los cuales he descargado desde Hugging Face y los puse en una carpeta llamada /models.

Para este ejemplo usaré el modelo de Inteligencia Artficial Llama-3.2:3b, pero para las pruebas usare los archivos en formato onnx, estos representan al modelo.

Creamos un archivo llamado server-ai.js, puedes ponerle el nombre que desees, agregamos lo siguiente:


Ahora realicemos la prueba para ver los resultados.

3. Pruebas y  Resultados (Benchmarks)

Primero ejecutamos la prueba con Autocannon:


Nota: Los números en input_data son representaciones de tokens. En un entorno real, usarías un Tokenizer antes de este paso.

Y obtenemos:

Pruebas de API REST (ONNX)

Ahora analicemos que paso.

Análisis de Estrés: API REST + Llama 3.2 (ONNX)

Al someter la API a una carga constante durante 20 segundos con 10 conexiones concurrentes, observamos el comportamiento real del motor de inferencia:

  • Latencia Promedio (Avg): 7,300.25 ms. Esto indica que, bajo presión, el tiempo de respuesta sube de los 2.3s iniciales a 7.3s. Es un comportamiento esperado cuando la cola de peticiones supera la capacidad de procesamiento del hardware actual.
  • P99 (Latencia Máxima): 11,692 ms. El 99% de los usuarios recibirían una respuesta en menos de 11.6 segundos. Para un modelo de 3B parámetros corriendo localmente, es un dato sólido que demuestra que el servidor no se “colapsó”, sino que gestionó la cola.
  • Throughput (Req/Sec): Un promedio de 0.8 solicitudes por segundo. Esto confirma que estamos ante una tarea intensiva de cómputo (CPU/GPU bound).
  • Estabilidad bajo carga: A pesar del estrés, el servidor mantuvo una desviación estándar (Stdev) de 3.7s, lo que significa que el rendimiento es predecible, algo vital para la arquitectura de software.
  • Manejo de Errores: La captura muestra 16 respuestas no exitosas (non 2xx). Para evitar cuellos de botellas podriamos implementar una cola de mensajes (como BullMQ o RabbitMQ) cuando la demanda supera la capacidad de inferencia inmediata de la GPU.
  • Optimización de Recursos: El bajo flujo de datos (250 B/sec) demuestra que el cuello de botella no es la red, sino la potencia de cálculo pura del servidor.

Conclusión

El benchmark revela que nuestra arquitectura de IA es capaz de procesar peticiones complejas de manera estable. Si bien la latencia promedio de 7.3s sugiere que para entornos de alta concurrencia necesitaríamos escalar horizontalmente o implementar sistemas de encolado, los resultados validan que Node.js v24 (versión que use para esta prueba) es una versión robusta para orquestar modelos de lenguaje de última generación.

API REST 03-05-2026 03-05-2026 Crear un PostEventos DevsForo

Sobre el Autor

Juan Castro

Juan Castro — Ingeniero de Software con más de 17 años de experiencia en desarrollo, ia, ml, devops, data science, ciberseguridad y tecnología.

Certificados oficiales:
Certificado Microsoft Azure Fundamentals Certificado AWS Designing Event-Driven Architectures Certificado Google Desarrollo de Aplicaciones Móviles

Ver más

IA