Cree una tienda de funciones sin conexión utilizando Amazon SageMaker Unified Studio y SageMaker Catalog

Crear y gestionar funciones de aprendizaje automático (ML) a escala es uno de los desafíos más críticos y complejos en los flujos de trabajo de ciencia de datos modernos. Las organizaciones a menudo luchan con canales de funciones fragmentados, definiciones de datos inconsistentes y esfuerzos de ingeniería redundantes entre los equipos. Sin un sistema centralizado para almacenar y reutilizar funciones, los modelos corren el riesgo de ser entrenados con datos obsoletos o no coincidentes, lo que lleva a una generalización deficiente, una menor precisión del modelo y problemas de gobernanza. Además, permitir la colaboración entre los equipos de ingeniería de datos, ciencia de datos y operaciones de aprendizaje automático se vuelve difícil cuando cada grupo mantiene sus propios conjuntos de datos y transformaciones aislados.

Amazon SageMaker aborda estos desafíos a través de SageMaker Unified Studio y SageMaker Catalog, que las organizaciones pueden utilizar para crear, administrar y compartir activos de forma segura entre proyectos y cuentas. Una capacidad clave dentro de este ecosistema es la implementación de un almacén de características fuera de línea: un repositorio estructurado diseñado para administrar datos de características históricas utilizados en el entrenamiento y la validación de modelos. Los almacenes de funciones fuera de línea están diseñados para brindar escalabilidad, seguimiento de linaje y reproducibilidad, de modo que los científicos de datos puedan entrenar modelos en conjuntos de datos precisos y alineados en el tiempo que eviten la fuga de datos y mantengan la coherencia entre los experimentos.

Esta publicación de blog proporciona orientación paso a paso sobre cómo implementar una tienda de funciones fuera de línea utilizando SageMaker Catalog dentro de un dominio de SageMaker Unified Studio. Al adoptar un patrón de publicación-suscripción, los productores de datos pueden utilizar esta solución para publicar tablas de características versionadas y seleccionadas, mientras que los consumidores de datos pueden descubrirlas, suscribirse y reutilizarlas de forma segura para el desarrollo de modelos. El enfoque integra Amazon S3 Tables con Apache Iceberg para lograr coherencia transaccional, AWS Lake Formation para un control de acceso detallado y Amazon SageMaker Studio para ingeniería de datos visual y basada en código.

A través de esta solución unificada, los equipos pueden lograr una gobernanza de funciones consistente, acelerar la experimentación de aprendizaje automático y reducir la sobrecarga operativa. En esta publicación, le mostramos cómo diseñar una tienda de funciones fuera de línea colaborativa, gobernada y lista para producción para desbloquear la reutilización de funciones de aprendizaje automático confiables en toda la empresa.

Esta solución demuestra cómo implementar una tienda de funciones fuera de línea utilizando un dominio de SageMaker Unified Studio integrado con SageMaker Catalog para permitir una gestión de funciones escalable, gobernada y colaborativa entre equipos de aprendizaje automático. La arquitectura establece un entorno unificado, como se muestra en la siguiente figura, que agiliza la forma en que los administradores, ingenieros de datos y científicos de datos crean, publican y consumen tablas de características reutilizables de alta calidad.

En esencia, la solución utiliza un dominio de SageMaker Unified Studio como capa de gobernanza y colaboración para gestionar proyectos, usuarios y activos de datos bajo control centralizado. Las tablas S3 en formato Apache Iceberg sirven como base para almacenar y controlar los datos de funciones. SageMaker Catalog, que permite una gobernanza unificada para conjuntos de datos, actúa como registro central para publicar, descubrir y suscribirse a tablas de características.

A continuación se describe cómo interactúan varias personas en el flujo de trabajo de un extremo a otro:

