Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Capacitación de un modelo

Modo de enfoque
Capacitación de un modelo - Amazon SageMaker AI

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.

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.

En este paso se elige un algoritmo de entrenamiento y se ejecuta un trabajo de entrenamiento para el modelo. El SDK de Amazon SageMaker Python proporciona estimadores de marcos y estimadores genéricos para entrenar el modelo y, al mismo tiempo, organizar el ciclo de vida del aprendizaje automático (ML) y acceder a las funciones de SageMaker IA para el entrenamiento y a las infraestructuras AWS , como Amazon Elastic Container Registry (Amazon ECR), Amazon Elastic Compute Cloud (Amazon) y Amazon Simple Storage Service (Amazon S3 EC2). Para obtener más información sobre los estimadores de marcos integrados de SageMaker IA, consulte Frameworks en la documentación del SDK de Amazon SageMaker Python. Para obtener más información sobre los algoritmos integrados, consulte Algoritmos integrados y modelos previamente entrenados en Amazon SageMaker.

Elección del algoritmo de entrenamiento

Para elegir el algoritmo correcto para su conjunto de datos, normalmente necesitará evaluar diferentes modelos para encontrar los más adecuados para sus datos. Para simplificar, el algoritmo XGBoost algoritmo con Amazon SageMaker AI integrado de SageMaker IA se utiliza a lo largo de este tutorial sin la evaluación previa de los modelos.

sugerencia

Si desea que la SageMaker IA encuentre un modelo adecuado para su conjunto de datos tabular, utilice Amazon SageMaker Autopilot, que automatiza una solución de aprendizaje automático. Para obtener más información, consulte SageMaker Piloto automático.

Creación y ejecución de un trabajo de entrenamiento

Una vez que haya decidido qué modelo usar, comience a construir un estimador de SageMaker IA para el entrenamiento. En este tutorial se utiliza el algoritmo XGBoost integrado para el estimador genérico de SageMaker IA.

