Logotipo de Zephyrnet

Amazon SageMaker Feature Store ahora admite el uso compartido, el descubrimiento y el acceso entre cuentas | Servicios web de Amazon

Fecha:

Tienda de funciones de Amazon SageMaker es un repositorio totalmente administrado y diseñado específicamente para almacenar, compartir y administrar funciones para modelos de aprendizaje automático (ML). Caracteristicas son entradas a los modelos de ML utilizados durante el entrenamiento y la inferencia. Por ejemplo, en una aplicación que recomienda una lista de reproducción de música, las funciones podrían incluir calificaciones de canciones, duración de la escucha y datos demográficos del oyente. Varios equipos utilizan las funciones repetidamente y la calidad de las mismas es fundamental para garantizar un modelo de alta precisión. Además, cuando las funciones utilizadas para entrenar modelos fuera de línea en lotes están disponibles para inferencias en tiempo real, es difícil mantener sincronizados los dos almacenes de funciones. SageMaker Feature Store proporciona un almacén seguro y unificado para procesar, estandarizar y utilizar funciones a escala durante todo el ciclo de vida del aprendizaje automático.

SageMaker Feature Store ahora facilita compartir, descubrir y acceder a grupos de funciones entre cuentas de AWS. Esta nueva capacidad promueve la colaboración y minimiza el trabajo duplicado para los equipos involucrados en el desarrollo de aplicaciones y modelos de ML, particularmente en entornos empresariales con múltiples cuentas que abarcan diferentes unidades de negocios o funciones.

Con este lanzamiento, los propietarios de cuentas pueden otorgar acceso a grupos de funciones seleccionados a otras cuentas usando Administrador de acceso a recursos de AWS (RAM de AWS). Una vez que se les concede acceso, los usuarios de esas cuentas pueden ver cómodamente todos sus grupos de funciones, incluidos los compartidos, a través de Estudio Amazon SageMaker o SDK. Esto permite a los equipos descubrir y utilizar funciones desarrolladas por otros equipos, fomentando el intercambio de conocimientos y la eficiencia. Además, los detalles de uso de los recursos compartidos se pueden monitorear con Reloj en la nube de Amazon y Seguimiento de la nube de AWS. Para una inmersión profunda, consulte Descubrimiento y acceso a grupos de funciones entre cuentas.

En esta publicación, analizamos el por qué y el cómo de una tienda de funciones centralizada con acceso entre cuentas. Mostramos cómo configurarlo y ejecutar una demostración de muestra, así como los beneficios que puede obtener al utilizar esta nueva capacidad en su organización.

¿Quién necesita una tienda de funciones entre cuentas?

Las organizaciones necesitan compartir funciones de forma segura entre equipos para crear modelos de aprendizaje automático precisos y, al mismo tiempo, evitar el acceso no autorizado a datos confidenciales. SageMaker Feature Store ahora permite compartir características granularmente entre cuentas a través de AWS RAM, lo que permite el desarrollo de modelos colaborativos con gobernanza.

SageMaker Feature Store proporciona almacenamiento y administración especialmente diseñados para las funciones de aprendizaje automático utilizadas durante el entrenamiento y la inferencia. Con soporte entre cuentas, ahora puede compartir de forma selectiva funciones almacenadas en una cuenta de AWS con otras cuentas de su organización.

Por ejemplo, el equipo de análisis puede seleccionar funciones como el perfil del cliente, el historial de transacciones y los catálogos de productos en una cuenta de administración central. Los desarrolladores de aprendizaje automático de otros departamentos, como marketing, detección de fraude, etc., deben acceder a ellos de forma segura para crear modelos.

Los siguientes son beneficios clave de compartir funciones de aprendizaje automático entre cuentas:

  • Funciones consistentes y reutilizables – El intercambio centralizado de funciones seleccionadas mejora la precisión del modelo al proporcionar datos de entrada consistentes para entrenar. Los equipos pueden descubrir y consumir directamente funciones creadas por otros en lugar de duplicarlas en cada cuenta.
  • Control de acceso al grupo de funciones – Puede otorgar acceso solo a los grupos de funciones específicos necesarios para el caso de uso de una cuenta. Por ejemplo, es posible que el equipo de marketing solo obtenga acceso al grupo de funciones del perfil del cliente necesario para los modelos de recomendación.
  • Colaboración entre equipos – Las funciones compartidas permiten que equipos dispares, como fraude, marketing y ventas, colaboren en la creación de modelos de aprendizaje automático utilizando los mismos datos confiables en lugar de crear funciones aisladas.
  • Seguimiento de auditoría para el cumplimiento – Los administradores pueden monitorear el uso de funciones por parte de todas las cuentas de manera centralizada utilizando los registros de eventos de CloudTrail. Esto proporciona una pista de auditoría necesaria para la gobernanza y el cumplimiento.

