Aprendizaje vs inferencia en IA: qué cambia
El aprendizaje (que normalmente se llama entrenamiento) es cuando el modelo cambia. La inferencia es cuando el modelo actúa. Durante el entrenamiento, los pesos internos del modelo se actualizan una y otra vez frente a un conjunto de datos hasta que sus errores se reducen. Durante la inferencia, esos pesos están congelados: entra una entrada, atraviesa la red una sola vez y sale un resultado. Casi todas las demás diferencias entre las dos etapas, costo, hardware, latencia, memoria, se desprenden de ese único hecho: si los pesos se están escribiendo o solamente leyendo.
La diferencia en una tabla
| Entrenamiento (aprendizaje) | Inferencia | |
|---|---|---|
| Qué cambia | Los pesos del modelo | Nada dentro del modelo |
| Entrada | Un conjunto de datos grande y fijo | Una solicitud por vez |
| Cálculo por paso | Pasada hacia adelante, pasada hacia atrás, actualización de pesos | Solo la pasada hacia adelante |
| Hardware típico | Clústeres de GPU o TPU | Un acelerador, a veces una laptop o un celular |
| Escala de tiempo | De horas a meses | De milisegundos a segundos |
| Con qué frecuencia corre | Una vez, más actualizaciones ocasionales | Cada vez que alguien usa el producto |
| Cómo se ve una falla | La pérdida deja de mejorar, la corrida diverge | Respuesta equivocada, respuesta lenta o memoria agotada |
Qué pasa durante el entrenamiento
El entrenamiento pasa un lote de ejemplos por la red, mide qué tan equivocado estuvo el resultado frente a un objetivo y luego propaga ese error hacia atrás por cada capa para calcular cuánto contribuyó cada peso al error. Cada peso se ajusta apenas en la dirección que habría reducido el error. Esto es la retropropagación, descrita por Rumelhart, Hinton y Williams en su artículo de 1986 en Nature, "Learning representations by back-propagating errors", y sigue siendo el mecanismo detrás de prácticamente todos los modelos grandes que hoy están en producción.
Hay dos consecuencias que importan para la comparación. Primera: el entrenamiento necesita mantener en memoria mucho más que los pesos, porque también guarda las activaciones de la pasada hacia adelante, los gradientes y el estado propio del optimizador para cada parámetro. Segunda: un solo paso casi no le enseña nada al modelo. El comportamiento útil aparece al repetir ese paso una cantidad enorme de veces, y por eso el entrenamiento se mide en semanas de clúster y la inferencia en milisegundos.
Qué pasa durante la inferencia
La inferencia es la pasada hacia adelante por sí sola. En un modelo de lenguaje, tu texto se divide en tokens, se empuja por las capas y el modelo emite una distribución de probabilidad sobre el siguiente token. Se elige un token, se agrega y el proceso se repite hasta que termina. Para no recalcular todo con cada token nuevo, el modelo guarda en caché los tensores intermedios de claves y valores de los tokens anteriores, y por eso el primer token de una respuesta suele tardar más que el resto.
Lo importante: nada de lo que pasa acá se escribe de vuelta. El modelo es de solo lectura. Si lo corriges, si discutes con él o si le enseñas tu nombre, los pesos quedan exactamente iguales después de la conversación que antes.
Por qué se confunden las dos cosas
En el momento de la inferencia los modelos se comportan como si estuvieran aprendiendo. Muéstrale a un modelo tres ejemplos de un formato dentro de tu prompt y su cuarta respuesta seguirá ese formato. Brown y sus colegas documentaron esto de forma sistemática en el artículo de GPT-3 de 2020, "Language Models are Few-Shot Learners", donde mostraron que un modelo de 175 mil millones de parámetros podía tomar tareas nuevas a partir de ejemplos puestos en el prompt, sin ninguna actualización de gradientes. Lo llamaron aprendizaje en contexto, y el nombre carga con mucho: parece aprendizaje, pero es completar patrones dentro de una sola pasada hacia adelante.
La prueba práctica es la persistencia. El aprendizaje en contexto vive por completo en la ventana de contexto. Cierras la sesión y desaparece. Cuando un producto de chat te recuerda entre sesiones, casi siempre se trata de una base de datos de notas que se vuelve a insertar en silencio dentro de tu prompt, no de un modelo que cambió.
Costo, hardware y dónde corre realmente la inferencia
El entrenamiento es un gasto de capital: rentas un clúster grande, lo corres durante un período fijo y obtienes un checkpoint. La inferencia es un gasto operativo: corre cada vez que un usuario toca un botón, para siempre. En un producto con tráfico real, el total gastado en responder solicitudes puede terminar siendo mayor que la factura única del entrenamiento, simplemente porque el multiplicador es la cantidad de usuarios y no la cantidad de corridas de entrenamiento.
Esa presión es la razón por la que la inferencia se optimiza con tanta insistencia: cuantizar los pesos a menor precisión, destilar un modelo grande en uno más chico, agrupar solicitudes en lotes. Llevado lo bastante lejos, la inferencia deja de necesitar un centro de datos. Los celulares actuales corren modelos de reconocimiento de texto y de voz a texto de forma local. En Qora, por ejemplo, leer una página fotografiada y transcribir una clase grabada ocurren en el dispositivo, porque son cargas de trabajo de solo inferencia lo bastante chicas como para caber en el teléfono. Entrenar un modelo de esa calidad en un celular sería imposible; correrlo es rutina.
Dónde se rompe la separación limpia
La línea entre entrenamiento e inferencia es un buen modelo mental, no una ley, y tiene fugas en cuatro puntos que vale la pena conocer.
El ajuste fino es entrenamiento. El ajuste fino, incluidas variantes baratas como LoRA que actualizan solo un conjunto chico de parámetros agregados, es una corrida de entrenamiento que arranca desde un checkpoint existente en lugar de partir de cero. No es un modo especial de inferencia.
Tus datos todavía pueden llegar a un modelo futuro. "El modelo no aprende de ti" es cierto del modelo desplegado con el que estás hablando. No es automáticamente cierto de la próxima versión, porque los proveedores pueden recolectar conversaciones y usarlas en un entrenamiento posterior. Si lo hacen o no es una cuestión de política, no de arquitectura, así que lee los términos en vez de razonarlo desde el mecanismo.
La inferencia ya no es confiablemente barata por solicitud. Los modelos de razonamiento gastan mucho más cómputo en inferencia porque generan cadenas de pensamiento internas largas antes de responder. Hoy una sola solicitud difícil puede costar bastante más que una simple, lo que desgasta la vieja regla de que entrenar es caro e inferir es trivial.
La analogía humana es floja. Es tentador decir que las personas tienen un modo de entrenamiento y un modo de inferencia. Los cerebros no parecen funcionar así, y ninguna afirmación seria acá debería apoyarse en la metáfora.
Si estudias esto para una materia o una entrevista
La versión que se evalúa es acotada: qué cambia (los pesos), en qué dirección fluyen los datos (la pasada hacia atrás existe solo en el entrenamiento) y adónde se va el cómputo. Es un conjunto chico de hechos, y eso lo vuelve buen candidato para autoevaluarte en vez de releer. En los experimentos de Roediger y Karpicke de 2006, los estudiantes a los que se les tomó prueba sobre el material superaron a los que simplemente lo volvieron a estudiar en una evaluación posterior, aunque el grupo de reestudio se sentía más seguro. Escribir tres preguntas sobre esta página y responderlas mañana rinde más que subrayarla, y la mecánica para hacerlo rápido es un tema aparte. Si estás recorriendo el aprendizaje automático en general y no memorizando una definición para el examen, conviene arrancar por una ruta de estudio ordenada antes que por un glosario.
Preguntas frecuentes
¿La inferencia es lo mismo que la predicción?
En la práctica, sí. "Inferencia" es el término de ingeniería para correr un modelo ya entrenado sobre una entrada nueva y obtener un resultado, y en el aprendizaje automático clásico ese resultado era literalmente una predicción. La palabra quedó incluso para los modelos generativos, donde la salida es texto o una imagen y no un pronóstico.
¿Un modelo de IA aprende de mis conversaciones?
El modelo con el que estás hablando no. Sus pesos están fijos durante tu sesión, y todo lo que parece recordar viene de tu prompt o de notas guardadas que se reinsertan en el prompt. Si tus conversaciones se usan después para entrenar un modelo futuro depende de la política de datos del proveedor, que es una pregunta distinta.
¿El ajuste fino es entrenamiento o inferencia?
Entrenamiento. El ajuste fino actualiza pesos usando la misma maquinaria de retropropagación que el preentrenamiento, solo que parte de un modelo que ya funciona y usa un conjunto de datos mucho más chico. Cualquier cosa que cambie de forma permanente lo que el modelo sabe es entrenamiento por definición.
Si entrenar es la parte difícil, ¿por qué a las empresas les preocupa el costo de la inferencia?
Porque el entrenamiento ocurre un puñado de veces y la inferencia ocurre en cada solicitud. Una inferencia sola es barata, pero multiplicada por millones de usuarios diarios se vuelve el costo recurrente dominante, y por eso tanto esfuerzo de ingeniería se va en cuantización, caché y procesamiento por lotes.
Toda la comparación se reduce a una pregunta que puedes hacerle a cualquier sistema de IA: ¿se están escribiendo los pesos o solo se están leyendo? El entrenamiento escribe, y es lento, caro y poco frecuente. La inferencia lee, y es rápida, barata por unidad y constante. Si quieres que esto se te quede, elige cualquier función de IA que hayas usado hoy y averigua cuál de las dos estabas pagando, y qué tendría que pasar para que el sistema te recordara de verdad.