Antes de que podamos construir nuestra plantilla de CloudFormation, debemos comprender lo que necesitamos para nuestro punto final de SageMaker. Para este caso de uso, implementaremos un modelo de Sklearn entrenado previamente en un punto final en tiempo real de SageMaker. Utilizando la siguiente secuencia de comandos, podemos ejecutar rápidamente un modelo de regresión lineal y producir un artefacto de datos del modelo. Por lo general, con SageMaker Inference también necesita una secuencia de comandos de inferencia que controle su procesamiento previo y posterior con código personalizado. Script de inferencia SageMaker Inference espera que estos datos del modelo y la secuencia de comandos de inferencia se empaqueten en un tarball, por lo que ejecutamos la siguiente secuencia de comandos para convertir estos recursos en el formato esperado y cárguelo en un S3 Bucket. Crear y cargar model.tar.gz Ahora que tenemos nuestro artefacto modelo, podemos proceder a trabajar con CloudFormation.
Una plantilla de CloudFormation es un archivo yaml o json en el que define toda su infraestructura. Los parámetros de CloudFormation le permiten inyectar valores personalizados en sus plantillas. A continuación, puede hacer referencia a estos parámetros a medida que define sus recursos. Para este caso, proporcionamos valores predeterminados, pero puede anularlos a través de la CLI si lo desea. Para SageMaker Endpoints, los siguientes parámetros son los que tenemos que definir (tenga en cuenta que puede nombrarlos como desee, solo asegúrese de hacer referencia a ellos cuando los nombre):RolARN: la función de ejecución de SageMaker a la que otorga permisos. Reemplace el valor del rol predeterminado con su rol de IAM que ha definido para el recurso de SageMaker.ImagenURI: este es el URI de imagen que puede recuperar de los contenedores de aprendizaje profundo existentes que proporciona AWS o su propio URI de imagen personalizado de ECR si realizó una implementación BYOC. Para este ejemplo, tenemos un modelo de Sklearn, por lo que hemos obtenido la versión adecuada para ese contenedor administrado. Imagen de SklearnModelData: Este es el script de inferencia y el artefacto del modelo que empaquetamos juntos y cargamos en un S3 Bucket.InstanceType & InstanceCount: El hardware que está definiendo para su terminal, cámbielo de forma adecuada para Inferencia sin servidor (tamaño de memoria y simultaneidad). Configuración de la instancia Ahora tenemos los parámetros necesarios para implementar un terminal en tiempo real de SageMaker, centrémonos en definir nuestros recursos a continuación.
Para implementar un SageMaker Endpoint, hay tres entidades principales que van de la mano: SageMaker Model, SageMaker Endpoint Configuration y SageMaker Endpoint. La entidad de modelo de SageMaker define la imagen y los datos del modelo que usamos para la implementación y es nuestro primer recurso que creamos. A continuación, hacemos casi lo mismo con la Configuración de punto final, donde definimos la configuración de la instancia detrás de nuestro punto final. Configuración de punto final de SageMaker Ahora apuntamos a este recurso mientras definimos el último paso en nuestro punto final de SageMaker. Creación de punto final de SageMaker Con la CLI de AWS, podemos implementar esta pila de CloudFormation apuntando hacia nuestro archivo yaml. Implementar CloudFormation Stack Podemos verificar esto en la Consola y después de unos minutos debería ver los tres recursos creados.
Puede encontrar el código completo para el ejemplo en el enlace de arriba. AWS CloudFormation es una herramienta extremadamente poderosa que facilita la captura de sus recursos de AWS en una plantilla central. Sin Infraestructura como código, se vuelve realmente difícil iterar en el ciclo de vida del software y eso también se aplica a los servicios de ML como SageMaker. Espero que este artículo haya sido útil para aquellos interesados en SageMaker, CloudFormation y AWS en general.
Los días felices de la PDA y Blackberry han quedado definitivamente atrás, pero el factor…
Tutorial sobre cómo pronosticar usando un modelo autorregresivo en PythonFoto de Aron Visuals en UnsplashForecasting…
Si tienes un iPhone, los AirPods Pro son la opción obvia para escuchar música, ¡aunque…
Ilustración de Alex Castro / The Verge Plus nuevos rumores sobre el quinto Galaxy Fold.…
Se rumorea que los auriculares premium de próxima generación de Apple, los AirPods Max 2,…
El desarrollador Motive Studio y el editor EA han lanzado un nuevo tráiler de la…