Desarrollo

Blocs de notas administrados para modelos de escritura

Amazon SageMaker provee instancias completamente administradas que ejecutan blocs de notas de Jupyter para entrenar el análisis y el preprocesamiento de datos. Estos blocs de notas incluyen controladores CUDA y cuDNN para plataformas de aprendizaje profundo conocidas, paquetes de Anaconda y bibliotecas para TensorFlow, Apache MXNet y Chainer.

Con un solo clic, puede obtener acceso a un entorno de bloc de notas de aprendizaje automático completamente administrado mediante el uso del conocido formato de bloc de notas de código abierto de Jupyter.

Estos espacios de trabajo de bloc de notas le permiten analizar y visualizar los datos, además de documentar los hallazgos en flujos de trabajo reutilizables mediante el uso de prácticamente todas las bibliotecas, los marcos de trabajo y las interfaces conocidas. Desde el interior del bloc de notas, puede incorporar sus propios datos ya almacenados en Amazon S3. También puede usar AWS Glue para migrar datos fácilmente desde Amazon RDS, Amazon DynamoDB y Amazon Redshift a S3 para realizar análisis. Puede escribir o importar su propio bloc de notas o usar uno de los muchos blocs de notas ya creados que se encuentran cargados en Amazon SageMaker. Los blocs de notas ya creados se encuentran disponibles para todos los algoritmos de aprendizaje automático integrados. Además, se encuentran disponibles plantillas de blocs de notas para ayudarlo a empezar a usar aplicaciones de aprendizaje automático comunes y funcionalidades de Amazon SageMaker más avanzadas.

Plantillas para aplicaciones de aprendizaje automático comunes

Plantillas para funcionalidades de SageMaker avanzadas

Previsión de serie temporal

Use sus propios contenedores para TensorFlow, MXNet y Chainer

Marketing directo focalizado

Incorpore su propio modelo o algoritmo R o scikit

Predicción de rotación de clientes

Partición de datos en entrenamiento distribuido

Algoritmos integrados de alto desempeño

Amazon SageMaker ofrece algoritmos de aprendizaje automático escalables y de alto desempeño que están optimizados para brindar velocidad, escala y precisión. Los algoritmos pueden realizar entrenamientos en conjuntos de datos con escala de petabytes y proveer un desempeño 10 veces superior al de otras implementaciones. Puede elegir algoritmos supervisados en los que las respuestas correctas se conocen durante el entrenamiento y enseñarle al modelo dónde cometió errores. Amazon SageMaker incluye algoritmos supervisados, como regresión lineal/logística y XGBoost, para resolver problemas de predicción de serie temporal y recomendaciones. Amazon SageMaker también admite el aprendizaje no supervisado (es decir, los algoritmos deben encontrar las respuestas correctas por sí mismos), como agrupación de clústeres k-means y análisis de componente principal (PCA), para resolver problemas como la identificación de agrupaciones de clientes en función de su comportamiento de compra.

Amazon SageMaker pone automáticamente a disposición los algoritmos de aprendizaje automático más comunes. Usted tan solo debe especificar el origen de los datos para poder comenzar a ejecutar de inmediato agrupaciones en clústeres k-means para la fragmentación de datos, máquinas de factorización para recomendaciones, previsión de serie temporal, regresión lineal o análisis de componente principal.  

BlazingText Word2Vec Implementación de BlazingText del algoritmo Word2Vec para ajustar la escala y agilizar la generación de inclusiones de palabras a partir de un gran número de documentos.
DeepAR Un algoritmo que genera previsiones precisas mediante el aprendizaje de patrones de muchas series temporales relacionadas a través de redes neuronales recurrentes (RNN).
Máquinas de factorización Un modelo con la capacidad de calcular todas las interacciones entre características inclusive con un volumen muy pequeño de datos.
Árboles con potenciación del gradiente (XGBoost) XGBoost, la abreviatura de árboles con potenciación del gradiente, es una biblioteca de potenciación del gradiente distribuida y optimizada.
Clasificación de imágenes (ResNet) Una red neuronal conocida para el desarrollo de sistemas de clasificación de imágenes.
Agrupación en clústeres k-means Uno de los algoritmos de aprendizaje automático más simples. Se utiliza para encontrar grupos en datos sin etiquetar.