Delimitar a los productores de los consumidores en tiendas destacadas con cuentas cruzadas

En el ámbito del aprendizaje automático, el almacén de funciones actúa como un puente crucial que conecta a quienes suministran datos con quienes los aprovechan. Esta dicotomía se puede gestionar de forma eficaz mediante una configuración de cuentas cruzadas para la tienda de funciones. Desmitifiquemos esto usando las siguientes personas y una analogía del mundo real:

  • Ingenieros de datos y ML (propietarios y productores) – Sentan las bases al introducir datos en el almacén de funciones.
  • Científicos de datos (consumidores) – Extraen y utilizan estos datos para elaborar sus modelos.

Los ingenieros de datos actúan como arquitectos que esbozan el plano inicial. Su tarea es construir y supervisar canales de datos eficientes. Al extraer datos de los sistemas fuente, moldean los atributos de los datos sin procesar en características discernibles. Tomemos como ejemplo la “edad”. Aunque simplemente representa el lapso entre ahora y la fecha de nacimiento de una persona, su interpretación puede variar según la organización. Garantizar la calidad, la uniformidad y la coherencia es primordial aquí. Su objetivo es introducir datos en un almacén de funciones centralizado, estableciéndolo como el punto de referencia indiscutible.

Los ingenieros de ML perfeccionan estas características fundamentales y las adaptan a flujos de trabajo de ML maduros. En el contexto de la banca, podrían deducir conocimientos estadísticos de los saldos de cuentas, identificando tendencias y patrones de flujo. El obstáculo al que se enfrentan a menudo es el despido. Es común ver canales de creación de funciones repetitivos en diversas iniciativas de aprendizaje automático.

Imagine a los científicos de datos como chefs gourmet explorando una despensa bien surtida en busca de los mejores ingredientes para su próxima obra maestra culinaria. Su tiempo debería invertirse en elaborar recetas de datos innovadoras, no en volver a montar la despensa. El obstáculo en este momento es descubrir los datos correctos. Es indispensable una interfaz fácil de usar, equipada con herramientas de búsqueda eficientes y descripciones completas de las funciones.

En esencia, la configuración de una tienda de funciones entre cuentas segmenta meticulosamente los roles de los productores y consumidores de datos, garantizando eficiencia, claridad e innovación. Ya sea que esté sentando las bases o construyendo sobre ellas, conocer su función y sus herramientas es fundamental.

El siguiente diagrama muestra dos equipos de científicos de datos diferentes, de dos cuentas de AWS diferentes, que comparten y utilizan el mismo almacén de funciones central para seleccionar las mejores funciones necesarias para crear sus modelos de aprendizaje automático. El almacén de funciones central está ubicado en una cuenta diferente administrada por ingenieros de datos e ingenieros de ML, donde generalmente se encuentran la capa de gobierno de datos y el lago de datos.

Controles de grupos de funciones entre cuentas

Con SageMaker Feature Store, puede compartir recursos de grupos de funciones entre cuentas. La cuenta del propietario del recurso comparte recursos con las cuentas del consumidor de recursos. Hay dos categorías distintas de permisos asociados con el uso compartido de recursos:

  • Permisos de visibilidadDescubribilidad significa poder ver los nombres de los grupos de características y los metadatos. Cuando otorga permiso de descubrimiento, todas las entidades del grupo de funciones en la cuenta desde la que comparte (cuenta del propietario del recurso) pasan a ser visibles para las cuentas con las que comparte (cuentas del consumidor de recursos). Por ejemplo, si hace que la cuenta del propietario del recurso sea reconocible por la cuenta del consumidor del recurso, las entidades principales de la cuenta del consumidor del recurso podrán ver todos los grupos de características contenidos en la cuenta del propietario del recurso. Este permiso se otorga a cuentas de consumidores de recursos mediante el tipo de recurso del catálogo de SageMaker.
  • Permisos de acceso – Cuando otorga un permiso de acceso, lo hace en el nivel de recursos del grupo de funciones (no en el nivel de cuenta). Esto le brinda un control más granular sobre la concesión de acceso a los datos. Los tipos de permisos de acceso que se pueden otorgar son de solo lectura, lectura/escritura y administrador. Por ejemplo, puede seleccionar solo ciertos grupos de funciones de la cuenta del propietario del recurso para que sean accesibles para los directores de la cuenta del consumidor del recurso, según sus necesidades comerciales. Este permiso se otorga a las cuentas de consumidores de recursos utilizando el tipo de recurso del grupo de características y especificando las entidades del grupo de características.