El administrador utiliza las plantillas de AWS CloudFormation y la consola de administración de AWS para instalar y configurar el entorno, incluido el aprovisionamiento del dominio de SageMaker Unified Studio y la incorporación de usuarios y grupos. El administrador crea el proyecto de datos de SageMaker Unified Studio e incorpora conjuntos de datos de Amazon Simple Storage Service (Amazon S3), como aerolínea_delay.csv y aerolínea_features (una tabla de S3), al catálogo del proyecto, luego designa al ingeniero de datos como propietario del proyecto. El ingeniero de datos abre el proyecto de datos, utiliza la herramienta Visual de extracción, transformación y carga (ETL) o un trabajo de procesamiento de datos para crear la canalización de funciones y crea funciones en la tabla aerolínea_features dentro del catálogo del proyecto. El ingeniero de datos accede a la herramienta de exploración de datos para enriquecer la tabla de características de la aerolínea con metadatos para mejorar la capacidad de descubrimiento y la gobernanza. Después de la validación y aprobación, el ingeniero de datos publica la tabla aerolínea_features en SageMaker Catalog para acceso de toda la organización. El científico de datos abre el proyecto de aprendizaje automático, utiliza la búsqueda impulsada por IA para encontrar la tabla de características_líneas aéreas en el catálogo e identifica la tabla de características publicada como adecuada para el desarrollo de su modelo. El científico de datos envía una solicitud de suscripción para consumir la tabla de funciones publicada. Si la aprobación automática no está configurada, el editor debe revisar y aprobar la solicitud de acceso. Después de la aprobación, el científico de datos obtiene acceso a la tabla de características a través del catálogo del proyecto, tanto a través del explorador de datos como directamente desde los cuadernos de Jupyter para el entrenamiento y la experimentación del modelo.

Este flujo de trabajo estructurado proporciona una gobernanza de datos consistente, promueve la colaboración y elimina los esfuerzos de ingeniería de funciones redundantes al permitir la reutilización en toda la empresa de funciones de aprendizaje automático versionadas y confiables.

La arquitectura de la solución de tienda de funciones fuera de línea se compone de varios componentes integrados. Cada componente desempeña un papel distinto al permitir la gobernanza segura de los datos, la ingeniería de funciones escalables y la colaboración fluida entre los usuarios de ML. Los componentes clave incluyen:

Dominio de SageMaker Unified Studio: el dominio de SageMaker Unified Studio sirve como plano de control central para administrar proyectos de ML, usuarios y activos de datos. Proporciona una interfaz unificada para la colaboración entre ingenieros de datos, científicos de datos y administradores. Este dominio permite la aplicación de controles de acceso detallados, se integra con AWS IAM Identity Center para un inicio de sesión único y admite flujos de trabajo de aprobación para ayudar a garantizar el intercambio seguro de activos de aprendizaje automático entre equipos y cuentas.

S3 Tables con formato Apache Iceberg: S3 Tables permite un almacenamiento escalable y sin servidor para datos de entidades utilizando el formato de tabla Apache Iceberg. Apache Iceberg Open Table Format (OTF) permite transacciones ACID, evolución de esquemas y capacidades de viaje en el tiempo, que los equipos pueden aprovechar para consultar versiones históricas de datos de características con total reproducibilidad. S3 Tables se integra perfectamente con Spark, Glue y SageMaker para un acceso consistente a los datos en cargas de trabajo analíticas y de aprendizaje automático.

Canal de ingeniería de funciones: el canal de ingeniería de funciones automatiza la transformación de conjuntos de datos sin procesar en funciones seleccionadas y de alta calidad. Construido sobre Apache Spark, proporciona procesamiento de datos distribuidos a escala, lo que permite transformaciones complejas como el cálculo de la tasa de retraso, la codificación categórica y la agregación de funciones. La canalización escribe directamente los resultados en tablas de S3, lo que ayuda a garantizar la trazabilidad y la coherencia entre los datos sin procesar/procesados ​​y las funciones de ingeniería.

Catálogo de SageMaker: SageMaker Catalog actúa como el repositorio de toda la organización para registrar, publicar y descubrir activos de ML, como conjuntos de datos, tablas de características y modelos. Se integra con Lake Formation para un control de acceso detallado y con IAM Identity Center para la gestión de usuarios. El catálogo admite flujos de trabajo de aprobación, control de versiones y enriquecimiento de metadatos, para que los equipos puedan compartir y reutilizar de forma segura activos confiables en todos los proyectos.

Juntos, estos componentes crean un ecosistema cohesivo que simplifica la gestión del ciclo de vida de las funciones de aprendizaje automático (desde la creación y la publicación hasta el descubrimiento y el consumo) al tiempo que mantiene la gobernanza de nivel empresarial y el seguimiento del linaje de datos.