Asignación latente dirichlet (LDA)

Un modelo adecuado para la detección automática de temas principales presentes en un conjunto de archivos de texto.
Aprendizaje lineal (clasificación) La clasificación lineal usa las características de un objeto para identificar el grupo correcto al cual pertenece.
Aprendizaje lineal (regresión) La regresión lineal se utiliza para predecir la relación lineal entre dos variables.
Modelado de temas neuronal (NTM) Una estrategia basada en redes neuronales para temas de aprendizaje a partir de conjuntos de datos de imágenes y textos.
Análisis de componente principal (PCA) Este algoritmo, que se utiliza a menudo para el preprocesamiento de datos, toma una tabla o una matriz de muchas características y la reduce a un número menor de características representativas.
Bosque de corte aleatorio Un algoritmo de aprendizaje automático no supervisado para la detección de anomalías.
Seqence2Sequence Un codificador-decodificador de uso general para texto que se utiliza a menudo para traducción automática, resúmenes de textos, etc.

Estos algoritmos se optimizaron para que su desempeño sea 10 veces más rápido del que podría obtener con implementaciones tradicionales. Una de las estrategias que utilizamos para lograrlo es implementar los algoritmos de una manera tal que no deban regresar y analizar datos que ya observaron. Normalmente, los algoritmos suelen regresar a los conjuntos de datos varias veces para hacer referencia a datos anteriores. Este procedimiento es adecuado para conjuntos de datos pequeños, pero el impacto en el desempeño en el caso de los conjuntos de datos de mayor tamaño puede reducir la velocidad del entrenamiento de manera significativa. Al diseñarse para realizar una única pasada, podrá realizar entrenamientos de manera eficiente y rentable en conjuntos de datos con escala de petabytes.

Amplia compatibilidad con marcos de trabajo

Amazon SageMaker configura y optimiza automáticamente TensorFlow, Apache MXNet y Chainer para que no deba realizar ninguna configuración para poder empezar a usar estos marcos de trabajo. Además, añadiremos otros marcos importantes en los meses venideros. Sin embargo, también puede incorporar cualquier marco que desee en Amazon SageMaker. Para ello, debe crearlo en un contenedor Docker que almacene en Amazon EC2 Container Registry.

Pruebas y prototipos en entornos locales

Los contenedores de Docker de código abierto Apache MXNet y Tensorflow que se usan en Amazon SageMaker están disponibles en Github. Puede descargarlos en su entorno local y usar el SDK para Python de Amazon SageMaker a fin de probar secuencias de comandos antes de la implementación en entornos de entrenamiento u hospedaje de Amazon SageMaker. Cuando esté listo para trasladarse de un entorno de pruebas local a uno de hospedaje o entrenamiento de producción, una modificación en una única línea de código es lo único que deberá hacer.

Entrenamiento

Entrenamiento con un clic

Cuando esté listo para realizar entrenamientos en Amazon SageMaker, solo debe especificar la ubicación de los datos en Amazon S3 e indicar el tipo y el número de instancias de aprendizaje automático de Amazon SageMaker que necesita. A continuación, puede comenzar a trabajar con un único clic en la consola. Amazon SageMaker configura un clúster de cómputo distribuido, realiza el entrenamiento, envía el resultado a Amazon S3 y desmantela el clúster cuando finaliza el proceso.

Entrenar modelos con Amazon SageMaker es sencillo. Tan solo debe especificar la ubicación de los datos en S3 y Amazon SageMaker tomará su algoritmo y lo ejecutará en un clúster de entrenamiento aislado dentro de su propia red definida por software, que está configurada acorde a sus necesidades. Elija el tipo de instancia (incluidas las instancias con GPU P3, ideales para entrenamientos eficientes y ágiles) y Amazon SageMaker creará su clúster en un grupo de escalado automático; adjunte volúmenes de EBS a cada nodo; configure las canalizaciones de datos; y comience a realizar entrenamientos con el script de TensorFlow, MXNet o Chainer, los algoritmos de Amazon o los algoritmos provistos con su contenedor. Una vez finalizado el proceso, se enviarán los resultados a S3 y se desmantelará el clúster automáticamente.