El siguiente diagrama de ejemplo visualiza cómo compartir el tipo de recurso del catálogo de SageMaker otorgando el permiso de descubrimiento versus compartir una entidad de tipo de recurso de grupo de características con permisos de acceso. El catálogo de SageMaker contiene todas las entidades de su grupo de funciones. Cuando se le concede un permiso de descubrimiento, la cuenta del consumidor de recursos puede buscar y descubrir todas las entidades del grupo de características dentro de la cuenta del propietario del recurso. Una entidad de grupo de características contiene sus datos de ML. Cuando se le concede un permiso de acceso, la cuenta del consumidor de recursos puede acceder a los datos del grupo de funciones, y el acceso está determinado por el permiso de acceso correspondiente.

Resumen de la solución

Complete los siguientes pasos para compartir funciones de forma segura entre cuentas utilizando SageMaker Feature Store:

  1. En la cuenta de origen (propietario), ingiera conjuntos de datos y prepare funciones normalizadas. Organice las funciones relacionadas en grupos lógicos denominados grupos de funciones.
  2. Cree un recurso compartido para otorgar acceso entre cuentas a grupos de funciones específicos. Defina acciones permitidas como get y put, y restrinja el acceso solo a cuentas autorizadas.
  3. En las cuentas de destino (consumidor), acepte la invitación de AWS RAM para acceder a funciones compartidas. Revise la política de acceso para comprender los permisos otorgados.

Los desarrolladores de las cuentas de destino ahora pueden recuperar funciones compartidas utilizando el SDK de SageMaker, unirse con datos adicionales y utilizarlas para entrenar modelos de aprendizaje automático. La cuenta de origen puede monitorear el acceso a funciones compartidas por parte de todas las cuentas mediante registros de eventos de CloudTrail. Los registros de auditoría brindan visibilidad centralizada del uso de funciones.

Con estos pasos, puede permitir que los equipos de su organización utilicen de forma segura funciones de aprendizaje automático compartidas para el desarrollo de modelos colaborativos.

Requisitos previos

Asumimos que ya creó grupos de funciones y absorbió las funciones correspondientes dentro de su cuenta de propietario. Para obtener más información sobre cómo comenzar, consulte Empiece a utilizar Amazon SageMaker Feature Store.

Conceder permisos de descubrimiento

Primero, demostramos cómo compartir nuestro catálogo de la Tienda de funciones de SageMaker en la cuenta del propietario. Complete los siguientes pasos:

  1. En la cuenta de propietario del catálogo de SageMaker Feature Store, abra la consola AWS RAM.
  2. under Compartido por mi en el panel de navegación, elija Recursos compartidos.
  3. Elige Crear recursos compartidos.
  4. Introduzca un nombre de recurso compartido y elija Catálogos de recursos de SageMaker como el tipo de recurso.
  5. Elige Siguiente.
  6. Para acceso solo de descubrimiento, ingrese AWSRAMPermissionSageMakerCatalogResourceSearch para Permisos administrados.
  7. Elige Siguiente.
  8. Ingrese su ID de cuenta de consumidor y elija Añada. Puede agregar varias cuentas de consumidores.
  9. Elige Siguiente y complete su recurso compartido.

Ahora el catálogo compartido de la Tienda de funciones de SageMaker debería aparecer en la página Recursos compartidos .

Puede lograr el mismo resultado utilizando el Interfaz de línea de comandos de AWS (AWS CLI) con el siguiente comando (proporcione su región de AWS, ID de cuenta de propietario y ID de cuenta de consumidor):

aws ram create-resource-share 
  --name MyCatalogFG 
  --resource-arns arn:aws:sagemaker:REGION:OWNERACCOUNTID:sagemaker-catalog/DefaultFeatureGroupCatalog 
  --principals CONSACCOUNTID 
  --permission-arns arn:aws:ram::aws:permission/AWSRAMPermissionSageMakerCatalogResourceSearch