El flujo de trabajo del administrador define la configuración inicial necesaria para establecer un entorno seguro y colaborativo para implementar el almacén de funciones fuera de línea. Los administradores aprovisionan el dominio SageMaker Unified Studio, habilitan IAM Identity Center para la autenticación de usuarios y configuran tablas S3 con Lake Formation para el acceso a datos gobernados. También crean proyectos dedicados de productores y consumidores, implementan la infraestructura necesaria a través de planos ambientales (basados ​​en CloudFormation) y asignan usuarios y grupos con los permisos adecuados. Esta configuración ayuda a garantizar una base coherente y bien gobernada que los ingenieros y científicos de datos puedan utilizar para crear, publicar y consumir funciones de aprendizaje automático sin problemas dentro de SageMaker Unified Studio.

Requisitos previos

Se deben completar los siguientes requisitos previos para ayudar a garantizar que los servicios y permisos de AWS requeridos estén configurados correctamente para una integración y gobernanza perfectas.

Habilite IAM Identity Center Navegue hasta IAM Identity Center en la consola. Elija Habilitar si aún no está activado. Elija Habilitar con AWS Organizations o de forma independiente y complete el asistente de configuración. Habilitar tablas de S3 Vaya a Amazon S3 en la consola. Seleccione la sección Tablas S3 y elija Habilitar integración de Tablas S3. Administrador de Lake Formation Verifique que la función de consola esté agregada a los administradores de Lake Formation para la creación adecuada de recursos y la administración de permisos.

Configurar el entorno

Después de completar los requisitos previos, el siguiente paso es configurar el entorno mediante la creación y configuración del dominio SageMaker Unified Studio, que sirve como espacio de trabajo central para administrar usuarios, proyectos y activos de datos dentro de la arquitectura del almacén de funciones fuera de línea.

Configure un dominio de SageMaker Unified Studio:

Navegue hasta la consola de SageMaker Unified Studio y elija Dominios en el panel de navegación. Elija Crear dominio y luego elija Configuración rápida. Elija crear una nueva VPC o seleccione una VPC existente para la configuración de red del dominio. Expanda Configuración de configuración rápida e ingrese un nombre de dominio (por ejemplo, Corporativo). Para la función de ejecución de dominio y la función de servicio de dominio, seleccione Crear y utilizar una nueva función de servicio. Seleccione una VPC (las VPC etiquetadas con SageMaker Unified Studio deben estar configuradas correctamente) y elija al menos tres subredes privadas, cada una en una zona de disponibilidad diferente. Elija Continuar para continuar con la creación del dominio. Cree una cuenta de usuario de IAM Identity Center proporcionando una dirección de correo electrónico, nombre y apellido (recibirá un correo electrónico para activar su cuenta de IAM Identity Center después de la creación). Elija Crear dominio para iniciar el proceso de creación del dominio. La creación de un dominio suele tardar entre 2 y 5 minutos en completarse.

Cree un proyecto de SageMaker Unified Studio:

Vaya a la URL del dominio de SageMaker Unified Studio e inicie sesión con las credenciales de IAM Identity Center creadas durante la configuración del dominio y acepte el correo electrónico de invitación si lo recibe. Crear proyectos: vaya a Seleccionar proyecto y elija Crear proyecto en la página de inicio del dominio para crear un proyecto de productor y asígnele el nombre aerolíneas_core_features. Agregue descripciones, configure ajustes y asigne usuarios y permisos. Para Perfil de proyecto, seleccione Todas las capacidades. Repita los dos pasos anteriores para crear un proyecto de consumidor con el nombre aerolíneas_ml_models.
Nota: – La creación del proyecto suele tardar entre 5 y 10 minutos en completarse. Copie el ARN del rol del proyecto. Vaya a los detalles del proyecto deAirlines_core_features. Navegue hasta el proyecto y copie el rol del proyecto Nombre de recurso de Amazon (ARN) (arn:aws:iam::ACCOUNT:role/datazone_usr_role_*) Repita los dos pasos anteriores para aerolíneas_ml_models

Despliegue de infraestructura

