Predicción en línea y por lotes

AI Platform Prediction ofrece dos maneras de obtener predicciones a partir de modelos entrenados: la predicción en línea (a veces llamada predicción HTTP) y la predicción por lotes. En ambos casos, pasas los datos de entrada a un modelo de aprendizaje automático alojado en la nube y obtienes inferencias para cada instancia de datos. Las diferencias se muestran en la siguiente tabla:

Predicción en línea Predicción por lotes
Optimizada para minimizar la latencia de la entrega de predicciones. Optimizada para controlar un gran volumen de instancias en un trabajo y ejecutar modelos más complejos.
Puede procesar una o más instancias por solicitud. Puede procesar una o más instancias por solicitud.
Predicciones mostradas en el mensaje de respuesta. Predicciones escritas en archivos de salida en una ubicación de Cloud Storage que especifiques.
Los datos de entrada se pasan directamente como una string JSON. Los datos de entrada se pasan indirectamente como uno o más URI de archivos en ubicaciones de Cloud Storage.
Realiza la muestra lo antes posible. Solicitud asíncrona.

Las cuentas con las siguientes funciones de IAM pueden solicitar predicciones en línea:

Las cuentas con las siguientes funciones de IAM pueden solicitar predicciones por lotes:

Se ejecuta en la versión del entorno de ejecución y en la región seleccionada cuando implementas el modelo. Puede ejecutarse en cualquier región disponible, con la versión 2.1 o anterior del entorno de ejecución. Aunque debes realizar la ejecución con los valores predeterminados para las versiones del modelo implementadas.
Ejecuta modelos implementados en AI Platform Prediction. Ejecuta modelos implementados en AI Platform Prediction o almacenados en ubicaciones accesibles de Google Cloud Storage.
Se puede configurar a fin de usar varios tipos de máquinas virtuales para los nodos de predicción. Si ejecutas un modelo implementado en AI Platform Prediction, debes usar el tipo de máquina mls1-c1-m2.
Puede entregar predicciones desde un modelo guardado de TensorFlow o una rutina de predicción personalizada (Beta), así como modelos de scikit-learn y XGBoost. Puede entregar predicciones desde un modelo guardado de TensorFlow.
De $0.045147 a $0.151962 por hora de procesamiento de nodo (América). El precio depende de la selección del tipo de máquina. $0.0791205 por hora de procesamiento de nodo (América).

Las necesidades de tu aplicación determinan el tipo de predicción que debes usar.

  • En general, debes usar la predicción en línea cuando realizas solicitudes en respuesta a la entrada de la aplicación o en otras situaciones en las que se necesita una inferencia oportuna.

  • La predicción por lotes es ideal para procesar datos acumulados cuando no necesitas resultados inmediatos. Por ejemplo, un trabajo periódico que obtiene predicciones para todos los datos recopilados desde el último trabajo.

También debes informar tu decisión con las posibles diferencias en los costos de la predicción.

Latencia de la predicción por lotes

Si usas un modelo simple y un conjunto pequeño de instancias de entrada, descubrirás que existe una diferencia considerable entre el tiempo que lleva completar solicitudes de predicción idénticas con la predicción en línea frente a la predicción por lotes. Es posible que a un trabajo por lotes le tome varios minutos completar las predicciones que una solicitud en línea muestra casi al instante. Este es un efecto secundario de la infraestructura distinta que usan los dos métodos de predicción. AI Platform Prediction asigna y, también, inicializa recursos para un trabajo de predicción por lotes cuando envías la solicitud. La predicción en línea suele estar lista para procesar en el momento de la solicitud.

¿Qué sigue?

Lee la descripción general de la predicción para obtener más información sobre las predicciones.

También puedes consultar Realiza predicciones en línea o Realiza predicciones por lotes.