Aceptar la invitación para compartir recursos

Para aceptar la invitación a compartir recursos, complete los siguientes pasos:

  1. En la cuenta de destino (consumidor), abra la consola de AWS RAM.
  2. under Comparte conmigo en el panel de navegación, elija Recursos compartidos.
  3. Elija el nuevo recurso compartido pendiente.
  4. Elige Aceptar recurso compartido.

Puede lograr el mismo resultado utilizando la CLI de AWS con el siguiente comando:

aws ram get-resource-share-invitations

Del resultado del comando anterior, recupere el valor de resourceShareInvitationArn y luego acepta la invitación con el siguiente comando:

aws ram accept-resource-share-invitation 
--resource-share-invitation-arn RESOURCESHAREINVITATIONARN

El flujo de trabajo es el mismo para compartir grupos de funciones con otra cuenta a través de AWS RAM.

Después de compartir algunos grupos de funciones con la cuenta de destino, puede inspeccionar la Tienda de funciones de SageMaker, donde podrá observar que el nuevo catálogo está disponible.

Conceder permisos de acceso

Con permisos de acceso, podemos otorgar permisos en el nivel de recursos del grupo de funciones. Complete los siguientes pasos:

  1. En la cuenta de propietario del catálogo de SageMaker Feature Store, abra la consola AWS RAM.
  2. under Compartido por mi en el panel de navegación, elija Recursos compartidos.
  3. Elige Crear recursos compartidos.
  4. Introduzca un nombre de recurso compartido y elija Grupos de funciones de SageMaker como el tipo de recurso.
  5. Seleccione uno o más grupos de funciones para compartir.
  6. Elige Siguiente.
  7. Para acceso de lectura/escritura, ingrese AWSRAMPermissionSageMakerFeatureGroupReadWrite para Permisos administrados.
  8. Elige Siguiente.
  9. Ingrese su ID de cuenta de consumidor y elija Añada. Puede agregar varias cuentas de consumidores.
  10. Elige Siguiente y complete su recurso compartido.

Ahora el catálogo compartido debería aparecer en la Recursos compartidos .

Puede lograr el mismo resultado utilizando la CLI de AWS con el siguiente comando (proporcione su región, ID de cuenta de propietario, ID de cuenta de consumidor y nombre del grupo de características):

aws ram create-resource-share 
  --name MyCatalogFG 
  --resource-arns arn:aws:sagemaker:REGION:OWNERACCOUNTID:feature-group/FEATUREGROUPNAME 
  --principals CONSACCOUNTID 
  --permission-arns arn:aws:ram::aws:permission/AWSRAMPermissionSageMakerFeatureGroupReadWrite

Hay tres tipos de acceso que puede otorgar a grupos de funciones:

  • AWSRAMPermissionSageMakerFeatureGroupReadOnly – El privilegio de solo lectura permite que las cuentas de consumidores de recursos lean registros en los grupos de funciones compartidas y vean detalles y metadatos.
  • AWSRAMPermissionSageMakerFeatureGroupReadWrite – El privilegio de lectura/escritura permite a las cuentas de consumidores de recursos escribir registros y eliminar registros de los grupos de funciones compartidas, además de permisos de lectura.
  • AWSRAMPermisoSagemakerFeatureGroupAdmin – El privilegio de administrador permite a las cuentas de consumidores de recursos actualizar la descripción y los parámetros de las funciones dentro de los grupos de funciones compartidas y actualizar la configuración de los grupos de funciones compartidas, además de los permisos de lectura/escritura.

Aceptar la invitación para compartir recursos

Para aceptar la invitación a compartir recursos, complete los siguientes pasos:

  1. En la cuenta de destino (consumidor), abra la consola de AWS RAM.
  2. under Comparte conmigo en el panel de navegación, elija Recursos compartidos.
  3. Elija el nuevo recurso compartido pendiente.
  4. Elige Aceptar recurso compartido.

El proceso de aceptar el recurso compartido mediante AWS CLI es el mismo que para la sección de descubrimiento anterior, con los comandos get-resource-share-invitations y Accept-resource-share-invitation.

Cuadernos de muestra que muestran esta nueva capacidad

Se agregaron dos cuadernos al taller de la tienda de funciones de SageMaker Repositorio GitHub en la carpeta 09-module-security/09-03-cross-account-access:

  • m9_03_nb1_cross-account-admin.ipynb – Esto debe iniciarse en su cuenta de administrador o propietario de AWS
  • m9_03_nb2_consumidor-cuenta-cruzada.ipynb – Esto debe iniciarse en su cuenta de consumidor de AWS

