Puedes usar las capacidades de procesamiento de datos a gran escala de Dataflow ML para las canalizaciones de predicción e inferencia y para la preparación de datos para el entrenamiento.

Requisitos y limitaciones
- Dataflow ML admite canalizaciones por lotes y de transmisión.
- La API de
RunInferencees compatible con Apache Beam 2.40.0 y versiones posteriores. - La API de
MLTransformes compatible con Apache Beam 2.53.0 y versiones posteriores. - Los controladores de modelos están disponibles para PyTorch, scikit-learn, TensorFlow, ONNX y TensorRT. Para los frameworks no compatibles, puedes usar un controlador de modelo personalizado.
Preparación de datos para el entrenamiento
Usa la función
MLTransformpara preparar tus datos para entrenar modelos de AA. Para obtener más información, consulta Preprocesa datos conMLTransform.Usa Dataflow con frameworks de ML-OPS, como Kubeflow Pipelines (KFP) o TensorFlow Extended (TFX). Para obtener más información, consulta Dataflow ML en flujos de trabajo de AA.
Canalizaciones de predicción y de inferencia
Dataflow ML combina la potencia de Dataflow con la API de RunInference de Apache Beam. Con la API de RunInference, defines las características y propiedades del modelo y pasas esa configuración a la transformación RunInference. Esta función permite a los usuarios ejecutar el modelo dentro de sus canalizaciones de Dataflow sin necesidad de conocer los detalles de implementación del modelo. Puedes elegir el framework que mejor se adapte a tus datos, como TensorFlow y PyTorch.
Ejecuta varios modelos en una canalización
Usa la transformación RunInference para agregar varios modelos de inferencia a tu canalización de Dataflow. Para obtener más información, incluidos los detalles de código, consulta Canalizaciones de varios modelos en la documentación de Apache Beam.
Crea una canalización multilingüe
Para usar RunInference con una canalización de Java, crea una transformación de Python entre lenguajes. La canalización llama a la transformación, que realiza el procesamiento previo, el procesamiento posterior y la inferencia.
Para obtener instrucciones detalladas y una canalización de ejemplo, consulta Cómo usar RunInference desde el SDK de Java.
Usa GPU con Dataflow
En el caso de las canalizaciones por lotes o de transmisión que requieren el uso de aceleradores, puedes ejecutar canalizaciones de Dataflow en dispositivos de GPU NVIDIA. Para obtener más información, consulta Ejecuta una canalización de Dataflow con GPUs.
Soluciona problemas de Dataflow ML
En esta sección, se proporcionan estrategias para solucionar problemas y vínculos que pueden resultarte útiles cuando usas Dataflow ML.
La pila espera que cada tensor tenga el mismo tamaño
Si proporcionas imágenes de diferentes tamaños o incorporaciones de palabras de diferentes longitudes cuando usas la API de RunInference, puede ocurrir el siguiente error:
File "/beam/sdks/python/apache_beam/ml/inference/pytorch_inference.py", line 232, in run_inference batched_tensors = torch.stack(key_to_tensor_list[key]) RuntimeError: stack expects each tensor to be equal size, but got [12] at entry 0 and [10] at entry 1 [while running 'PyTorchRunInference/ParDo(_RunInferenceDoFn)']
Este error se produce porque la API de RunInference no puede agrupar elementos de tensores de diferentes tamaños. Para obtener soluciones alternativas, consulta No se pueden agrupar los elementos de tensores en la documentación de Apache Beam.
Evita errores de memoria insuficiente con modelos grandes
Cuando cargas un modelo de AA mediano o grande, es posible que tu máquina se quede sin memoria.
Dataflow proporciona herramientas para evitar errores de memoria insuficiente (OOM) cuando se cargan modelos de AA. Para obtener más información, consulta las prácticas recomendadas para la transformación de RunInference.
¿Qué sigue?
- Explora los notebooks de Dataflow ML para ver casos de uso específicos.
- Obtén información detallada sobre el uso del AA con Apache Beam en la documentación de canalizaciones de IA/AA de Apache Beam.
- Obtén más información sobre la API de
RunInference. - Obtén más información sobre las prácticas recomendadas de
RunInference. - Obtén más información sobre las métricas que puedes usar para supervisar tu transformación
RunInference.