Analice el gasto de Amazon SageMaker y determine las oportunidades de optimización de costos en función del uso, Parte 4: Trabajos de capacitación | Servicios web de Amazon

Analice el gasto de Amazon SageMaker y determine las oportunidades de optimización de costos en función del uso, Parte 4: Trabajos de capacitación | Servicios web de Amazon

En 2021, lanzamos Servicios proactivos de AWS Support como parte de la Soporte empresarial de AWS plan. Desde su presentación, hemos ayudado a cientos de clientes a optimizar sus cargas de trabajo, establecer barreras y mejorar la visibilidad del costo y el uso de sus cargas de trabajo de aprendizaje automático (ML).

En esta serie de publicaciones, compartimos lecciones aprendidas sobre la optimización de costos en Amazon SageMaker. En esta publicación, nos enfocamos en los trabajos de capacitación de SageMaker.

Trabajos de capacitación de SageMaker

Los trabajos de entrenamiento de SageMaker son procesos por lotes asincrónicos con características integradas para el entrenamiento y la optimización del modelo ML.

Con los trabajos de capacitación de SageMaker, puede traer su propio algoritmo o elegir entre más de 25 algoritmos integrados. SageMaker admite varias fuentes de datos y patrones de acceso, capacitación distribuida que incluye clústeres heterogéneos, así como funciones de administración de experimentos y ajuste automático de modelos.

El costo de un trabajo de capacitación se basa en los recursos que usa (instancias y almacenamiento) durante la duración (en segundos) que esas instancias se ejecutan. Esto incluye la hora en que se lleva a cabo el entrenamiento y, si está utilizando el función de piscina caliente, el período de actividad que configure. En Parte 1, mostramos cómo comenzar a usar Explorador de costos de AWS para identificar oportunidades de optimización de costos en SageMaker. Puede filtrar los costos de capacitación aplicando un filtro en el tipo de uso. Los nombres de estos tipos de uso son los siguientes:

  • REGION-Train:instanceType (por ejemplo, USE1-Train:ml.m5.large)
  • REGION-Train:VolumeUsage.gp2 (por ejemplo, USE1-Train:VolumeUsage.gp2)

Para ver un desglose de sus costos de capacitación en Cost Explorer, puede ingresar train: como prefijo para Tipo de uso. Si filtra solo por horas utilizadas (vea la siguiente captura de pantalla), Cost Explorer generará dos gráficos: Costo y Uso. Esta vista lo ayudará a priorizar sus oportunidades de optimización e identificar qué instancias son costosas y de larga duración.

Analice el gasto de Amazon SageMaker y determine las oportunidades de optimización de costos según el uso, Parte 4: Trabajos de capacitación | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Antes de optimizar un trabajo de capacitación existente, recomendamos seguir las mejores prácticas cubiertas en Optimización de costos para el aprendizaje automático con Amazon SageMaker: prueba tu código localmente y usa modo local para las pruebas, use modelos previamente entrenados cuando sea posible, y considere entrenamiento localizado administrado (que puede optimizar el costo hasta en un 90 % con respecto a las instancias bajo demanda).

Cuando se inicia un trabajo bajo demanda, pasa por cinco fases: inicio, descarga, capacitación, carga y finalización. Puede ver esas fases y descripciones en la página del trabajo de capacitación en la consola de SageMaker.

Analice el gasto de Amazon SageMaker y determine las oportunidades de optimización de costos según el uso, Parte 4: Trabajos de capacitación | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Desde una perspectiva de precios, se le cobra por las fases de Descarga, Capacitación y Carga.

Revisar estas fases es un primer paso para diagnosticar dónde optimizar sus costos de capacitación. En esta publicación, discutimos las fases de Descarga y Entrenamiento.

Fase de descarga

En el ejemplo anterior, la fase de descarga tomó menos de un minuto. Sin embargo, si la descarga de datos es un factor importante de su costo de capacitación, debe considerar la fuente de datos que está utilizando y los métodos de acceso. Los trabajos de capacitación de SageMaker admiten tres fuentes de datos de forma nativa: Sistema de archivos elástico de Amazon (EFS de Amazon), Servicio de almacenamiento simple de Amazon (Amazon S3), y Amazon FSx para Lustre. Para Amazon S3, SageMaker ofrece tres formas administradas en las que su algoritmo puede acceder al entrenamiento: modo de archivo (donde los datos se descargan al almacenamiento de bloques de la instancia), modo de canalización (los datos se transmiten a la instancia, eliminando así la duración de la fase de descarga) y el modo de archivo rápido (combina la facilidad de uso del modo de archivo existente con el rendimiento del modo de tubería). Para obtener orientación detallada sobre cómo elegir la fuente de datos y los métodos de acceso correctos, consulte Elija la mejor fuente de datos para su trabajo de capacitación de Amazon SageMaker.

