«Ejecuta un modelo de lenguaje en tu equipo» es una frase que hace que la gente se imagine un ventilador acelerándose y un portátil calentándose sin hacer nada. Es razonable imaginarlo, porque así es como se comporta un modelo de chat cuando se ejecuta mal.
Las sugerencias al escribir suponen una carga distinta. Esto es lo que realmente cuestan para que puedas elegir el tamaño adecuado para tu equipo.
Cuatro costes, y solo uno es constante
Disco. El archivo del modelo, una sola vez. De unos cientos de megabytes a unos cuantos gigabytes, descargados una vez.
Memoria. Los pesos deben permanecer en memoria mientras el modelo está cargado: aproximadamente el tamaño del archivo, más una cantidad moderada de memoria de trabajo. Este es el coste constante y el que determina si un tamaño cabe en tu equipo. En un portátil de 16 GB, tener un gigabyte del modelo en memoria no es nada extraordinario. En uno de 8 GB con el navegador abierto, tres gigabytes sí lo son.
Cómputo. Solo mientras se genera una sugerencia. Para completar frases, se trata de una ráfaga de unos cientos de milisegundos, unas cuantas veces por minuto, con pausas entre tus propias pulsaciones que superan ampliamente ese tiempo. Compáralo con un asistente de chat que genera seiscientas palabras y mantiene el procesador al máximo durante varios segundos.
Batería. Depende del uso del procesador. Las ráfagas cortas consumen poco; la salvedad sincera es que un equipo que nunca llega a sus estados de bajo consumo más profundos consume más que uno que sí lo hace, por lo que el efecto no es exactamente cero.
Quédate con esta idea: la predicción al escribir está inactiva casi todo el tiempo. La memoria ocupada de forma permanente es el coste real; todo lo demás es insignificante, salvo que el modelo sea demasiado grande para el equipo.
Por qué el archivo es más pequeño de lo que esperas
Un modelo anunciado como de unos cientos de megabytes no tiene unos cientos de millones de parámetros. Los modelos se distribuyen cuantizados, con los pesos almacenados a una precisión reducida: normalmente cuatro o cinco bits en lugar de dieciséis. Esto reduce el tamaño y la memoria aproximadamente a una cuarta parte, con una pérdida de calidad modesta y medible.
En el razonamiento abierto, esa pérdida importa. Para terminar una frase que ya has empezado, en general no importa tanto, porque las restricciones provienen de tu propio texto y no de la profundidad del modelo. Esa es la razón técnica por la que un modelo local pequeño es viable para esta tarea, pero no para otras.
El límite real es la latencia, no la calidad
Hay un plazo estricto. Una sugerencia que llega después de que hayas escrito las palabras por tu cuenta es peor que no recibir ninguna: aparece justo cuando terminas y la lees para nada.
Ese plazo limita el tamaño del modelo, independientemente de cuánta memoria tengas. A partir de cierto punto, un modelo mejor es un modelo más lento, y uno más lento no se usa. El objetivo práctico es que la sugerencia aparezca mientras tus dedos todavía están en el espacio entre palabras: del orden de unos cientos de milisegundos, no de un segundo y medio.
Esto invierte la intuición habitual. Aquí, más grande no significa mejor cuando empieza a llegar tarde. El tamaño adecuado es el mayor que responde dentro de ese intervalo en tu equipo, y la respuesta será distinta en un ultraportátil de 2019 que en un ordenador de escritorio con una tarjeta gráfica dedicada.
Cómo elegir el tamaño
Typeahead ofrece tres opciones que corresponden directamente a ese equilibrio.
| Tamaño | En disco | Requisito indicado | Para quién es |
|---|---|---|---|
| Rápido (predeterminado) | ~600 MB | — | Cualquier equipo compatible; es la opción adecuada para empezar |
| Equilibrado | ~1,2 GB | 8 GB de memoria del sistema | Equipos con margen disponible: mejores sugerencias, pero aún con una respuesta rápida |
| Máxima calidad | ~2,5 GB | Tarjeta gráfica dedicada con 8 GB de memoria propia y 16 GB de memoria del sistema | Ordenadores de escritorio y estaciones de trabajo con una GPU de verdad |
Dos cosas sobre esa tabla.
Empieza con Rápido, aunque tu equipo pueda soportar más. Úsalo durante una semana. Si las sugerencias son lo bastante precisas, un modelo más grande no te aportará nada que notes al escribir un mensaje de chat. Si se equivocan de forma evidente, pasa al siguiente tamaño: así sabrás qué estás sacrificando en latencia.
La opción de máxima calidad requiere una tarjeta dedicada con 8 GB propios, no 8 GB de memoria del sistema compartida. Los gráficos integrados de un portátil no cumplen ese requisito, y forzar la ejecución de un modelo en un equipo que tiene que paginarlo es justo la forma de conseguir que el ventilador se acelere, como se describe al principio de este artículo.
Equipos con recursos realmente limitados
- 8 GB de RAM con el navegador, Teams y Office abiertos. Ya estás cerca del límite antes de cargar nada más. Usa el modelo más pequeño y ten en cuenta que lo notarás más que alguien con 16 GB. Si el equipo ya usa memoria virtual durante un día normal, un modelo residente empeorará la situación.
- Procesadores antiguos sin AVX2. Las bibliotecas de inferencia aprovechan las instrucciones vectoriales. Un procesador anterior a 2013 será más lento que cualquier cifra publicada, y el límite de latencia descrito antes será lo que más afecte.
- Portátiles delgados con limitaciones térmicas. Las ráfagas son lo bastante cortas como para que esta carga por sí sola difícilmente provoque una limitación térmica sostenida, pero un equipo que ya la sufre con otras cargas no tiene margen disponible.
- Con batería, sin estar conectado a la corriente. Las sugerencias siguen funcionando, porque se generan localmente y no necesitan conexión. Si quieres optimizar el equipo para un vuelo largo, conviene usar el modelo más pequeño.
Cómo comprobarlo en tu propio equipo
Las cifras medidas en el portátil de otra persona no te dicen mucho. Dos mediciones, diez minutos.
- 1. Antes de instalar nada, abre el Administrador de tareas → Rendimiento y anota la memoria en uso en una configuración de trabajo normal: tus pestañas habituales del navegador, el correo y el chat.
- 2. Después de instalar y cargar un modelo, mira la misma cifra y consulta también el uso de memoria de la aplicación en la pestaña Procesos.
Si con la diferencia sigues teniendo un margen cómodo por debajo del total, no hay problema. Si llegas al límite, baja un tamaño.
La latencia es subjetiva, y eso es una ventaja: escribe una frase que escribirías normalmente y fíjate en si la sugerencia aparece cuando tus dedos hacen una pausa o si llega después. La forma adecuada de comprobarlo es aprovechar un periodo de prueba: el de Typeahead dura siete días e incluye todos los tamaños de modelo.
Qué obtienes a cambio del coste
- Nada de lo que escribes sale del equipo. No es una política sobre cómo un servidor gestiona tu texto, sino una característica del lugar donde se procesa.
- Funciona sin conexión. En un avión, en un tren o con la wifi del hotel que ha dejado de resolver DNS.
- Sin suscripción por usuario ni cuenta, porque no hay ningún servidor que mantener.
- Sin latencia variable. Un modelo local funciona a la misma velocidad a las 9 de la mañana y a las 5 de la tarde, algo que no ocurre con un servicio compartido.
Que eso merezca ocupar un gigabyte de memoria de forma permanente es una pregunta legítima, y la respuesta depende de cada persona. Es una pregunta menos complicada de lo que parece y puedes responderla en una semana.