El aprendizaje automático es una industria enorme y cuenta con mucho apoyo en AWS. Analizaremos los mejores servicios para crear, capacitar y ejecutar modelos de aprendizaje automático personalizados y preconfigurados en la plataforma de AWS.
SageMaker
SageMaker es la suite de aprendizaje automático completamente administrada de AWS, diseñada para reemplazar todo el trabajo manual relacionado con la configuración de servidores para capacitación e inferencia. Desde SageMaker, puede crear y entrenar modelos utilizando conjuntos de datos que proporcione, con todo su trabajo guardado en un "cuaderno". Esta es la experiencia más completa que encontrará en AWS para ejecutar modelos de aprendizaje automático.
SageMaker se encargará de la creación de instancias de capacitación preconfiguradas automáticamente, lo que puede ahorrarle mucho dinero en tiempo perdido configurando una costosa instancia de capacitación. SageMaker también tiene un mercado de algoritmos, similar a Amazon Machine Images, que puede ejecutar en la plataforma. Algunas son gratuitas, mientras que otras cuestan una tarifa por hora.
Una vez que tiene un modelo, la implementación es bastante fácil. Todo lo que tendrá que hacer es agregar su modelo a la configuración de su terminal,

Y elige el tipo de instancia (y los aceleradores de Elastic Inference opcionales) que te gustaría usar.

También puede usar el modelo en trabajos de transformación por lotes para ejecutar la inferencia en un conjunto de datos completo y almacenar los resultados en S3.
Sin embargo, aunque SageMaker es "de uso gratuito", no es exactamente de uso gratuito. SageMaker solo le permite implementar en instancias especiales, indicadas con el prefijo "
ml.". Estos son efectivamente los mismos que las instancias EC2 regulares, pero con una diferencia clave: cuestan un 40% más, en general. Si está utilizando SageMaker, esta es la tarifa que deberá pagar. SageMaker admite instancias de spot, lo que puede ayudar a reducir los costos, pero seguirá siendo más costoso que EC2.
Si bien SageMaker permite el uso de complementos aceleradores de Elastic Inference, también están sujetos al mismo aumento de precio del 40 %.
Inferencia elástica + EC2
Si prefiere configurar las cosas usted mismo, o quiere ahorrar algo de dinero en las instancias de SageMaker demasiado caras, siempre está el viejo EC2 normal. Esto le da la libertad de configurar sus servidores como desee y tener control total sobre los servicios instalados en él.
Los modelos de entrenamiento generalmente serán mucho más intensivos que ejecutar inferencias. Aquí es donde SageMaker puede tener una ventaja: al ser un servicio completamente administrado, solo paga por el tiempo que dedica a la capacitación, no por el tiempo que pasa esperando el inicio, configurando servidores con sus datos y terminando después de que haya terminado. Aun así, EC2 puede detenerse e iniciarse a voluntad, y las instancias de spot son perfectas para esta tarea, lo que hace que no sea un gran problema en la práctica.
Sin embargo, ejecutar la inferencia en producción a menudo no requiere toda la potencia de una GPU completa, que es costosa de ejecutar. Para combatir esto, AWS proporciona un servicio llamado Elastic Inference que le permite alquilar complementos de acelerador de GPU para instancias EC2 existentes. Estos se pueden adjuntar a instancias de cualquier tipo y se cobran por hora en función de la potencia del acelerador, proporcionando esencialmente un SKU completamente nuevo de instancias de GPU por debajo del poderoso (y costoso)
p3 alineación.

Si bien Elastic Inference no es una plataforma informática en sí misma, le permite acelerar en gran medida su inferencia con la aceleración de la GPU por una fracción del costo. La instancia más barata de GPU completa
p3
, la
p3.2xlarge
, cuesta $3.06 por hora para ejecutarse y viene con 8 núcleos, 61 GB de RAM y 16 TFLOPS de rendimiento de GPU. Para una comparación precisa con los aceleradores EI solo de GPU, restaremos los costos de vCPU y RAM. El
m5.4xlarge con especificaciones similares cuesta $ 0,768, por lo que el costo estimado que AWS parece estar vendiendo una sola GPU Tesla V100 es de aproximadamente $ 2,292, más o menos, que es aproximadamente $ 0,143 por TFLOP. El acelerador de EI más económico, que proporciona un único TFLOP de rendimiento, cuesta $0,120, una disminución del 16 % sobre el precio de EC2. La opción de 4 TFLOP es aún mejor: una disminución del 40 % con respecto a EC2.
AWS también proporciona entornos preconfigurados para ejecutar aprendizaje automático con AMI de aprendizaje profundo. Estos vienen preinstalados con marcos e interfaces de ML como TensorFlow, PyTorch, Apache MXNet y muchos otros. Son totalmente gratuitos y están disponibles tanto en Ubuntu como en Amazon Linux.
Los aceleradores de Elastic Inference también son compatibles con Auto Scaling, por lo que podrá configurarlos para que se amplíen para satisfacer la creciente demanda y se reduzcan por la noche cuando no se usan tanto.
Servicios de aprendizaje automático propio de AWS
Si bien estos servicios no le permiten ejecutar sus propios modelos personalizados, brindan muchas funciones útiles para las aplicaciones que utilizan el aprendizaje automático subyacente. En cierto sentido, estos servicios son una interfaz para un modelo de aprendizaje automático que AWS ya ha entrenado y programado.
AWS Personalize es un motor de recomendación de propósito general. Le das una lista de productos, servicios o artículos, y alimentas la actividad del usuario. Escupe recomendaciones de cosas nuevas para sugerir a ese usuario. Esto se basa en la misma tecnología que impulsa las recomendaciones en Amazon.com.
AWS Lex es un servicio de chatbot totalmente administrado que se puede configurar con comandos y rutinas personalizados, impulsado por la misma tecnología detrás de Alexa. Los bots de chat pueden ser solo de texto o pueden ser bots de voz completamente interactivos que utilizan AWS Transcribe para conversión de voz a texto y AWS Polly para conversión de texto a voz, los cuales también son servicios independientes.
AWS Rekognition realiza el reconocimiento de imágenes en imágenes y videos, una tarea común de aprendizaje automático. Es capaz de reconocer los objetos más comunes, generar palabras clave a partir de imágenes e incluso puede configurarse con etiquetas personalizadas para ampliar aún más las capacidades de detección.