Cuando se utiliza el entrenamiento puntual administrado, las fases de descarga repetidas que se produjeron debido a una interrupción no se cobran (por lo que solo se le cobra por la duración de la descarga de datos una vez).

Es importante tener en cuenta que, aunque los trabajos de capacitación de SageMaker admiten las fuentes de datos que mencionamos, no son obligatorios. En su código de entrenamiento, puede implementar cualquier método para descargar los datos de entrenamiento desde cualquier fuente (siempre que la instancia de entrenamiento pueda acceder a ellos). Hay formas adicionales de acelerar el tiempo de descarga, como usar la API de Boto3 con multiprocesamiento para descargar archivos simultáneamente o usar bibliotecas de terceros como WebDataset o s5cmd para una descarga más rápida desde Amazon S3. Para obtener más información, consulte Paralelización de cargas de trabajo de S3 con s5cmd.

Fase de entrenamiento

La optimización del coste de la fase de formación consiste en optimizar dos vectores: elegir la infraestructura adecuada (familia de instancias y tamaño) y optimizar la propia formación. Podemos dividir aproximadamente las instancias de capacitación en dos categorías: basadas en GPU aceleradas, principalmente para modelos de aprendizaje profundo, y basadas en CPU para marcos de trabajo de ML comunes. Para obtener orientación sobre cómo seleccionar la familia de instancias adecuada para el entrenamiento, consulte Garantice recursos informáticos eficientes en Amazon SageMaker. Si su capacitación requiere instancias de GPU, le recomendamos consultar el video Cómo seleccionar instancias de GPU Amazon EC2 para aprendizaje profundo.

Como guía general, si su carga de trabajo requiere una GPU NVIDIA, descubrimos que los clientes obtienen ahorros de costos significativos con dos Nube informática elástica de Amazon (Amazon EC2) tipos de instancia: ml.g4dn y ml.g5. El ml.g4dn está equipado con NVIDIA T4 y ofrece un costo por memoria particularmente bajo. La instancia ml.g5 está equipada con NVIDIA A10g Tensor Core y tiene el menor costo por flop CUDA (fp32).

AWS ofrece características de ahorro de costos específicas para la capacitación de aprendizaje profundo:

Para dimensionar correctamente y optimizar su instancia, primero debe mirar el Reloj en la nube de Amazon métricas que generan los trabajos de capacitación. Para obtener más información, consulte Trabajos de SageMaker y métricas de terminales. Puede seguir usando CloudWatch métricas de algoritmos personalizados para monitorear el rendimiento del entrenamiento.

Analice el gasto de Amazon SageMaker y determine las oportunidades de optimización de costos según el uso, Parte 4: Trabajos de capacitación | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Estas métricas pueden indicar cuellos de botella o sobreaprovisionamiento de recursos. Por ejemplo, si está observando una CPU alta con un uso bajo de GPU, puede solucionar el problema usando clústeres heterogéneos. Otro ejemplo puede ser ver una utilización baja constante de la CPU a lo largo de la duración del trabajo, lo que puede llevar a reducir el tamaño de la instancia.

Si estás usando entrenamiento distribuido, debe probar diferentes métodos de distribución (torre, Ring-AllReduce, espejo, etc.) para validar la utilización máxima y ajustar los parámetros de su marco en consecuencia (para ver un ejemplo, consulte Prácticas recomendadas para el entrenamiento de aceleración de TensorFlow 1.x en Amazon SageMaker). Es importante resaltar que puede usar la API de distribución de SageMaker y bibliotecas como Paralelo de datos distribuidos de SageMaker, Modelo paralelo de SageMakery Datos fragmentados de SageMaker en paralelo, que están optimizados para la infraestructura de AWS y ayudan a reducir los costos de capacitación.

Tenga en cuenta que el entrenamiento distribuido no se escala necesariamente de forma lineal y puede generar algunos gastos generales, lo que afectará el tiempo de ejecución general.

Para los modelos de aprendizaje profundo, otra técnica de optimización es el uso de precisión mixta. La precisión mixta puede acelerar el entrenamiento, lo que reduce tanto el tiempo de entrenamiento como el uso de la memoria con un impacto mínimo o nulo en la precisión del modelo. Para obtener más información, consulte el Entrena con Data Parallel y Model Parallel sección en Capacitación distribuida en Amazon SageMaker.

