Predicción en línea frente a predicción por lotes

Cloud ML Engine proporciona dos formas 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 cualquier versión del entorno de ejecución a disposición, aunque debes realizar la ejecución con los valores predeterminados para las versiones de modelo implementadas.
Ejecuta modelos implementados en Cloud ML Engine. Ejecuta modelos implementados en Cloud ML Engine o modelos almacenados en ubicaciones accesibles de Google Cloud Storage.
$0.056 precio por hora por nodo (América) $0.09262 por hora por nodo (América)

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

  • 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. Un trabajo en lotes puede tardar varios minutos en completar las predicciones que una solicitud en línea muestra casi instantáneamente. Este es un efecto secundario de la infraestructura diferente que utilizan los dos métodos de predicción. Cloud ML Engine 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 normalmente está lista para llevar a cabo el procesamiento 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.

O bien, ve directo a realiza predicciones en línea o realiza predicciones por lotes.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Cloud ML Engine para TensorFlow