Implemente la pila de CloudFormation solo después de completar los pasos anteriores, incluida la creación de dominio, la creación de proyectos, la configuración de IAM Identity Center y la habilitación de tablas S3. La pila requiere los siguientes parámetros de entrada:

ID de IAM Identity Center: navegue hasta la consola de IAM Identity para recuperar la primera parte de la URL del portal de acceso de AWS. Se verá así https://d-1234da5678.awsapps.com/start SMUSProducerProjectRoleName: navegue hasta el portal del proyecto de Unified Studio, abra su proyecto de productor y recupere el nombre de la función del proyecto. Por ejemplo, arn:aws:iam:::role/datazone_usr_role_xxxx_yyyy SMUSConsumerProjectRoleName: repita el paso anterior para recuperar el nombre de la función del proyecto del consumidor.

Una vez que la pila se implemente correctamente, se crearán los siguientes recursos de AWS:

Depósito S3: para almacenamiento de datos sin procesar y seleccionados, como amzn-s3-demo-blog-smus-featurestore-{account-id} Depósito de tabla S3: para almacenamiento de tabla Iceberg, como amzn-s3-demo-airlines-s3tables-bucket Espacio de nombres de tabla S3: espacio de nombres de tabla de características organizada, como aerolíneas Tabla S3: para almacenamiento de características, como fg_airline_features Base de datos Glue: para catálogo de datos de origen, como como aerolínea_raw_db Grupos de IAM Identity Center: grupos de productores y consumidores, como FeatureStore-Producers, FeatureStore-Consumers Permisos de Lake Formation: control de acceso detallado, como permisos de bases de datos y tablas Roles y políticas de IAM: para integraciones de servicios, como: roles de ejecución de SageMaker.

Agregue grupos de SSO al dominio de SageMaker

Asigne grupos de IAM Identity Center para inicio de sesión único (SSO) al dominio de SageMaker para permitir el acceso de los usuarios y la colaboración entre proyectos.

Navegue hasta la consola de SageMaker Unified Studio y elija el dominio en el panel de navegación. Ir a Gestión de usuarios. Elija Agregar usuarios y grupos para administrar el acceso al dominio. Seleccione Grupos SSO. Elija los grupos de SSO que se crearon durante la implementación de la infraestructura: feature-store-admin-group (para administradores) feature-store-producer-group (para equipos de ingeniería de datos) feature-store-consumer-group (para equipos de ciencia de datos) Elija Agregar para completar la asignación y habilitar el acceso al grupo. La sección Administración de usuarios mostrará los grupos de SSO como Asignados.

Crear usuarios de IAM Identity Center

Cree usuarios individuales para que los productores, consumidores y administradores de datos accedan al dominio de SageMaker.

Cree el usuario productor de datos:

Navegue hasta la consola de IAM Identity Center y elija Usuarios en el panel de navegación. Elija Agregar usuario, ingrese los detalles del usuario: Nombre de usuario: Ingrese el productor de datos. Correo electrónico: ingrese una dirección válida, como dataproducer@example.com. Nombre: Ingrese datos. Apellido: Ingrese Productor. Asigne el usuario al grupo de productores de tiendas de funciones. Envíe un correo electrónico de invitación para la activación de la cuenta.

Cree los usuarios administradores y consumidores de datos:

Utilice los mismos pasos para crear los usuarios administradores y consumidores de datos, con las siguientes diferencias para el paso 2:

Cree el usuario consumidor de datos: Nombre de usuario: ingrese consumidor de datos. Correo electrónico: ingrese una dirección válida, como dataconsumer@example.com. Nombre: Ingrese datos. Apellido: Ingrese Consumidor. Asigne el usuario al grupo de consumidores de tiendas de características. Cree el usuario administrador: Nombre de usuario: Ingrese dataadmin. Correo electrónico: ingrese una dirección válida, como dataadmin@example.com. Nombre: Ingrese datos. Apellido: Ingrese Administrador. Asigne el usuario al grupo de administradores de tiendas de características.

Agregar grupos de usuarios a proyectos

Inicie sesión en el dominio corporativo de SageMaker Unified Studio como usuario administrador desde UI Console y asigne los grupos de usuarios a sus proyectos correspondientes para un control de acceso adecuado.