El primer script muestra cómo crear el recurso compartido de capacidad de descubrimiento para grupos de funciones existentes en la cuenta de administrador o propietario y compartirlo con otra cuenta de consumidor mediante programación mediante la API de RAM de AWS. create_resource_share(). También muestra cómo otorgar permisos de acceso a grupos de funciones existentes en la cuenta del propietario y compartirlos con otra cuenta de consumidor mediante AWS RAM. Debe proporcionar el ID de su cuenta de consumidor de AWS antes de ejecutar el cuaderno.

El segundo script acepta las invitaciones de AWS RAM para descubrir y acceder a grupos de funciones entre cuentas desde el nivel de propietario. Luego muestra cómo descubrir grupos de funciones entre cuentas que están en la cuenta del propietario y enumerarlos en la cuenta del consumidor. También puede ver cómo acceder a los grupos de funciones de lectura/escritura entre cuentas que están en la cuenta del propietario y realizar las siguientes operaciones desde la cuenta del consumidor: describe(), get_record(), ingest()y delete_record().

Conclusión

La capacidad entre cuentas de SageMaker Feature Store ofrece varios beneficios atractivos. En primer lugar, facilita una colaboración fluida al permitir compartir grupos de funciones entre múltiples cuentas de AWS. Esto mejora la accesibilidad y utilización de los datos, lo que permite a los equipos de diferentes cuentas utilizar funciones compartidas para sus flujos de trabajo de aprendizaje automático.

Además, la capacidad entre cuentas mejora la gobernanza y la seguridad de los datos. Con acceso y permisos controlados a través de AWS RAM, las organizaciones pueden mantener un almacén de funciones centralizado y al mismo tiempo garantizar que cada cuenta tenga niveles de acceso personalizados. Esto no sólo agiliza la gestión de datos, sino que también refuerza las medidas de seguridad al limitar el acceso a usuarios autorizados.

Además, la capacidad de compartir grupos de funciones entre cuentas simplifica el proceso de creación e implementación de modelos de aprendizaje automático en un entorno colaborativo. Fomenta un flujo de trabajo más integrado y eficiente, reduciendo la redundancia en el almacenamiento de datos y facilitando la creación de modelos robustos con características compartidas de alta calidad. En general, la capacidad entre cuentas de Feature Store optimiza la colaboración, la gobernanza y la eficiencia en el desarrollo de ML en diversas cuentas de AWS. Pruébalo y cuéntanos lo que piensas en los comentarios.


Acerca de los autores

ioan catana es arquitecto senior de soluciones especializado en inteligencia artificial y aprendizaje automático en AWS. Ayuda a los clientes a desarrollar y escalar sus soluciones de aprendizaje automático en la nube de AWS. Ioan tiene más de 20 años de experiencia, principalmente en diseño de arquitectura de software e ingeniería de nube.

Philipp Kaindl es arquitecto senior de soluciones de aprendizaje automático e inteligencia artificial en AWS. Con experiencia en ciencia de datos e ingeniería mecánica, su enfoque es capacitar a los clientes para crear un impacto comercial duradero con la ayuda de la IA. Fuera del trabajo, Philipp disfruta jugando con impresoras 3D, navegando y haciendo senderismo.

Dhaval Shah es arquitecto de soluciones senior en AWS, especializado en aprendizaje automático. Con un fuerte enfoque en empresas nativas digitales, capacita a los clientes para que utilicen AWS e impulsen el crecimiento de su negocio. Como entusiasta del aprendizaje automático, a Dhaval lo impulsa su pasión por crear soluciones impactantes que generen cambios positivos. En su tiempo libre, se entrega a su amor por los viajes y disfruta de momentos de calidad con su familia.

Mizanur Rahman es ingeniero de software senior para Amazon SageMaker Feature Store con más de 10 años de experiencia práctica especializada en IA y ML. Con una sólida base tanto en teoría como en aplicaciones prácticas, tiene un doctorado. en Detección de Fraude mediante Aprendizaje Automático, lo que refleja su dedicación para avanzar en el campo. Su experiencia abarca un amplio espectro, abarcando arquitecturas escalables, computación distribuida, análisis de big data, microservicios e infraestructuras de nube para organizaciones.

punto_img

Información más reciente

punto_img