Hardware para IA local: memoria, ancho de banda y consumo
El 17 de diciembre de 2024, NVIDIA rebajó de 499 a 249 dólares el precio de su placa de desarrollo Jetson Orin Nano y publicó una actualización de software para las unidades ya vendidas. No cambió ningún componente, pero el caudal de la memoria pasó de 65 a 102 GB/s. Según las mediciones del fabricante, un modelo Llama 3.1 de 8000 millones de parámetros genera desde entonces 19 tokens por segundo en lugar de 14. El episodio resume la regla que rige el hardware de una IA local: el tamaño y la velocidad de la memoria cuentan antes que la potencia de cálculo.
Un modelo de lenguaje es un archivo que se relee en cada palabra
Un modelo de lenguaje, el tipo de software que hace funcionar ChatGPT o Le Chat de Mistral, se presenta en forma de un archivo que contiene miles de millones de números. Se llaman parámetros, o pesos: son los valores ajustados durante el entrenamiento, que determinan la manera en que el modelo encadena las palabras. Un modelo llamado «8B» contiene 8000 millones.
Cada número ocupa un espacio que depende de su precisión. En 16 bits, el formato en el que se distribuyen la mayoría de los modelos, un parámetro ocupa dos bytes. Ocho mil millones de parámetros suponen, por tanto, 16 000 millones de bytes, es decir, unos 15 gibibytes (GiB, la unidad binaria que muestran las herramientas). La documentación de llama.cpp, un motor de ejecución libre muy utilizado para ejecutar modelos en máquinas corrientes, indica 14,96 GiB para Llama 3.1 8B en este formato.
Para producir un token, es decir, un fragmento de palabra, el modelo lee casi la totalidad de estos parámetros. Después vuelve a empezar para el token siguiente. Un archivo de 15 GiB se relee así decenas de veces por segundo mientras se muestra la respuesta. De ello se derivan dos condiciones. El archivo debe caber entero en una memoria rápida, pues de lo contrario la máquina va a buscar el resto al disco y la velocidad se desploma. Y el caudal de esa memoria fija el ritmo de la respuesta.
Capacidad: la memoria donde debe caber el modelo
Un PC clásico dispone de dos memorias. La memoria RAM sirve al procesador central. La memoria de vídeo, o VRAM, va soldada a la tarjeta gráfica y sirve al procesador gráfico, la GPU. La segunda es mucho más rápida, pero más pequeña y más cara. La GeForce RTX 5090, la tarjeta de consumo de gama más alta de NVIDIA, comercializada desde el 30 de enero de 2025 a partir de 1999 dólares, incorpora 32 GB de memoria GDDR7. Es un techo: un modelo más pesado no cabe en una sola tarjeta.
Otras máquinas utilizan una memoria unificada, una única reserva compartida por el procesador y la GPU. Es el caso de los chips de Apple. Según la ficha técnica de Apple, el Mac Studio se configura hasta 128 GB con el chip M5 Max y hasta 512 GB con el M5 Ultra. Es también el principio del DGX Spark de NVIDIA, una caja de 15 cm de lado y 1,2 kg que reúne 128 GB de memoria LPDDR5X. NVIDIA lo presenta como capaz de ejecutar modelos de hasta 200 000 millones de parámetros.
La diferencia se vuelve decisiva en cuanto se apunta a un modelo de tamaño medio. Un modelo de 70 000 millones de parámetros comprimido a unos 4,9 bits por parámetro pesa alrededor de 43 GB, según el cálculo 70 000 millones × 4,9 ÷ 8. No cabe en los 32 GB de una RTX 5090. Cabe en 128 GB de memoria unificada dejando espacio para el resto.
Ancho de banda: lo que fija la velocidad de escritura
El ancho de banda de la memoria es el caudal al que el chip lee su memoria, expresado en gigabytes por segundo. En su guía de optimización de la inferencia, término que designa la ejecución de un modelo ya entrenado, NVIDIA explica que la generación de texto está limitada por la memoria: la mayor parte del tiempo se dedica a transferir los pesos y los datos intermedios hacia las unidades de cálculo, no a calcular.
De ello se extrae una estimación sencilla: el número máximo de tokens por segundo equivale aproximadamente al ancho de banda dividido por el peso del modelo. El Jetson Orin Nano Super permite comprobarlo. Llama 3.1 8B en 4 bits pesa unos 4,6 GB y la placa lee 102 GB/s, de ahí un techo teórico de 22 tokens por segundo. NVIDIA mide 19,1, es decir, el 87 % del techo. Antes de la actualización, a 65 GB/s, la medición era de 14. La velocidad no siguió exactamente al caudal (37 % de aumento por un 57 % más de ancho de banda), pero la regla da el orden de magnitud correcto.
Las fichas de los fabricantes dan los siguientes caudales. El Jetson Orin Nano Super lee 102 GB/s y el Jetson AGX Orin, en versiones de 32 y 64 GB, 204,8 GB/s. El Jetson AGX Thor y el DGX Spark muestran cada uno 273 GB/s. El Mac Studio alcanza 460 o 614 GB/s con el M5 Max según la configuración, y 1,2 TB/s con el M5 Ultra. La RTX 5090 sube a 1792 GB/s, pero con solo 32 GB.
Estas cifras explican una decepción frecuente. Una máquina anunciada con una gran potencia de cálculo pero una memoria lenta escribe despacio. A la inversa, una máquina con un cálculo modesto y una memoria rápida parece ágil en conversación.
Cuantización: menos bits por parámetro
Si el peso del modelo limita la velocidad, se puede reducir. La cuantización consiste en almacenar cada parámetro en menos bits, 8 o 4 en lugar de 16. El principio recuerda a la compresión de una foto en JPEG: se acepta una pérdida de precisión a cambio de un archivo más ligero.
La documentación de llama.cpp publica mediciones para Llama 3.1 8B. En 16 bits, el archivo ocupa 14,96 GiB y la generación alcanza 29 tokens por segundo. En el formato Q8_0, que utiliza de media 8,5 bits por parámetro, ocupa 7,95 GiB con 51 tokens por segundo. En el formato Q4_K_M, a 4,9 bits de media, baja a 4,58 GiB y sube a 72 tokens por segundo. El archivo se divide por 3,3 y la velocidad de escritura se multiplica por 2,5. La lectura de la pregunta, en cambio, se ralentiza un poco, de 923 a 822 tokens por segundo, porque esa fase depende del cálculo y la descompresión añade trabajo.
La pérdida de calidad existe. Es tanto más sensible cuanto más pequeño es el modelo y más fuerte la compresión. Los formatos próximos a 4 bits, como Q4_K_M, se han convertido en el compromiso más habitual en los despliegues locales. Bajar a 2 o 3 bits permite alojar un modelo mayor en la misma máquina, con más errores, algo que conviene medir en las propias tareas antes de adoptarlo.
Leer la pregunta y escribir la respuesta: dos velocidades distintas
Un modelo no manipula palabras sino tokens, trozos de texto de unos pocos caracteres. En español, una palabra corriente equivale a uno o dos tokens. El trabajo se hace en dos fases. El prellenado lee toda la solicitud, pregunta y documentos adjuntos, procesando los tokens en paralelo: depende sobre todo de la potencia de cálculo. La generación escribe después la respuesta token tras token: depende del ancho de banda.
Las mediciones publicadas por los colaboradores de llama.cpp en chips de Apple muestran la diferencia. En Llama 2 7B en 16 bits, un M4 Max con 40 núcleos gráficos lee 923 tokens por segundo y escribe 32. Un M5 Max de la misma configuración lee 3158 y escribe 37. La lectura se multiplica por 3,4, la escritura avanza un 17 %. Entre los dos chips, el ancho de banda pasó de 546 a 614 GB/s, un 12 % más. La escritura sigue a la memoria, la lectura sigue al cálculo.
En el uso, las dos cifras cuentan. En una pregunta corta, solo se nota la generación, y por encima de una quincena de tokens por segundo el texto se muestra más rápido de lo que se lee. Para resumir un informe de 50 páginas, que se puede estimar en unos 30 000 tokens, es el prellenado el que hace esperar: a 900 tokens por segundo, hace falta algo más de medio minuto antes de la primera palabra, a 3000 tokens por segundo unos diez segundos.
El contexto también ocupa memoria
El contexto es la cantidad de texto que el modelo tiene en cuenta en un instante dado: la pregunta, los documentos facilitados, el historial del intercambio. Para no recalcularlo todo en cada token, el modelo conserva resultados intermedios para cada token ya leído. Es la caché clave-valor, o KV cache.
Hugging Face ofrece la fórmula y un ejemplo. Para Llama 2 7B en 16 bits, cada token ocupa unos 0,5 MB de caché, de modo que 10 000 tokens representan casi 5 GB, un tercio del peso del modelo. La guía de NVIDIA llega al mismo orden de magnitud, unos 2 GB para 4096 tokens. Los modelos más recientes reducen este coste compartiendo una parte de estos datos entre las cabezas de atención, una técnica llamada grouped-query attention. Con las características publicadas de Llama 3.1 8B (32 capas, 8 cabezas clave-valor de dimensión 128), la misma fórmula da unos 0,13 MB por token, es decir, 1,3 GB por 10 000 tokens. Esta última cifra es un cálculo nuestro.
Esta caché se multiplica por el número de conversaciones abiertas. Diez personas que trabajan cada una con un documento de 10 000 tokens con Llama 3.1 8B movilizan unos 13 GB de caché, además de los 4,6 GB del modelo. Una máquina de 8 GB que sirve este modelo a una persona no lo servirá a un equipo. Los motores de ejecución recientes saben comprimir esta caché, como describe Hugging Face, pero el dimensionamiento de partida sigue siendo ese.
CPU, GPU y NPU
La CPU, o procesador central, es de uso general. Efectúa pocas operaciones a la vez y ejecuta un modelo pequeño lentamente. La GPU, concebida para el renderizado gráfico, ejecuta miles de operaciones idénticas en paralelo, lo que corresponde al cálculo de una red neuronal. Es ella la que ejecuta hoy la gran mayoría de los modelos de lenguaje.
La NPU, o unidad de procesamiento neuronal, es un circuito especializado en las operaciones de las redes neuronales y diseñado para consumir poco. Microsoft exige más de 40 TOPS, es decir, 40 billones de operaciones por segundo, para que un ordenador lleve la denominación Copilot+ PC. Su documentación precisa que muchas NPU solo procesan enteros de baja precisión, como INT8, y que los modelos deben convertirse para funcionar en ellas. La NPU conviene a tareas ligeras y continuas, como la traducción en tiempo real o el difuminado del fondo en videoconferencia. Para un modelo de lenguaje, sigue sometida al ancho de banda del resto del chip.
La cifra de TOPS debe leerse, por tanto, con prudencia. NVIDIA anuncia 67 TOPS para el Jetson Orin Nano Super precisando que se trata de TOPS «sparse», un modo de cálculo que supone que una parte de las operaciones puede omitirse. En modo denso, la cifra baja a 33. Ninguna de las dos dice a qué velocidad escribirá la placa una respuesta.
Tres tamaños de modelo, varias máquinas
Las estimaciones que siguen aplican la regla ancho de banda dividido por peso del modelo. Son techos teóricos calculados por nosotros a partir de las fichas de los fabricantes. La velocidad real queda por debajo: en el Jetson, alcanzaba el 87 %.
Un modelo de 8000 millones de parámetros en 4 bits, unos 4,6 GB, cabe en todas las máquinas citadas. El Jetson Orin Nano Super, con 8 GB de memoria y un consumo de 7 a 25 W, lo ejecuta a 19 tokens por segundo medidos, con poco margen para el contexto. Una RTX 5090 tendría un techo cercano a 390 tokens por segundo. Para una persona, la placa embarcada basta. Para varios usuarios simultáneos, falta memoria antes que velocidad.
Un modelo de 20 a 35 mil millones de parámetros pesa de 12 a 21 GB en 4 bits. Cabe en una RTX 5090 y en un Jetson AGX Orin de 64 GB. En este último, a 204,8 GB/s, un modelo de 20 GB tiene un techo de unos 10 tokens por segundo; en la RTX 5090, de unos 90.
Un modelo de 70 000 millones de parámetros en 4 bits, unos 43 GB, no cabe en una RTX 5090. En un DGX Spark a 273 GB/s, su techo es de unos 6 tokens por segundo. En un Mac Studio M5 Max a 614 GB/s, de unos 14. En un M5 Ultra a 1,2 TB/s, de unos 28. La capacidad permite cargar el modelo, el ancho de banda decide si resulta agradable de usar.
Consumo, calor y ruido
Toda la electricidad que consume una máquina acaba en calor. La RTX 5090 tiene una potencia gráfica total de 575 W, y NVIDIA pide una fuente de alimentación de al menos 1000 W para el PC que la aloja. Es el orden de magnitud de un pequeño radiador eléctrico, cuyo calor se evacúa mediante ventiladores. En el otro extremo, el Jetson Orin Nano Super funciona entre 7 y 25 W y el Jetson AGX Orin entre 15 y 60 W. El DGX Spark tiene una fuente de 240 W para un chip de 140 W, y NVIDIA anuncia 35 dB(A) en funcionamiento. Apple indica para el Mac Studio una potencia máxima continua de 480 W.
A lo largo de un año, la diferencia se cuantifica. Una máquina que consume 60 W de forma continua utiliza unos 525 kWh al año (60 W × 8760 horas). A 600 W, son unos 5260 kWh. Estos cálculos suponen una carga constante, lo que sobrestima el consumo real de una máquina a menudo en reposo, pero dan el factor diez que separa las dos familias.
El ruido y el calor deciden dónde se instalará la máquina. Un PC equipado con una tarjeta de juego de gama alta está pensado para sesiones de unas pocas horas en una sala ventilada. Guardado en un armario, reduce su frecuencia para protegerse y después se apaga. Los módulos Jetson están diseñados para robots y equipos industriales, con rangos de potencia fijados por el fabricante y un funcionamiento prolongado. Este criterio pesa poco en una ficha técnica y mucho tras dos años de explotación.
Dimensionar una máquina en cuatro cálculos
El método se resume en cuatro etapas. Primero se calcula el peso del modelo o de los modelos elegidos: número de parámetros multiplicado por el número de bits por parámetro, dividido por 8. Se añade la caché de contexto, multiplicada por el número de conversaciones simultáneas previstas. Se compara el total con la memoria disponible, dejando un margen para el sistema. Por último, se divide el ancho de banda por el peso del modelo para obtener el techo de velocidad y se comprueban el consumo y el ruido en función del lugar de instalación.
Tomemos un equipo de diez personas que quiere un modelo de 30 000 millones de parámetros en 4 bits para trabajar con documentos de 10 000 tokens. El modelo pesa unos 18 GB. La caché, según la arquitectura, se sitúa entre 2 y 5 GB por usuario, es decir, de 20 a 50 GB para el equipo. Hace falta, por tanto, una máquina de 64 a 128 GB y, en una primera aproximación, al menos 300 GB/s de ancho de banda para superar los 15 tokens por segundo. Estas cifras son estimaciones; solo las pruebas en la máquina prevista las confirman.
Es esta rejilla la que HOMN aplica para dimensionar sus equipos: partir de los modelos y del número de usuarios, y deducir de ello la memoria, el caudal y la envolvente térmica. Una ficha técnica que omite la capacidad de memoria o el ancho de banda no permite hacer este cálculo, sea cual sea el número de TOPS que muestre.
¿Cuánta memoria hace falta para ejecutar un LLM en local?
El peso de un modelo en bytes equivale aproximadamente al número de parámetros multiplicado por el número de bits por parámetro, dividido por 8. Un modelo de 8000 millones de parámetros pesa unos 16 GB en 16 bits y 4,6 GB en 4 bits. Hay que añadir la caché de contexto, que crece con la longitud de los documentos y el número de usuarios simultáneos.
¿Por qué cuenta más el ancho de banda de la memoria que la potencia de cálculo en un LLM?
Para escribir cada token, el modelo relee casi la totalidad de sus parámetros en memoria. La velocidad de generación está, por tanto, limitada por el ancho de banda dividido por el peso del modelo. La potencia de cálculo cuenta sobre todo para la lectura de documentos largos, llamada prellenado.
¿Qué es la cuantización de un modelo de IA?
Es el almacenamiento de los parámetros en menos bits, por ejemplo 4 en lugar de 16. Según la documentación de llama.cpp, Llama 3.1 8B pasa así de 14,96 a 4,58 GiB y de 29 a 72 tokens por segundo en la máquina de pruebas. La calidad baja ligeramente, y más en los modelos pequeños.
¿Basta un PC con NPU para una IA local en la empresa?
Una NPU conviene a tareas ligeras, como la transcripción o un modelo pequeño utilizado por una sola persona. Comparte la memoria y el ancho de banda con el resto del chip, lo que limita el tamaño y la velocidad de los modelos de lenguaje. Para servir a un equipo, la capacidad de memoria y el caudal priman sobre los TOPS anunciados.