Calculadora de VRAM para inferencia de LLM
Datos de entrada
| Parámetros | 7 |
|---|---|
| Precisión de los pesos | FP16 / BF16 (16 bits) |
| Sobrecarga en ejecución | 20 % |
Calculadora de VRAM para inferencia de LLM
Estima la VRAM de GPU necesaria para servir un modelo de lenguaje grande en inferencia a partir de su número de parámetros, la precisión de los pesos y la sobrecarga en tiempo de ejecución de la caché KV, las activaciones y la fragmentación.
Datos de entrada
Modelo
Tiempo de ejecución
Resultados
Introduce un valor para ver los resultados.
Detalles
La VRAM para inferencia de LLM
Servir un modelo de lenguaje grande empieza por una pregunta directa: ¿cabrá en la GPU? La respuesta la dominan los pesos del modelo, pero los pesos por sí solos subestiman la necesidad, porque un servidor de inferencia también tiene que mantener la caché KV, las activaciones que recorren cada capa y algo de memoria perdida por la fragmentación. Esta calculadora estima la VRAM total a partir de tres datos: el número de parámetros, la precisión en la que se almacenan los pesos y una sobrecarga en tiempo de ejecución que reúne el resto en una cifra ajustable.
Los pesos fijan el mínimo
Los pesos de un modelo son su mayor coste fijo en memoria. Cada parámetro se almacena en una precisión elegida: los pesos completos de 16 bits ocupan dos bytes cada uno, la cuantización de 8 bits ocupa un byte y la de 4 bits ocupa medio byte. Así, un número de parámetros en miles de millones, almacenado a bits, ocupa
W=8N⋅b GBMil millones de parámetros de 16 bits son exactamente 2 GB, que es por lo que un modelo de 7B necesita 14 GB solo para sus pesos. Dividir el número de bits entre ocho convierte bits a bytes y, como los parámetros se cuentan en miles de millones y la memoria en gigabytes, las unidades encajan directamente.
Añadir la sobrecarga en ejecución
Los pesos son solo el mínimo. Durante la inferencia, el servidor mantiene una caché KV con las claves y valores de atención de cada token en proceso, reserva activaciones a medida que cada solicitud pasa por las capas y pierde algo de memoria por la fragmentación. El total es
V=W⋅(1+o)donde es la sobrecarga expresada como fracción del tamaño de los pesos. La caché KV es el componente más grande y variable —crece con la longitud del contexto y con el número de solicitudes concurrentes—, de modo que la sobrecarga adecuada depende mucho de la carga de trabajo. El 20 por ciento es un punto de partida razonable para prompts cortos con lotes modestos; el servicio de contextos largos y alta concurrencia puede elevarlo bastante más.
Ejemplo resuelto
Tómese un modelo de 7 mil millones de parámetros servido en precisión de 16 bits con un 20 por ciento de sobrecarga:
WV=87×16=14 GB=14×(1+0,20)=16,8 GBEl total de 16,8 GB cabe con holgura en una tarjeta de 24 GB, pero no deja margen en una de 16 GB. Para ejecutar el mismo modelo en una GPU más pequeña, bajar a 8 bits reduciría los pesos a la mitad, hasta 7 GB, y acercaría el total a 8,4 GB. La relación entre el tamaño del modelo y la precisión se explora con más detalle en la Calculadora de tamaño de modelo según la cuantización.
Hacer que un modelo quepa
Como la memoria escala de forma directa con los bits por peso, la cuantización es la palanca más directa: de 16 a 8 bits reduce a la mitad la memoria de los pesos, y de 8 a 4 bits la reduce de nuevo a la mitad, por lo general con una pérdida de calidad de salida modesta y aceptable. Cuando incluso un modelo cuantizado supera la capacidad de un solo acelerador, las alternativas son repartir los pesos entre varias GPU o descargar parte del modelo a la memoria del sistema con un fuerte coste de velocidad. Estimar cuántos aceleradores necesita un modelo se trata en la Calculadora de número de GPU para un modelo. Conviene tratar la cifra de aquí como una estimación de planificación y confirmarla frente a una ejecución real de servicio, ya que el framework, la longitud del contexto y el tamaño del lote mueven el número verdadero.
Preguntas frecuentes (FAQ)
¿Qué cubre la sobrecarga en tiempo de ejecución?
Más allá de los pesos, un servidor de inferencia debe mantener la caché KV, que almacena las claves y valores de atención de cada token en proceso, las activaciones que se generan a medida que cada solicitud recorre las capas, y cierto margen perdido por la fragmentación de la memoria. La caché KV es la parte más grande y variable: crece con la longitud del contexto y con el número de solicitudes concurrentes, de modo que un servidor que atiende prompts largos o lotes grandes puede necesitar bastante más que el 20 por ciento predeterminado.
El único porcentaje de sobrecarga reúne todo esto en una cifra ajustable.
¿Cómo se sabe si un modelo cabe en una GPU concreta?
Hay que comparar la estimación de VRAM total con la memoria del acelerador de destino, dejando un margen para el sistema operativo y el controlador. Un modelo de 7 mil millones de parámetros en 16 bits necesita unos 17 GB con sobrecarga incluida, que cabe con holgura en una tarjeta de 24 GB pero no en una de 16 GB.
Si la estimación supera la de una sola GPU, el modelo debe cuantizarse, repartirse entre varias GPU o descargarse en parte a la memoria del sistema con un gran coste de velocidad.
¿Cuánta memoria ahorra la cuantización?
La memoria escala de forma directa con los bits por peso, así que pasar de 16 a 8 bits reduce a la mitad la memoria de los pesos y pasar a 4 bits la reduce a la cuarta parte. Un modelo de 13 mil millones de parámetros necesita unos 26 GB de pesos en 16 bits, pero solo 13 GB en 8 bits y aproximadamente 6,5 GB en 4 bits, antes de la sobrecarga.
Una precisión menor permite que modelos más grandes quepan en tarjetas más pequeñas, con una pérdida de calidad de salida modesta y por lo general aceptable en 8 y 4 bits.
Aviso legal
Esta es una estimación de primer orden. La VRAM real depende del framework de servicio, la longitud del contexto, el tamaño del lote y la precisión de la caché KV, todo ello incluido aquí en un único porcentaje de sobrecarga. Conviene dimensionar el hardware con margen y confirmarlo con una carga de trabajo real antes de comprometerse.