Asignar usuarios al proyecto Producer:

Navegue a la configuración del proyecto Airlines_core_features. Vaya a la sección de Miembros. Agregue feature-store-producer-group con los permisos de proyecto adecuados.

Asignar usuarios al proyecto de consumidor:

Navegue a la configuración del proyecto Airlines_ml_models. Vaya a la sección Miembros Agregar grupo de consumidores de tiendas de características con los permisos de proyecto adecuados.

Cargar un conjunto de datos en un depósito S3

Cree el prefijo S3 /raw/AirlineDelayCause/ en el depósito S3 amzn-s3-demo-blog-smus-featurestore- creado por la plantilla de CloudFormation. Utilice la consola de Amazon S3 para cargar el conjunto de datos de retraso de la aerolínea de muestra en el prefijo del depósito S3 s3://amzn-s3-demo-blog-smus-featurestore-/raw/AirlineDelayCause/

Verificar el acceso a los datos

Después de cargar el conjunto de datos, navegue hasta el proyecto Airlines_core_features y consulte los datos mediante AWS Data Catalog:

SELECCIONE * DE "awsdatacatalog". "curated_db". "airline_delay_cause" LÍMITE 10;

Verificar la tabla del almacén de características

Consulta la tabla del almacén de funciones para verificar que sea accesible. Devolverá cero registros pero debería ejecutarse sin errores.

SELECCIONE * DE "s3tablescatalog/airline"."airline"."fg_airline_features" LÍMITE 10;

Este flujo de trabajo demuestra cómo los ingenieros de datos crean y comparten funciones utilizando SageMaker Unified Studio y S3 Tables.

Inicie sesión como usuario productor de datos

Navegue hasta el dominio de SageMaker Unified Studio e inicie sesión con las credenciales de IAM Identity Center como usuario productor de datos (miembro del grupo de productores de tiendas de características), luego acceda al proyecto aerolíneas_core_features.

Crear un trabajo de ingeniería de características

Descargue el script de líneas aéreas-delay-cause-feature-engineering-pipeline a su sistema local. Navegue hasta Herramientas de compilación y seleccione Trabajos de procesamiento de datos. Seleccione el proyecto Airlines_core_features y luego elija Continuar. Vaya a la sección Trabajo basado en código y elija Crear trabajo a partir de archivo. Elija el archivo y seleccione Cargar su archivo local. Seleccione el Archivo y elija Siguiente. Ingrese aerolíneas-delay-cause-feature-engineering-pipeline como nombre del trabajo y elija Enviar. Seleccione el trabajo creado y elija Ejecutar trabajo para ejecutar la canalización.

Crear la conexión de origen de datos

Navegue hasta las fuentes de datos. Elija Crear fuente de datos. En Nombre de fuente de datos, ingrese aerolíneas_features_datasource. Para Tipo de origen de datos, seleccione Catálogo de datos de AWS Glue. Vaya a Selección de datos e ingrese el nombre del catálogo como s3tablescatalog/airlines. Para el nombre de la base de datos, seleccione aerolíneas de la lista desplegable. Establezca los criterios de selección de tabla como * y elija Siguiente. En Publicar recursos en el catálogo, seleccione No y elija Siguiente. Establezca la preferencia Ejecutar en On Demand y elija Siguiente. Elija Crear para crear la fuente de datos y descubrir tablas.

Publicar recursos de funciones

Vaya a Activos y seleccione el activo fg_airline_features, que fue creado por el trabajo de origen de datos. Elija Publicar activo, agregue metadatos y descripciones, y complete la publicación para que sea reconocible en todos los proyectos.

Verificar la tienda de funciones

Consulta el almacén de características creado y cargado por el trabajo de procesamiento de datos.

Abra el editor de consultas desde el menú desplegable Herramientas de compilación. Configure la conexión al catálogo de s3tables y ejecute la siguiente consulta: SELECT * FROM "s3tablescatalog/airlines"."airlines"."fg_airline_features" LIMIT 10;

Ahora otros proyectos podrán descubrir la tabla del almacén de funciones.

Esta sección demuestra el flujo de trabajo de aprendizaje automático de un extremo a otro para los científicos de datos que consumen funciones del almacén de funciones fuera de línea creado con S3 Tables y SageMaker Unified Studio, comenzando con el inicio de sesión del usuario consumidor de datos.

