Saltar al contenido
mathbehind

Calculadora de VRAM para LLM: memoria de GPU para ejecutar un modelo

Estima cuánta memoria de GPU necesita un LLM de pesos abiertos para la inferencia: los pesos del modelo con la precisión que elijas, la caché KV para tu longitud de contexto y la sobrecarga.

Tus números

miles de millones de parámetros

La B del nombre del modelo: 7B, 8B, 13B, 70B.

Los formatos de 4 bits añaden un poco para las escalas; el campo de sobrecarga lo cubre.

tokens

Del config.json del modelo (num_hidden_layers).

num_key_value_heads en config.json. Los modelos con atención de consultas agrupadas usan muchas menos que cabezas de atención.

Normalmente hidden_size ÷ num_attention_heads.

%

VRAM estimada necesaria

18,8 GB

Cabe en
Una sola GPU de 24 GB (el tamaño común más pequeño en el que cabe)
Pesos del modelo
16,0 GB
Caché KV
1,07 GB
Sobrecarga
1,71 GB
Caché KV por token
131 KB
Las cuentas que hay detrás
  1. Pesos

    8B × 2 byteses igual a16 GB

  2. Caché KV por token

    2 × 32 capas × 8 cabezas × 128 × 2 byteses igual a131 KB

  3. Caché KV

    131 KB × 8192 tokens × 1es igual a1,07 GB

  4. Total con sobrecarga

    (16 + 1,07) × (1 + 10%)es igual a18,8 GB

Antes de descargar un modelo o alquilar una GPU, necesitas saber si cabe. La memoria de inferencia tiene tres partes: los pesos del modelo, la caché KV que crece con cada token de contexto y la sobrecarga del runtime. Esta calculadora estima cada una para que puedas elegir una precisión, una longitud de contexto y una GPU que funcionen bien juntas.

Cómo funciona

Pesos: parámetros × bytes por parámetro. Un modelo de 8B en FP16 (2 bytes cada uno) ocupa 16 GB; en 4 bits, unos 4 GB. Suele ser la parte más grande, y la cuantización es la palanca más potente para reducirla.

Caché KV: por cada token del contexto, cada capa guarda un vector de clave y uno de valor para cada cabeza de clave/valor. Por token son 2 × capas × cabezas KV × dimensión de cabeza × bytes. Multiplica por la longitud de contexto y por el número de secuencias atendidas a la vez. Los contextos largos y los lotes grandes pueden hacer que rivalice con los pesos.

Los modelos con atención de consultas agrupadas usan menos cabezas de clave/valor que cabezas de atención, lo que reduce mucho la caché KV. Lee num_hidden_layers, num_key_value_heads y la dimensión de cabeza en el config.json del modelo para obtener una cifra precisa.

La sobrecarga cubre las activaciones, el contexto CUDA y los búferes del framework. Entre un 10 % y un 20 % es un margen razonable de planificación. Los motores de servicio que reservan memoria por adelantado pueden reservar más que esto, así que deja margen.

Un ejemplo resuelto

Un modelo de 8B con 32 capas, 8 cabezas KV y una dimensión de cabeza de 128, en FP16 con un contexto de 8.192 tokens: los pesos ocupan 16 GB y la caché KV 1,07 GB (131 KB por token). Con un 10 % de sobrecarga son unos 18,8 GB, que caben en una sola GPU de 24 GB. En 4 bits, los pesos bajan a 4 GB.

Más ejemplos

Un modelo de 8 mil millones de parámetros en 4 bits necesita unos 5,6 GB con un contexto de 8K, así que cabe en una GPU de 8 GB; en FP16 necesita unos 18,8 GB.

Un modelo de 70 mil millones de parámetros en 4 bits necesita unos 39,7 GB, que caben en una sola GPU de 48 GB.

Errores frecuentes

  • Contar solo los pesos y olvidar la caché KV y la sobrecarga.
  • Subestimar cuánto hacen crecer la caché KV los contextos largos y los lotes mayores.
  • Llenar la GPU al 100 % sin margen.
  • Dar por hecho que la cuantización nunca afecta a la calidad; pruébala en tu tarea.

Preguntas frecuentes

¿Cuánta VRAM necesito para ejecutar un modelo de 7B u 8B?

Entre 14 y 16 GB para los pesos en FP16, más la caché KV y la sobrecarga, así que una GPU de 24 GB va holgada. Con cuantización de 4 bits, los pesos caben en unos 4 a 5 GB, de modo que las GPU de 8 GB pueden ejecutarlos con contextos más cortos.

¿Cuánta VRAM necesita un modelo de 70B?

Unos 140 GB solo para los pesos en FP16, lo que implica varias GPU de 80 GB. En 4 bits, los pesos rondan los 35 GB, que pueden caber en una sola GPU de 48 GB con un contexto modesto, o repartirse entre dos tarjetas de 24 GB.

¿Por qué un contexto más largo usa mucha más memoria?

La caché KV guarda claves y valores de cada token del contexto, en cada capa. Duplicar el contexto duplica la caché KV, y atender a varios usuarios a la vez la multiplica de nuevo.

¿Perjudica la cuantización a la calidad?

El de 8 bits suele quedar cerca de la calidad completa. El de 4 bits pierde algo más, según el método y el modelo, pero es la forma habitual de ejecutar modelos grandes en GPU de consumo. Pruébalo en tus propias tareas.

¿Es lo mismo para el entrenamiento?

No. El entrenamiento también guarda gradientes y el estado del optimizador, lo que suele requerir varias veces la memoria de los pesos por sí solos. Esta calculadora es para la inferencia.