Selección de GPU para LLMs: ¿cuánta memoria de GPU necesito?
Traducción automática
Este artículo se tradujo automáticamente a partir de la versión original en inglés.
Estima la memoria de los pesos, el KV cache y el runtime antes de comparar la velocidad de las GPU. Después mide el ancho de banda, la capacidad de cálculo y las interconexiones con la distribución de peticiones prevista. Un modelo cuyos pesos caben en memoria puede aun así superar la capacidad disponible cuando se ejecutan varias peticiones largas a la vez.
Usa la concurrencia y las longitudes de secuencia requeridas en el cálculo de memoria.
Calcula la estimación de memoria
Un modelo de 7 mil millones de parámetros almacenado en FP16 ocupa unos 14 GB solo en valores de los pesos. INT4 reduce esos valores a unos 3.5 GB, pero los factores de escala, los tensores sin cuantizar y las asignaciones del runtime añaden memoria. La cifra relevante es la asignación real del artefacto.
A continuación, estima la memoria del KV cache según la arquitectura, la precisión de la caché, las longitudes de las secuencias activas y el tamaño del lote. Por último, incluye las activaciones temporales, los búferes, la sobrecarga del asignador de memoria y una reserva basada en mediciones.
En un ejemplo sencillo de planificación, 14 GB de pesos más una asignación KV medida de 4 GB ya requieren 18 GB antes de otras asignaciones. Eso deja poco margen en una tarjeta de 24 GB si la sobrecarga del runtime o las peticiones más largas consumen el resto. No demuestra que todos los modelos de 7 mil millones de parámetros tengan una caché de 4 GB.
El ancho de banda y los enlaces entre GPU cambian la comparación
| Variante de GPU | Memoria publicada | Ancho de banda de memoria publicado |
|---|---|---|
| H100 SXM | 80 GB HBM3 | 3.35 TB/s |
| H200 SXM | 141 GB HBM3e | 4.8 TB/s |
| B200 SXM | 180 GB HBM3e | Hasta 8 TB/s |
Estos valores proceden de la arquitectura de referencia HGX de NVIDIA. Describen variantes concretas, no especificaciones intercambiables para todas las tarjetas de una misma familia.
Durante la decodificación con lotes pequeños, la lectura de los pesos y del estado de atención puede hacer que el ancho de banda de memoria sea más relevante que el rendimiento máximo en operaciones matriciales. Los lotes más grandes, las fases de prefill largas y los kernels optimizados pueden cambiar el recurso que limita el rendimiento. Cuando un modelo necesita varias GPUs, incluye el tiempo de comunicación colectiva y los enlaces disponibles entre dispositivos.
Compara el coste real por petición completada correctamente con los mismos objetivos de calidad y latencia. Incluye los grupos de GPU necesarios y la capacidad no utilizada; el precio de alquiler actual por sí solo no indica la eficiencia del serving.
La sección de selección de GPU de la LLM Engineering Guide compara otros dispositivos. Usa la planificación de memoria del KV cache para estimar la asignación variable.