Inicie sesión como usuario consumidor de datos

Navegue hasta la URL de su dominio de SageMaker Unified Studio, inicie sesión con las credenciales del consumidor de datos y seleccione el proyecto del consumidor aerolíneas_ml_models.

Buscar funciones

Utilice la barra de búsqueda e ingrese fg_airlines_features como nombre de la tienda de características para encontrar el activo publicado, luego seleccione el activo del catálogo fg_airlines_features. También puede utilizar la búsqueda de catálogo impulsada por IA para buscar funciones utilizando el nombre parcial de las funciones y su descripción.

Suscríbete a los activos

Elija Suscribirse para el activo de función de la aerolínea seleccionada, ingrese una justificación comercial para el desarrollo del modelo de aprendizaje automático y envíe la solicitud de acceso para su aprobación.

Acceder a los activos aprobados

El usuario productor de datos puede ver las solicitudes de suscripción pendientes en su flujo de trabajo. Cuando un productor de datos aprueba la suscripción, la tabla fg_airline_featurestore estará visible en la base de datos del catálogo de proyectos y estará disponible para consultar, como se muestra en la siguiente figura.

Seguimiento del linaje de datos

El linaje de datos en SageMaker Catalog es una característica compatible con OpenLineage que puede utilizar para capturar y visualizar eventos de linaje (desde sistemas habilitados para OpenLineage o mediante API) para rastrear orígenes de datos, rastrear transformaciones y ver el consumo de datos entre organizaciones. Para ver el linaje de datos, seleccione la pestaña Linaje para mostrar el linaje completo de sus activos suscritos, como se muestra en la siguiente figura.

Consulta la tienda de funciones con capacidades de viaje en el tiempo

Una vez que tenga acceso al almacén de funciones publicadas, puede utilizar las siguientes consultas en el Editor de consultas SQL para consultar los datos y utilizar las capacidades de viaje en el tiempo de Iceberg.

Consulta la tienda de funciones:

SELECCIONAR * DE "fg_airline_features" LÍMITE 10; Recupera los últimos 10 registros del almacén de funciones.

Ver versiones disponibles:

SELECCIONE snapshot_id, commit_at, operación, resumen DESDE "fg_airline_features$snapshots" ORDEN POR commit_at DESC;

Enumera todas las instantáneas históricas con marcas de tiempo y operaciones, y muestra cómo evolucionó la tabla de características.

consultas sobre viajes en el tiempo

— Consulta la versión específica SELECCIONAR * DE "fg_airline_features" PARA LA VERSIÓN A PARTIR de <snapshot_id_here> LÍMITE 10;

Recupera características de una versión instantánea específica, lo que garantiza la reproducibilidad para el entrenamiento del modelo.

— Lista de marcas de tiempo disponibles: SELECCIONE commit_at FROM "fg_airline_features$snapshots" ORDEN BY commit_at DESC;

Enumera todas las marcas de tiempo cuando se modificó la tabla de características.

— Consulta a partir de la marca de tiempo SELECT * FROM "fg_airline_features" PARA TIMESTAMP A PARTIR DE TIMESTAMP LIMIT 10;

Recupera características tal como existían en un momento específico.

Ver historial de la tabla

SELECCIONAR * DE "fg_airline_features$history" ORDENAR POR made_current_at DESC;

Muestra el seguimiento de auditoría completo con ID de instantáneas y marcas de tiempo para cumplimiento y depuración.

Este flujo de consumidores permite la reutilización eficiente de funciones entre equipos y, al mismo tiempo, mantiene controles de acceso y gobernanza adecuados.

Utilice una tabla S3 como almacén de funciones sin conexión

En esta sección, aprenderá cómo configurar una tabla S3 para usarla como almacén de funciones fuera de línea para entrenamiento e inferencia por lotes.

