Una historia sobre IA · 06
64 gigabytes de memoria buscan trabajo. A ser posible, intelectual.
Un ordenador veterano, mucha RAM y un nuevo trabajo: explorar la IA local en CPU, con ejemplos reales y algo de humor.
Publicado por AI Model Green Zone
Continuar leyendo →Los términos subrayados abren el glosario. Pasa el cursor o usa el teclado para una explicación breve.
Si lees unas cuantas guías para ejecutar inteligencia artificial en casa, enseguida te queda la sensación de que lo primero es comprar una tarjeta gráfica. Luego descubres que sería mejor comprar otra. Y después, que para esa otra necesitarás una fuente de alimentación nueva. Llegados a este punto, dan ganas de cerrar el navegador: tú solo querías probar a hablar con un modelo, no reconstruir el ordenador y revisar el presupuesto familiar.
Y mientras tanto, debajo de la mesa hay una máquina bastante decente.
Quizá tenga ya unos años. Quizá sea una vieja estación de trabajo que en su día se compró para tareas importantes. Y puede que alguien incluso conserve un servidor: dos procesadores, mucha memoria y una contundente carcasa metálica. Antes daba servicio a una oficina; ahora se dedica principalmente a dar servicio a sus propios ventiladores.
Da pena, ¿verdad? El ordenador funciona y tiene 32, 64 o incluso 128 gigabytes de memoria. ¿De verdad todo eso es inútil para un modelo de lenguaje sin una tarjeta gráfica cara?
No, no es inútil. Y aquí empieza una historia bastante interesante.
Los modelos de lenguaje se pueden ejecutar en el procesador, utilizando memoria RAM normal. Para ello existen programas, entre ellos llama.cpp, que permiten hacer los cálculos en la CPU. La versión concreta del programa tiene que ser compatible con el modelo elegido, pero esta posibilidad hace tiempo que dejó de ser una simple demostración vistosa. Documentación de llama.cpp
A veces hablamos de «ejecutar un modelo en la RAM», y es una abreviatura práctica. Pero la memoria no calcula nada por sí sola. Almacena los pesos del modelo y los datos de trabajo, mientras el procesador realiza las operaciones. Es algo así como una despensa y un cocinero: tener una despensa espaciosa viene bien, pero la cena no aparece solo porque esté ahí.
Por cierto, para hablar así con el modelo no hace falta una conexión permanente a internet. Una vez descargados los archivos, puede funcionar en local, siempre que la propia aplicación no utilice la nube ni herramientas externas. Internet ya ha ayudado a traer unos cuantos gigabytes y ahora puede tomarse un descanso.
Todo esto suena prometedor, pero conviene ver qué consiguieron quienes realmente lo probaron.
Encontramos varios ejemplos publicados. Nosotros no repetimos estas mediciones, así que lo que sigue son los resultados de sus autores, con sus equipos, programas y ajustes.
| Ordenador | Memoria | Modelo y programa | Resultado publicado |
|---|---|---|---|
| AMD Ryzen 5 5600, Linux | 62,7 GB según el informe | Llama 3.1 8B Instruct, Q4_K_M, mediante llamafile | Con 4 096 tokens de entrada y 256 de salida: 7,2 tokens/s durante la generación; primer token a los 98,36 segundos. LocalScore |
| HP Z420, Xeon E5-2690 v2: procesador de 2013 | 64 GB DDR3 ECC | Qwen3.6-35B-A3B, Q6_K, mediante llama.cpp | El autor indica unos 8,5 tokens/s durante la generación con 10 hilos de CPU, sin aceleración por GPU. Informe del propietario |
| Sistema con dos procesadores AMD EPYC 7K62 | 16 × 64 GB RAM | DeepSeek-R1 671B, Q5_K_S | El autor comunicó 2,9 tokens/s con 96 hilos. El archivo del modelo ocupaba aproximadamente 462 GB. Descripción del experimento |
De esta selección, me llama especialmente la atención el segundo ejemplo. Un procesador de 2013, DDR3, una vieja estación de trabajo: todo eso que es fácil descartar al hablar de IA moderna. Pues bien, su dueño decidió probarlo.
El tercer ejemplo, desde luego, juega en otra categoría. Solo su memoria RAM ocupa en mi imaginación más espacio que toda la idea inicial de este artículo. Pero no hace falta empezar con un servidor así. Al fin y al cabo, para aprender a nadar no necesitas alquilar el océano Atlántico.
Y otra cosa: estas filas no deben leerse como una competición entre procesadores. Los modelos son distintos, los programas son distintos y las condiciones de medición también. Sería demasiado atrevido declarar al viejo Xeon vencedor del Ryzen solo porque en una fila salió un número mayor.
Lo que sí se ve es otra cosa: no tener una tarjeta gráfica moderna no significa que el experimento sea imposible. Resulta que ni siquiera la DDR3 se convierte en calabaza el día que sale la DDR5.
Volvamos ahora a una situación más familiar. Supongamos que tienes un ordenador con 64 gigabytes de RAM. Abres un catálogo de modelos, encuentras un archivo de unos 60 gigabytes y piensas: este encaja casi a la medida. Incluso sobrará un poco.
Aquí yo iría un poco más despacio.
El sistema operativo no se va a mudar a ninguna parte. El navegador también se queda, con todas esas pestañas que sin duda vas a leer, aunque hoy no. Y el programa que ejecuta el modelo también necesitará espacio para trabajar.
Además de los pesos, ocupan memoria los búferes de trabajo y los datos de la conversación que se está procesando. En muchos modelos, una parte importante de esos datos corresponde a la caché KV: resultados intermedios guardados que permiten evitar parte de los cálculos sobre el texto ya leído. Su tamaño depende de la arquitectura del modelo, la longitud del contexto y los ajustes. Explicación de la caché KV
Por eso, el tamaño del archivo que aparece en la página de descarga es una cifra útil, pero no responde por completo a la pregunta «¿cuánta memoria hará falta?».
En aquel experimento con el HP Z420, el autor ofrece una comparación reveladora: el archivo del modelo ocupa aproximadamente 29,3 GB, mientras que la memoria del proceso, medida como RSS, ronda los 34,8 GB. Y eso aún no es el consumo de todo el ordenador. No conviene convertir la diferencia entre esas cifras en un margen universal, pero el principio queda bastante claro. Mediciones del autor
Claro que apetece tener una regla sencilla: «deja tantos gigabytes libres y todo irá bien». Sería cómodo. Pero una conversación corta con un modelo pequeño y un documento grande con otro modelo completamente distinto necesitarán márgenes diferentes.
Al menos podemos empezar con un plan fácil de entender. Tomemos un presupuesto hipotético de 64 GiB, en las unidades de nuestra calculadora, y repartámoslo así:
| A qué destinamos la memoria | Presupuesto de ejemplo |
|---|---|
| Sistema y demás aplicaciones | 8 GiB |
| Archivo de pesos elegido | 32 GiB |
| Caché de contexto y áreas de trabajo del programa | 8 GiB |
| Margen restante | 16 GiB |
Es solo un ejemplo, no una receta para todos los ordenadores. Ocho gigabytes para datos de trabajo pueden ser un margen generoso en un caso e insuficiente en otro. Lo mejor es comprobar el consumo del sistema en tu propio equipo y estimar la caché y las demás necesidades para el modelo y la tarea elegidos.
Fíjate en la última fila. Ha quedado espacio libre, y no pasa nada. No dan medallas por llenar la RAM al cien por cien.
Si empieza a faltar memoria, el sistema puede trasladar parte de los datos al disco. A veces eso permite seguir trabajando, pero el intercambio constante con el disco puede convertir la conversación en una correspondencia muy lenta. El proceso también puede detenerse por falta de memoria. Un SSD viene bien para cargar el modelo, pero no conviene contar con él como sustituto equivalente de la RAM.
Bien, ya hemos aclarado lo de la capacidad. Supongamos que el modelo cabe con margen. ¿Por qué puede seguir respondiendo despacio?
Aquí vuelve a la conversación el procesador, al que hasta ahora le habíamos contado sobre todo los gigabytes.
La CPU tiene que realizar muchas operaciones y obtener de la memoria los datos necesarios. Importan su arquitectura, las instrucciones que admite, las frecuencias, la caché, el número de núcleos y lo bien que el programa aproveche todo eso.
Con los núcleos es especialmente fácil sacar conclusiones precipitadas. Ocho están bien, dieciséis son mejores y treinta y dos… ¿significa que irá otra vez el doble de rápido?
A veces, disponer de más núcleos ayuda de verdad. Pero si el límite está en la transferencia de datos desde la memoria, parte de los hilos tendrá que esperar. Y un número excesivo de hilos puede incluso empeorar el resultado; los desarrolladores de llama.cpp lo señalan expresamente. Recomendaciones de los desarrolladores
Treinta y dos cocineros alrededor de una sola tabla de cortar forman una plantilla impresionante. Pero eso no garantiza que la comida llegue antes.
Con la memoria pasa algo parecido. Estamos acostumbrados a preguntar cuánta hay instalada, pero para el modelo también importa a qué velocidad puede el procesador obtener datos de ella.
Por eso, DDR3, DDR4 o DDR5 son solo una parte de la descripción. Importan la velocidad real de la memoria y el número de canales utilizados. Además, cuatro módulos no significan necesariamente cuatro canales: todo depende de la plataforma y de cómo estén instalados. El ancho de banda está relacionado con la velocidad de transferencia, el ancho de la interfaz y la cantidad de canales. Explicación de Intel
Por eso una plataforma antigua de servidor puede resultar más interesante de lo que su año de fabricación sugiere. Puede tener ventajas en la organización de la memoria. Y también puede tener inconvenientes que solo aparezcan al ejecutar un programa concreto.
Con dos procesadores también habrá que conocer un poco mejor cómo funcionan las cosas. Normalmente, cada uno tiene su propia memoria local, y acceder a la memoria del procesador vecino cuesta más. Esto se llama NUMA. La utilidad del segundo procesador dependerá de cómo distribuya el programa los cálculos y los datos. Documentación de Intel
En nuestra cocina ha aparecido un segundo cocinero con su propio almacén. Una buena noticia. Eso sí, a veces tiene que cruzar el patio para ir a buscar ingredientes.
No hace falta dominar todos estos detalles antes de la primera prueba. Pero conviene recordarlos cuando los resultados no encajan con la bonita cuenta de «el doble de procesadores, el doble de velocidad».
Hay otra cosa que es fácil confundir con una avería.
Haces una pregunta y el programa guarda silencio. Los ventiladores funcionan. En la pantalla, todavía nada.
Puede que el modelo aún esté leyendo tu petición. Antes de generar una respuesta tiene que procesar el texto de entrada, y una pregunta corta y un contrato adjunto de cincuenta páginas requieren cantidades de trabajo distintas.
Vuelve un momento a la primera fila de nuestra tabla. La generación iba a 7,2 tokens por segundo, pero hasta el primer token pasaron casi cien segundos. Esas cifras no se contradicen: describen etapas distintas.
Por eso, al comparar, conviene fijarse tanto en el tiempo que tarda en empezar a responder como en la velocidad de la generación posterior. En llama-bench, el procesamiento del texto de entrada y la generación se miden por separado. Descripción de las mediciones
Una respuesta larga, naturalmente, también llevará tiempo. Si el modelo admite un modo de razonamiento, puede generar tokens adicionales antes de la respuesta definitiva. A veces eso es útil. Otras veces solo necesitas sacar la fecha de entrega de un correo y el modelo ya está inaugurando un simposio filosófico sobre la naturaleza del tiempo.
Entonces, ¿por dónde empezar para que la primera tarde no se te vaya entera esperando?
Yo elegiría un modelo instruct pequeño, en un formato cuantizado compatible, y le daría una tarea corta y familiar. Entre las opciones que puedes explorar están Qwen3.5-4B y Phi-4-mini, de 3,8 mil millones de parámetros. Después puedes probar la categoría de 7–8B y ver si un modelo mayor aporta alguna ventaja precisamente en tu trabajo. Todas estas opciones están disponibles en los catálogos de los programas que ejecutan modelos. Qwen3.5-4B, Phi-4-mini, Qwen3-8B
Para una primera prueba puedes considerar Q4_K_M, si ese tipo de archivo es compatible, y después compararlo con otra precisión. La cuantización reduce el tamaño de los pesos, pero puede influir en las respuestas. Cuánto se nota y cuánto importa depende del modelo y de la tarea. Documentación sobre cuantización
Y no te dé vergüenza usar un modelo pequeño en un ordenador con mucha memoria. El ordenador no se va a ofender. Si hace bien el trabajo que necesitas, puedes dejar tranquilamente los gigabytes libres tal como están.
Para quienes tienen máquinas con mucha capacidad, también resultan interesantes los modelos MoE. Al procesar cada token utilizan una parte de los expertos, lo que permite reducir la carga de cálculo frente a un modelo denso de tamaño total comparable. Pero sigue siendo necesario almacenar el conjunto completo de pesos.
Por ejemplo, Qwen3.6-35B-A3B declara aproximadamente 35 mil millones de parámetros totales y 3 mil millones de parámetros activos. En cuanto a memoria, no es un modelo pequeño de 3B, y por su carga de cálculo tampoco se puede equiparar automáticamente a un modelo denso convencional de 35B. Ficha del modelo
Los expertos se turnan para trabajar, pero ninguno se ha mudado del piso.
Quizá lo más útil al empezar sea pensar en unas cuantas tareas cuyo resultado puedas evaluar. Pedirle que resuma un documento breve. Extraer nombres, fechas e importes de un correo. Responder a una pregunta de la que ya conoces la respuesta correcta.
Empieza con poco contexto, una petición cada vez y una longitud de respuesta limitada. Mira cuánto has tenido que esperar, cuánta memoria queda libre y, sobre todo, si el resultado te ha servido.
Después cambia una sola cosa: el modelo, la precisión de los pesos, la longitud del contexto o el número de hilos. Así irás entendiendo qué influye exactamente en tu sistema. Si lo cambias todo de golpe, el experimento se parecerá a una reorganización familiar de los muebles: todo está distinto, pero nadie recuerda ya por qué empezó todo.
Ejecutar modelos en la CPU tiene limitaciones muy reales. Los documentos grandes y los razonamientos largos requieren paciencia. Atender a muchos usuarios a la vez supone una carga distinta de la de una sola persona en su ordenador de casa. Un servidor antiguo puede consumir bastante electricidad y anunciarlo con el ruido de un avión despegando.
Pero para trabajar con textos sin prisas, extraer datos, hacer pequeñas automatizaciones y familiarizarte con la IA local, la máquina que ya tienes merece al menos una oportunidad.
Esa es precisamente la idea de nuestra calculadora: ayudarte a estimar la memoria y elegir opciones por las que empezar. No expide certificados de velocidad ni sabe en qué segundo de espera empiezas a tamborilear con los dedos sobre la mesa.
Quizá después de unas cuantas tardes te quedes con un modelo pequeño que haga bien un trabajo concreto. Quizá encuentres un MoE adecuado. O quizá compruebes que tus tareas sí necesitan una tarjeta gráfica. También puede pasar, y eso no convierte el experimento en un fracaso.
Al menos, ahora sabrás por qué mejora concreta vas a pagar.
Y si encuentras un modelo adecuado, el viejo ordenador tendrá un nuevo trabajo. Me imagino que hace unos años lo dieron de baja, lo llevaron a casa, lo pusieron debajo de la mesa… y ahora está ayudando a revisar documentos.
Para un servidor, no es un mal giro profesional.
Hasta ahora, su descripción del puesto solo decía: «Hacer ruido».
Fuentes y lecturas
- llama.cpp · CPU inference ↗
- LocalScore · Ryzen 5 5600, Llama 3.1 8B · Test #3337 ↗
- yoshitomigoto · HP Z420, Xeon E5-2690 v2, Qwen3.6-35B-A3B ↗
- llama.cpp community · CPU-only DeepSeek-R1 experiment ↗
- Hugging Face · KV cache ↗
- llama.cpp · Token generation performance ↗
- Intel · Memory bandwidth ↗
- Intel · Dual-socket systems and NUMA ↗
- llama.cpp · llama-bench ↗
- Ollama · Qwen3.5-4B ↗
- Ollama · Phi-4-mini ↗
- Ollama · Qwen3-8B ↗
- llama.cpp · Quantization ↗
- Qwen · Qwen3.6-35B-A3B ↗
Compartir y republicar
Publicado por AI Model Green Zone.
Puedes republicar este artículo únicamente completo y sin modificaciones, mencionando a AI Model Green Zone e incluyendo un enlace activo y claramente visible al artículo original en nuestro sitio web.
Las traducciones, las versiones abreviadas y las adaptaciones requieren autorización específica.
Estas condiciones no limitan los usos permitidos por la ley.
El enlace público estará disponible cuando se configure la dirección pública del sitio.