Finalmente, optimizar los parámetros específicos del marco puede tener un impacto significativo en la optimización del proceso de entrenamiento. Ajuste automático del modelo SageMaker encuentra los hiperparámetros que funcionan mejor, medidos por una métrica objetiva que elija. Establecer el tiempo de entrenamiento como una métrica objetiva y la configuración del marco como hiperparámetros puede ayudar a eliminar los cuellos de botella y reducir el tiempo total de entrenamiento. Para ver un ejemplo de cómo optimizar la configuración predeterminada de TensorFlow y eliminar un cuello de botella de la CPU, consulte Aerobotics mejora la velocidad de entrenamiento 24 veces por muestra con Amazon SageMaker y TensorFlow.

Otra oportunidad para optimizar tanto el tiempo de descarga como el de procesamiento es considerar la capacitación en un subconjunto de sus datos. Si sus datos consisten en múltiples entradas duplicadas o funciones con poca ganancia de información, es posible que pueda entrenar en un subconjunto de datos y reducir el tiempo de descarga y entrenamiento, así como usar una instancia más pequeña y Tienda de bloques elásticos de Amazon (Amazon EBS) volumen. Para ver un ejemplo, consulte Utilice un enfoque centrado en los datos para minimizar la cantidad de datos necesarios para entrenar modelos de Amazon SageMaker. Además, Wrangler de datos de Amazon SageMaker puede simplificar el análisis y la creación de muestras de entrenamiento. Para obtener más información, consulte Cree muestras aleatorias y estratificadas de datos con Amazon SageMaker Data Wrangler.

Depurador de SageMaker

Para garantizar una capacitación y una utilización de los recursos eficientes, SageMaker puede perfilar su trabajo de capacitación mediante Depurador de Amazon SageMaker. Ofertas de depurador reglas incorporadas para alertar sobre problemas comunes que afectan su entrenamiento, como cuellos de botella de CPU, aumento de memoria de GPU o cuellos de botella de E/S, o puede crear sus propias reglas. Puede acceder y analizar el informe generado en Estudio Amazon SageMaker. Para obtener más información, consulte Interfaz de usuario del depurador de Amazon SageMaker en experimentos de Amazon SageMaker Studio. La siguiente captura de pantalla muestra la vista del depurador en Studio.

Analice el gasto de Amazon SageMaker y determine las oportunidades de optimización de costos según el uso, Parte 4: Trabajos de capacitación | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.

Puede profundizar en los operadores y funciones de Python (el Principales operaciones en GPU sección) que se ejecutan para realizar el trabajo de entrenamiento. Las reglas integradas del depurador para crear perfiles de problemas relacionados con la operación del marco de observación, incluido el tiempo excesivo de inicialización del entrenamiento debido a la descarga de datos antes de que comience el entrenamiento y los valores atípicos de la duración del paso en los bucles de entrenamiento. Debe tener en cuenta que, si bien el uso de las reglas integradas es gratuito, los costos de las reglas personalizadas se aplican en función de la instancia que configure para la duración del trabajo de capacitación y el almacenamiento adjunto.

Conclusión

En esta publicación, brindamos orientación sobre el análisis de costos y las mejores prácticas al entrenar modelos ML con trabajos de entrenamiento de SageMaker. A medida que el aprendizaje automático se establece como una herramienta poderosa en todas las industrias, la capacitación y la ejecución de modelos ML deben seguir siendo rentables. SageMaker ofrece un amplio y profundo conjunto de funciones para facilitar cada paso en la canalización de ML y brinda oportunidades de optimización de costos sin afectar el rendimiento o la agilidad.


Acerca de los autores

Analice el gasto de Amazon SageMaker y determine las oportunidades de optimización de costos según el uso, Parte 4: Trabajos de capacitación | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.Deepali Rajale es especialista sénior en inteligencia artificial y aprendizaje automático en AWS. Trabaja con clientes empresariales brindando orientación técnica con las mejores prácticas para implementar y mantener soluciones de IA/ML en el ecosistema de AWS. Ha trabajado con una amplia gama de organizaciones en varios casos de uso de aprendizaje profundo que involucran NLP y visión artificial. Le apasiona empoderar a las organizaciones para que aprovechen la IA generativa para mejorar su experiencia de uso. En su tiempo libre, disfruta del cine, la música y la literatura.

Analice el gasto de Amazon SageMaker y determine las oportunidades de optimización de costos según el uso, Parte 4: Trabajos de capacitación | Amazon Web Services PlatoBlockchain Inteligencia de datos. Búsqueda vertical. Ai.uri rosenberg es el gerente técnico especialista en inteligencia artificial y aprendizaje automático para Europa, Medio Oriente y África. Con sede en Israel, Uri trabaja para empoderar a los clientes empresariales en todo lo relacionado con ML para diseñar, construir y operar a escala. En su tiempo libre, disfruta del ciclismo, el senderismo y la entropía creciente.

Sello de tiempo:

Mas de Aprendizaje automático de AWS