Descargue el cuaderno de ejemplo de entrenamiento, inferencia por lotes, que demuestra cómo usar una tabla S3 como almacén de funciones fuera de línea para el entrenamiento de modelos y la inferencia por lotes. Vaya al proyecto de consumo Airlines_ml_models. Vaya a Herramientas de compilación y seleccione Jupyter Notebook, luego cargue el cuaderno descargado. Configure los siguientes parámetros en el cuaderno según su proyecto: Bucket Enter. Por ejemplo, sagemaker_project_bucket Región: Ingrese. Por ejemplo, us-east-1 s3_path: ingrese s3://< amzn-s3-demo-bucket-name >//dev/ base de datos: ingrese= . Por ejemplo, proyecto_glue_database nombre_tabla: Ingrese. Por ejemplo, proyecto_feature_group_table

Este cuaderno implementa un proceso de capacitación e inferencia por lotes para la predicción de retrasos de aerolíneas mediante el algoritmo de regresión de Amazon SageMaker XGBoost. La canalización ejecuta los siguientes pasos:

setup_mlflow: esta función configura el experimento de MLflow utilizando un servidor SageMaker MLflow existente para su proyecto. load_data_from_athena: esta función utiliza una conexión Athena para cargar funciones de la tabla S3 en marcos de datos de prueba y entrenamiento. train_model_with_comprehensive_metrics: esta función persiste el marco de datos de entrenamiento en Amazon S3 y utiliza ese conjunto de datos como entrada al estimador SageMaker XGBoost para entrenar el modelo de regresión de predicción de retrasos de la aerolínea. Los parámetros del experimento de entrenamiento y la consulta y el ID de instantánea de la tabla S3 de métricas se registran en el experimento de MLflow para lograr reproducibilidad, como se muestra en la siguiente figura.

batch_transform: este proceso utiliza la división del marco de datos de prueba como entrada para calcular las predicciones de retraso de la aerolínea utilizando el modelo entrenado. Las métricas de entrada, salida y rendimiento para esta transformación por lotes se registran en el experimento de MLflow. analizar_predicciones_con_evaluación: esta función compara las predicciones con los datos reales y produce métricas y gráficos como se muestra a continuación. Los gráficos incluyen: Distribución de predicción de la tasa de retraso Real en comparación con la tasa de retraso prevista Gráfica de residuos de la tasa de retraso prevista Distribución real en comparación con la prevista

La implementación de una tienda de funciones fuera de línea con Amazon SageMaker Unified Studio y SageMaker Catalog proporciona un enfoque unificado, seguro y escalable para administrar funciones de aprendizaje automático entre equipos y proyectos. La arquitectura integrada ayuda a garantizar una gobernanza, un seguimiento del linaje y una reproducibilidad coherentes, al tiempo que permite una colaboración perfecta entre ingenieros y científicos de datos. Al utilizar Amazon S3 Tables con Apache Iceberg, las organizaciones pueden utilizar el cumplimiento de ACID y las capacidades de viaje en el tiempo, mejorando la confiabilidad de los datos de entrenamiento y el rendimiento del modelo. El patrón de publicación-suscripción simplifica el intercambio de activos, reduce la duplicación y acelera los ciclos de vida de desarrollo de modelos.

Para explorar estas capacidades en su entorno de AWS, configure su dominio SageMaker Unified Studio, publique su primer conjunto de datos de funciones y libere todo el potencial de los activos de aprendizaje automático gobernados y reutilizables para su organización.

Agradecemos sinceramente la cuidadosa revisión técnica del blog realizada por Paul Hargis, cuyas ideas y comentarios fueron invaluables.

Acerca de los autores

Vijay Velpula

Vijay Velpula es arquitecto de datos en AWS Professional Services. Tiene una amplia experiencia en el diseño e implementación de soluciones de análisis y big data para ayudar a los clientes a optimizar su infraestructura en la nube. Le apasiona construir arquitecturas de datos escalables y confiables que aceleren la transformación digital. Fuera del trabajo, le encanta hacer senderismo, andar en bicicleta y explorar nuevos destinos con su familia.

Ramírez Vittal

Ram Vittal es especialista principal en GenAI/ML en AWS. Tiene más de tres décadas de experiencia en la creación de aplicaciones distribuidas, híbridas y en la nube. Le apasiona crear soluciones de big data y AI/ML seguras, escalables y confiables para ayudar a los clientes en su proceso de adopción y optimización de la nube. En su tiempo libre anda en motocicleta y disfruta de la naturaleza con su familia.