Para ejecutar un trabajo de entrenamiento de modelo
  1. Importe el SDK de Amazon SageMaker Python y comience por recuperar la información básica de su sesión de SageMaker IA actual.

    import sagemaker region = sagemaker.Session().boto_region_name print("AWS Region: {}".format(region)) role = sagemaker.get_execution_role() print("RoleArn: {}".format(role))

    Esto devuelve la siguiente información:

    • region— La AWS región actual en la que se ejecuta la instancia del bloc de notas de SageMaker IA.

    • role: el rol de IAM utilizado por la instancia del cuaderno.

    nota

    Compruebe la versión del SDK de SageMaker Python ejecutandosagemaker.__version__. Este tutorial se basa en sagemaker>=2.20. Si el SDK está desactualizado, instale la versión más reciente ejecutando el comando siguiente:

    ! pip install -qU sagemaker

    Si ejecutas esta instalación en las instancias de SageMaker Studio o Notebook que ya tienes, tendrás que actualizar manualmente el núcleo para terminar de aplicar la actualización de la versión.

  2. Cree un XGBoost estimador utilizando la clase. sagemaker.estimator.Estimator En el siguiente código de ejemplo, se denomina al XGBoost estimador. xgb_model

    from sagemaker.debugger import Rule, ProfilerRule, rule_configs from sagemaker.session import TrainingInput s3_output_location='s3://{}/{}/{}'.format(bucket, prefix, 'xgboost_model') container=sagemaker.image_uris.retrieve("xgboost", region, "1.2-1") print(container) xgb_model=sagemaker.estimator.Estimator( image_uri=container, role=role, instance_count=1, instance_type='ml.m4.xlarge', volume_size=5, output_path=s3_output_location, sagemaker_session=sagemaker.Session(), rules=[ Rule.sagemaker(rule_configs.create_xgboost_report()), ProfilerRule.sagemaker(rule_configs.ProfilerReport()) ] )

    Para construir el estimador de SageMaker IA, especifique los siguientes parámetros:

    • image_uri: especifique el URI de la imagen del contenedor de entrenamiento. En este ejemplo, el URI del contenedor de XGBoost entrenamiento de SageMaker IA se especifica mediante. sagemaker.image_uris.retrieve

    • role— La función AWS Identity and Access Management (IAM) que la SageMaker IA utiliza para realizar tareas en su nombre (por ejemplo, leer los resultados de la formación, llamar a artefactos de modelos de Amazon S3 y escribir los resultados de la formación en Amazon S3).

    • instance_countyinstance_type: el tipo y el número de instancias informáticas de Amazon EC2 ML que se van a utilizar para el entrenamiento de modelos. Para este ejercicio de entrenamiento, utilizarás una sola ml.m4.xlarge instancia, que tiene 4 CPUs o 16 GB de memoria, un almacenamiento en Amazon Elastic Block Store (Amazon EBS) y un alto rendimiento de red. Para obtener más información sobre los tipos de EC2 instancias de procesamiento, consulte Tipos de EC2 instancias de Amazon. Para obtener más información sobre la facturación, consulta los precios de Amazon SageMaker AI.

    • volume_size: el tamaño, en GB, del volumen de almacenamiento de EBS que se va a asociar a la instancia de entrenamiento. Debe ser lo suficientemente grande para almacenar datos de entrenamiento si utiliza el modo File (el modo File es el predeterminado). Si no especifica este parámetro, el valor predeterminado es de 30.

    • output_path— El camino hacia el compartimento S3, donde la SageMaker IA almacena el artefacto del modelo y los resultados del entrenamiento.

    • sagemaker_session— El objeto de sesión que gestiona las interacciones con las operaciones de la SageMaker API y otros AWS servicios que utiliza el trabajo de formación.

    • rules— Especifique una lista de las reglas integradas del SageMaker Debugger. En este ejemplo, la create_xgboost_report() regla crea un XGBoost informe que proporciona información sobre el progreso y los resultados del entrenamiento, y la ProfilerReport() regla crea un informe sobre la utilización de los recursos EC2 informáticos. Para obtener más información, consulte SageMaker Informe interactivo de Debugger para XGBoost.

    sugerencia

    Si desea realizar un entrenamiento distribuido de modelos de aprendizaje profundo de gran tamaño, como modelos de redes neuronales convolucionales (CNN) y modelos de procesamiento del lenguaje natural (NLP), utilice SageMaker AI Distributed para el paralelismo de datos o el paralelismo de modelos. Para obtener más información, consulte Capacitación distribuida en Amazon SageMaker AI.

  3. Establezca los hiperparámetros del algoritmo llamando al método del estimador. XGBoost set_hyperparameters Para obtener una lista completa de los XGBoost hiperparámetros, consulte. XGBoost hiperparámetros

    xgb_model.set_hyperparameters( max_depth = 5, eta = 0.2, gamma = 4, min_child_weight = 6, subsample = 0.7, objective = "binary:logistic", num_round = 1000 )
    sugerencia

    También puede ajustar los hiperparámetros mediante la función de optimización de hiperparámetros mediante SageMaker IA. Para obtener más información, consulte Ajuste automático de modelos con IA SageMaker .

  4. Utilice la clase TrainingInput para configurar un flujo de entrada de datos para el entrenamiento. El siguiente código de ejemplo muestra cómo configurar los objetos TrainingInput para que usen los conjuntos de datos de entrenamiento y validación que cargó en Amazon S3 en la sección División de los datos en conjuntos de entrenamiento, validación y prueba..

    from sagemaker.session import TrainingInput train_input = TrainingInput( "s3://{}/{}/{}".format(bucket, prefix, "data/train.csv"), content_type="csv" ) validation_input = TrainingInput( "s3://{}/{}/{}".format(bucket, prefix, "data/validation.csv"), content_type="csv" )
  5. Para iniciar el entrenamiento del modelo, llame al método fit del estimador con los conjuntos de datos de entrenamiento y validación. Al configurar wait=True, el método fit muestra los registros de progreso y espera hasta que el entrenamiento se complete.

    xgb_model.fit({"train": train_input, "validation": validation_input}, wait=True)

    Para obtener más información acerca del modelo de entrenamiento, consulte Entrena a un modelo con Amazon SageMaker. Este tutorial de un trabajo de entrenamiento puede llevar hasta 10 minutos.

    Una vez finalizado el trabajo de formación, puede descargar un informe de XGBoost formación y un informe de creación de perfiles generados por Debugger. SageMaker El informe de XGBoost entrenamiento le ofrece información sobre el progreso y los resultados del entrenamiento, como la función de pérdida con respecto a la iteración, la importancia de las características, la matriz de confusión, las curvas de precisión y otros resultados estadísticos del entrenamiento. Por ejemplo, puedes encontrar la siguiente curva de pérdidas en el informe de XGBoost entrenamiento, que indica claramente que hay un problema de sobreajuste.

    El gráfico del informe de XGBoost entrenamiento.

    Ejecute el siguiente código para especificar el URI del bucket de S3 en el que se generan los informes de entrenamiento del depurador y compruebe si los informes existen.

    rule_output_path = xgb_model.output_path + "/" + xgb_model.latest_training_job.job_name + "/rule-output" ! aws s3 ls {rule_output_path} --recursive

    Descarga los informes de XGBoost formación y creación de perfiles de Debugger en el espacio de trabajo actual:

    ! aws s3 cp {rule_output_path} ./ --recursive

    Ejecute el siguiente IPython script para obtener el enlace al archivo del informe de XGBoost formación:

    from IPython.display import FileLink, FileLinks display("Click link below to view the XGBoost Training report", FileLink("CreateXgboostReport/xgboost_report.html"))

    El siguiente IPython script devuelve el enlace al archivo del informe de creación de perfiles del depurador, que muestra resúmenes y detalles del uso de los recursos de la EC2 instancia, los resultados de la detección de cuellos de botella en el sistema y los resultados de la creación de perfiles de operaciones de Python:

    profiler_report_name = [rule["RuleConfigurationName"] for rule in xgb_model.latest_training_job.rule_job_summary() if "Profiler" in rule["RuleConfigurationName"]][0] profiler_report_name display("Click link below to view the profiler report", FileLink(profiler_report_name+"/profiler-output/profiler-report.html"))
    sugerencia

    Si los informes HTML no muestran los gráficos en la JupyterLab vista, debe elegir Confiar en HTML en la parte superior de los informes.

    Para identificar los problemas de entrenamiento, como el sobreajuste, la desaparición de los gradientes y otros problemas que impiden la convergencia del modelo, utilice SageMaker Debugger y tome medidas automatizadas mientras crea prototipos y entrena sus modelos de aprendizaje automático. Para obtener más información, consulte Amazon SageMaker Debugger. Para obtener un análisis completo de los parámetros del modelo, consulte el cuaderno de ejemplo Explicability with Amazon SageMaker Debugger.

Ahora tiene un modelo entrenado. XGBoost SageMaker La IA almacena el artefacto modelo en su depósito S3. Para encontrar la ubicación del artefacto modelo, ejecute el siguiente código para imprimir el atributo model_data del estimador xgb_model:

xgb_model.model_data
sugerencia

Para medir los sesgos que pueden producirse durante cada etapa del ciclo de vida del aprendizaje automático (recopilación de datos, entrenamiento y ajuste de los modelos y supervisión de los modelos de aprendizaje automático implementados para la predicción), utilice SageMaker Clarify. Para obtener más información, consulte Explicabilidad del modelo. Para ver un end-to-end ejemplo, consulte el cuaderno de ejemplo Equidad y explicabilidad con SageMaker Clarify.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.