Sistemas de AA de producción: Inferencia estática versus dinámica
La inferencia es el proceso de realizar predicciones mediante la aplicación de un modelo entrenado a ejemplos sin etiqueta.
En términos generales, un modelo puede inferir predicciones de una de las siguientes dos maneras:
La inferencia estática (también llamada inferencia sin conexión o inferencia por lotes) significa que el modelo realiza predicciones sobre un conjunto de ejemplos sin etiqueta comunes y, luego, almacena en caché esas predicciones en algún lugar.
La inferencia dinámica (también llamada inferencia en línea o inferencia en tiempo real) significa que el modelo solo realiza predicciones a pedido, por ejemplo, cuando un cliente solicita una predicción.
Para usar un ejemplo extremo, imagina un modelo muy complejo que
toma una hora para inferir una predicción.
Esta probablemente sería una excelente situación para la inferencia estática:
Supongamos que este mismo modelo complejo usa por error la inferencia dinámica en lugar de la inferencia estática. Si muchos clientes solicitan predicciones al mismo tiempo, la mayoría de ellos no las recibirán durante horas o días.
Ahora, considera un modelo que infiere rápidamente, quizás en 2 milisegundos, con un mínimo relativo de recursos computacionales. En esta situación, los clientes pueden recibir predicciones de forma rápida y eficiente a través de la inferencia dinámica, como se sugiere en la Figura 5.
Inferencia estática
La inferencia estática ofrece ciertas ventajas y desventajas.
Ventajas
No te preocupes demasiado por el costo de inferencia.
Puede realizar la verificación posterior de las predicciones antes de enviarlas.
Desventajas
Solo puede entregar predicciones almacenadas en caché, por lo que es posible que el sistema no pueda entregar predicciones para ejemplos de entrada poco comunes.
Es probable que la latencia de actualización se mida en horas o días.
Inferencia dinámica
La inferencia dinámica ofrece ciertas ventajas y desventajas.
Ventajas
Puede inferir una predicción sobre cualquier elemento nuevo a medida que llega, lo que es ideal para las predicciones de cola larga (menos comunes).
Desventajas
Son intensivos en procesamiento y sensibles a la latencia. Esta combinación puede limitar la complejidad del
modelo; es decir, es posible que debas crear un modelo más simple que pueda
inferir predicciones más rápido que un modelo complejo.
Las necesidades de supervisión son más intensivas.
Ejercicios: Comprueba tu comprensión
¿Cuáles tres de las siguientes cuatro afirmaciones son verdaderas sobre la inferencia estática?
El modelo debe crear predicciones para todas las entradas posibles.
Sí, el modelo debe realizar predicciones para todas las entradas posibles y almacenarlas en una caché o tabla de búsqueda.
Si el conjunto de elementos que predice el modelo es limitado, la inferencia estática podría ser una buena opción.
Sin embargo, para las entradas de formato libre, como las consultas de los usuarios que tienen una cola larga de elementos inusuales o extraños, la inferencia estática no puede proporcionar una cobertura completa.
El sistema puede verificar las predicciones inferidas antes de publicarlas.
Sí, este es un aspecto útil de la inferencia estática.
Para una entrada específica, el modelo puede entregar una predicción más rápido que la inferencia dinámica.
Sí, la inferencia estática casi siempre puede entregar predicciones más rápido que la inferencia dinámica.
Puedes reaccionar rápidamente a los cambios en el mundo.
No, esta es una desventaja de la inferencia estática.
¿Cuál de las siguientes afirmaciones es verdadera sobre la inferencia dinámica?
Puedes proporcionar predicciones para todos los elementos posibles.
Sí, esta es una fortaleza de la inferencia dinámica. Se clasificarán todas las solicitudes que ingresen. La inferencia dinámica controla las distribuciones de cola larga (las que tienen muchos elementos poco comunes), como el espacio de todas las oraciones posibles escritas en las opiniones de películas.
Puedes realizar una verificación posterior de las predicciones antes de que se usen.
En general, no es posible realizar una verificación posterior de todas las predicciones antes de que se usen, ya que se realizan a pedido. Sin embargo, puedes supervisar las cualidades de predicción agregadas para proporcionar cierto nivel de control de calidad, pero estas solo indicarán alarmas de incendio después de que el incendio ya se haya extendido.
Cuando realizas inferencias dinámicas, no necesitas preocuparte por la latencia de predicción (el tiempo de retardo para devolver predicciones) tanto como cuando realizas inferencias estáticas.
La latencia de la predicción suele ser una preocupación real en la inferencia dinámica.
Lamentablemente, no siempre puedes corregir los problemas de latencia de la predicción agregando más servidores de inferencia.