Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Transformación por lotes para inferencias con Amazon AI SageMaker
Use la transformación por lotes cuando tenga que hacer lo siguiente:
-
Procesar previamente los conjuntos de datos para acabar con el ruido o la compensación que interfiere con el entrenamiento o la inferencia del conjunto de datos.
-
Obtener inferencias de los conjuntos de datos grandes.
-
Ejecutar la inferencia cuando no sea necesario un punto de enlace persistente.
-
Asocie registros de entrada con inferencias para ayudar a interpretar los resultados.
Para filtrar los datos de entrada antes de realizar inferencias o asociar los registros de entrada con inferencias sobre estos registros, consulte Asociar los resultados de la predicción con registros de entrada. Por ejemplo, puede filtrar los datos de entrada para proporcionar contexto para crear e interpretar informes acerca de los datos de salida.
Temas
- Uso de la transformación por lotes para obtener inferencias de conjuntos de datos grandes
- Aceleración de un trabajo de transformación por lotes
- Uso de la transformación por lotes para probar variantes de producción
- Cuaderno de muestra de transformación por lotes
- Asociar los resultados de la predicción con registros de entrada
- Almacenamiento en Batch Transform
- Resolución de problemas
Uso de la transformación por lotes para obtener inferencias de conjuntos de datos grandes
La transformación por lotes administra automáticamente el procesamiento de conjuntos de datos de gran tamaño dentro de los límites de los parámetros especificados. Por ejemplo, tenemos un archivo del conjunto de datos, input1.csv
, almacenado en un bucket de S3. El contenido del archivo de entrada podría tener un aspecto similar al del siguiente ejemplo.
Record1-Attribute1, Record1-Attribute2, Record1-Attribute3, ..., Record1-AttributeM Record2-Attribute1, Record2-Attribute2, Record2-Attribute3, ..., Record2-AttributeM Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM ... RecordN-Attribute1, RecordN-Attribute2, RecordN-Attribute3, ..., RecordN-AttributeM
Cuando se inicia un trabajo de transformación por lotes, la SageMaker IA inicia las instancias de cómputo y distribuye la carga de trabajo de inferencia o preprocesamiento entre ellas. Batch Transform divide los objetos de Amazon S3 en la entrada por clave y asigna objetos de Amazon S3 a instancias. Si tiene varios archivos, una instancia podría procesar input1.csv
, mientras que otra instancia podría procesar el archivo llamado input2.csv
. Si tiene un archivo de entrada, pero inicializa varias instancias de computación, solo una instancia procesará el archivo de entrada. El resto de las instancias están inactivas.
También puede dividir los archivos de entrada en minilotes. Por ejemplo, puede crear un minilote a partir de input1.csv
incluyendo solo dos de los registros.
Record3-Attribute1, Record3-Attribute2, Record3-Attribute3, ..., Record3-AttributeM Record4-Attribute1, Record4-Attribute2, Record4-Attribute3, ..., Record4-AttributeM
nota
SageMaker La IA procesa cada archivo de entrada por separado. No combina minilotes de diferentes archivos de entrada para cumplir con el límite MaxPayloadInMB
.
Para dividir los archivos de entrada en minilotes al crear un trabajo de transformación por lotes, defina el valor del SplitType
parámetro en. Line
SageMaker La IA utiliza todo el archivo de entrada en una sola solicitud cuando:
-
SplitType
toma el valor deNone
. -
Un archivo de entrada no puede dividirse en minilotes.
. Tenga en cuenta que Batch Transform no admite entradas CSV con formato que contengan caracteres de nueva línea incrustados. Puede controlar el tamaño de los minilotes mediante los parámetros BatchStrategy
y MaxPayloadInMB
. MaxPayloadInMB
no debe ser superior a 100 MB. Si especifica el parámetro MaxConcurrentTransforms
opcional, el valor de (MaxConcurrentTransforms * MaxPayloadInMB)
tampoco debe superar los 100 MB.
Si el trabajo de transformación por lotes procesa correctamente todos los registros en un archivo de entrada, crea un archivo de salida. Dicho archivo de salida tiene el mismo nombre y la misma extensión de archivo .out
. Para varios archivos de entrada, como, por ejemplo, input1.csv
e input2.csv
, los archivos de salida se denominan input1.csv.out
e input2.csv.out
. El trabajo de transformación por lotes almacena los archivos de salida en la ubicación especificada en Amazon S3, como s3://amzn-s3-demo-bucket/output/
.
La predicciones en un archivo de salida se enumeran en el mismo orden que los registros correspondientes en el archivo de entrada. El archivo de salida input1.csv.out
, basado en el archivo de entrada mostrado anteriormente, tendría un aspecto similar al siguiente.
Inference1-Attribute1, Inference1-Attribute2, Inference1-Attribute3, ..., Inference1-AttributeM Inference2-Attribute1, Inference2-Attribute2, Inference2-Attribute3, ..., Inference2-AttributeM Inference3-Attribute1, Inference3-Attribute2, Inference3-Attribute3, ..., Inference3-AttributeM ... InferenceN-Attribute1, InferenceN-Attribute2, InferenceN-Attribute3, ..., InferenceN-AttributeM
Si establece SplitType
en Line
, puede establecer el parámetro AssembleWith
en Line
para concatenar los registros de salida con un delimitador de línea. De este modo, no se modifica el número de archivos de salida. El número de archivos de salida es igual al número de archivos de entrada, y el uso de AssembleWith
no combina los archivos. Si no especifica el parámetro AssembleWith
, los registros de salida se concatenan en formato binario de forma predeterminada.
Cuando los datos de entrada son muy grandes y se transmiten mediante codificación HTTP fragmentada, para transmitir los datos al algoritmo, se establece en. MaxPayloadInMB
0
Los algoritmos integrados de Amazon SageMaker AI no admiten esta función.
Para obtener información sobre el uso de API para crear un trabajo de transformación por lotes, consulte la CreateTransformJob
API. Para obtener más información acerca de la relación entre los objetos de entrada y salida de transformación por lotes, consulte OutputDataConfig
. Para ver un ejemplo de cómo utilizar una transformación por lotes, consulte (Opcional) Predicciones con la transformación por lotes.
Aceleración de un trabajo de transformación por lotes
Si utiliza el CreateTransformJob
API, puede reducir el tiempo que se tarda en completar los trabajos de transformación por lotes utilizando valores óptimos para los parámetros. Esto incluye parámetros como MaxPayloadInMB
, MaxConcurrentTransforms
o BatchStrategy
. El valor ideal para MaxConcurrentTransforms
es igual al número de procesos de computación en el trabajo de transformación por lotes.
Si utiliza la consola SageMaker AI, especifique estos valores de parámetros óptimos en la sección Configuración adicional de la página de configuración del trabajo de transformación por lotes. SageMaker La IA encuentra automáticamente la configuración de parámetros óptima para los algoritmos integrados. Para los algoritmos personalizados, proporcione estos valores a través de un punto de conexión execution-parameters.
Uso de la transformación por lotes para probar variantes de producción
Para probar diferentes modelos o configuración de hiperparámetros, cree un trabajo de transformación independiente para cada nueva variante de modelo y use un conjunto de datos de validación. Para cada trabajo de transformación, especifique un nombre de modelo único y la ubicación en Amazon S3 para el archivo de salida. Para analizar los resultados, utilice Registros y métricas de canalización de inferencias.
Cuaderno de muestra de transformación por lotes
Para ver un ejemplo de bloc de notas que utiliza la transformación por lotes, consulte Transformación por lotes con PCA clústeres de DBSCAN películas
Para obtener instrucciones sobre cómo crear instancias de Jupyter Notebook y acceder a ellas, que puede utilizar para ejecutar el ejemplo en IA, consulte. SageMaker Instancias de Amazon SageMaker Notebook Tras crear y abrir una instancia de bloc de notas, selecciona la pestaña SageMakerEjemplos para ver una lista de todos los ejemplos de SageMaker IA. Los cuadernos de ejemplos de modelado de temas que utilizan los NTM algoritmos se encuentran en la sección Funcionalidad avanzada. Para abrir un bloc de notas, elija su pestaña Usar y, a continuación, elija Crear copia.