Para simplificar la ejecución de entrenamientos a escala, hemos optimizado la manera en la que los datos de entrenamiento se transmiten desde S3. Mediante la API, puede especificar si desea que todos los datos se envíen a cada nodo del clúster o si le gustaría que Amazon SageMaker administrara la distribución de los datos entre los nodos en función de las necesidades del algoritmo.

Combinada con los algoritmos integrados, la escalabilidad del entrenamiento posible con Amazon SageMaker puede reducir radicalmente los plazos y el costo de las ejecuciones de entrenamientos.

Ajuste de modelo automático

Amazon SageMaker puede ajustar automáticamente su modelo mediante la adecuación de miles de combinaciones diferentes de parámetros de algoritmos para lograr las predicciones más precisas que el modelo es capaz de producir.

Cuando se encuentre ajustando el modelo para que sea más preciso, tendrá dos opciones principales: modificar los datos entrantes que suministra al modelo (por ejemplo, tomar el log de un número) y ajustar los parámetros del algoritmo. Estos se denominan hiperparámetros y encontrar los valores correctos puede ser una tarea ardua. Normalmente, comenzará al azar e iterará a través de los ajustes a medida que comience a ver las consecuencias de los cambios. Puede ser un ciclo prolongado en función de la cantidad de hiperparámetros que tenga el modelo.

Amazon SageMaker simplifica este proceso mediante el suministro del ajuste de modelo automático como una opción durante el entrenamiento. Amazon SageMaker usará aprendizaje automático para ajustar su modelo de aprendizaje automático. Funciona mediante el aprendizaje de las consecuencias que diferentes tipos de datos tienen en un modelo y la implementación de dicho conocimiento en varias copias del modelo para buscar rápidamente el mejor resultado posible. Como desarrollador o científico de datos, esto significa que lo único por lo cual deberá preocuparse es por los ajustes que desee realizar en los datos que incorpora al modelo, lo que reduce de manera significativa el número de factores de los cuales debe ocuparse durante el entrenamiento.

Cuando se inicie el ajuste de modelo automático, tan solo debe especificar el número de tareas de entrenamiento mediante la API y Amazon SageMaker se encargará del resto.

Implementación

Implementación con un clic

Puede implementar su modelo con un clic en instancias de aprendizaje automático de Amazon con escalado automático en varias zonas de disponibilidad para lograr un mayor nivel de redundancia. Tan solo debe especificar el tipo de instancia y los valores máximo y mínimo, y Amazon SageMaker se encargará del resto. Lanzará las instancias, implementará el modelo y configurará el punto de enlace HTTPS seguro para la aplicación. La aplicación simplemente debe incluir una llamada de la API a este punto de conexión para lograr una inferencia con alto nivel de procesamiento y baja latencia. La arquitectura permite integrar modelos nuevos en la aplicación en cuestión de minutos porque los cambios realizados en el modelo ya no implican modificaciones en el código de la aplicación.

Pruebas A/B automáticas

Amazon SageMaker también puede administrar pruebas A/B automáticas. Puede configurar el punto de conexión para distribuir tráfico en hasta cinco modelos diferentes y definir el porcentaje de llamadas de inferencia que desea que cada uno controle. Es posible modificar estos parámetros sobre la marcha, lo que le ofrece una amplia flexibilidad para ejecutar pruebas y determinar qué modelo produce realmente los resultados más precisos.

Hospedaje completamente administrado con Auto Scaling

Amazon SageMaker administra la infraestructura de cómputo de producción por usted para realizar comprobaciones de estado, implementar parches de seguridad y realizar otros mantenimientos de rutina, todo con registros y monitorización de Amazon CloudWatch integrados

Más información sobre los precios de Amazon SageMaker

Visite la página de precios
¿Listo para comenzar?
Inscribirse
¿Tiene más preguntas?
Contacte con nosotros