Cree modelos de clasificación de imágenes de alto rendimiento con Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Cree modelos de clasificación de imágenes de alto rendimiento con Amazon SageMaker JumpStart

La clasificación de imágenes es una técnica de aprendizaje automático (ML) basada en visión artificial que le permite clasificar imágenes. Algunos ejemplos bien conocidos de clasificación de imágenes incluyen la clasificación de dígitos escritos a mano, la clasificación de imágenes médicas y el reconocimiento facial. La clasificación de imágenes es una técnica útil con varias aplicaciones comerciales, pero la creación de un buen modelo de clasificación de imágenes no es trivial.

Varias consideraciones pueden desempeñar un papel al evaluar un modelo de ML. Más allá de la precisión del modelo, otras métricas potenciales de importancia son el tiempo de entrenamiento del modelo y el tiempo de inferencia. Dada la naturaleza iterativa del desarrollo del modelo ML, los tiempos de entrenamiento más rápidos permiten a los científicos de datos probar rápidamente varias hipótesis. Una inferencia más rápida puede ser fundamental en las aplicaciones en tiempo real.

JumpStart de Amazon SageMaker proporciona ajuste e implementación con un solo clic de una amplia variedad de modelos preentrenados en tareas populares de ML, así como una selección de soluciones integrales que resuelven problemas comerciales comunes. Estas características eliminan el trabajo pesado de cada paso del proceso de ML, lo que facilita el desarrollo de modelos de alta calidad y reduce el tiempo de implementación. API JumpStart le permite implementar y ajustar mediante programación una amplia selección de modelos preentrenados compatibles con JumpStart en sus propios conjuntos de datos.

Puede entrenar y ajustar de forma incremental los modelos de ML que se ofrecen en JumpStart antes de la implementación. En el momento de escribir este artículo, JumpStart dispone de 87 modelos de clasificación de imágenes basados ​​en aprendizaje profundo.

Pero, ¿qué modelo te dará los mejores resultados? En esta publicación, presentamos una metodología para ejecutar fácilmente múltiples modelos y comparar sus resultados en tres dimensiones de interés: precisión del modelo, tiempo de entrenamiento y tiempo de inferencia.

Resumen de la solución

JumpStart le permite entrenar, ajustar e implementar modelos desde la consola de JumpStart usando su interfaz de usuario o con su API. En esta publicación, usamos la ruta API y presentamos un cuaderno con varias secuencias de comandos auxiliares. Puede ejecutar este cuaderno y obtener resultados para comparar fácilmente estos modelos entre sí, y luego elegir el modelo que mejor se adapte a sus necesidades comerciales en términos de precisión del modelo, tiempo de capacitación y tiempo de inferencia.

El conjunto de datos públicos utilizado en esta publicación consta de casi 55,000 imágenes de hojas de plantas sanas y enfermas recolectadas bajo condiciones controladas, con etiquetas de clase que van de 0 a 38. Este conjunto de datos se divide en conjuntos de datos de entrenamiento y validación, con aproximadamente 44,000 11,000 en entrenamiento y XNUMX XNUMX imágenes en validación. Las siguientes son algunas imágenes de muestra.

Para este ejercicio, seleccionamos modelos de dos marcos, PyTorch y TensorFlow, que ofrece JumpStart. Los siguientes 15 algoritmos modelo cubren una amplia gama de arquitecturas de redes neuronales populares de estos marcos:

  • pytorch-ic-alexnet-FT
  • pytorch-ic-densenet121-FT
  • pytorch-ic-densenet201-FT
  • pytorch-ic-googlenet-FT
  • pytorch-ic-mobilenet-v2-FT
  • pytorch-ic-resnet152-FT
  • pytorch-ic-resnet34-FT
  • tensorflow-ic-bit-s-r101x1-ilsvrc2012-classification-1-FT
  • tensorflow-ic-imagenet-inception-resnet-v2-classification 4-FT
  • tensorflow-ic-imagenet-inception-v3-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-050-224-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-075-224-classification-4-FT
  • tensorflow-ic-imagenet-mobilenet-v2-140-224-classification-4-FT
  • tensorflow-ic-imagenet-resnet-v2-152-classification-4-FT
  • tensorflow-ic-tf2-preview-mobilenet-v2-classification-4-FT

Usamos el modelo tensorflow-ic-imagenet-inception-v3-classification-4-FT como base contra la cual se comparan los resultados de otros modelos. Este modelo base fue elegido arbitrariamente.

El código utilizado para ejecutar esta comparación está disponible en el Repositorio de GitHub de ejemplos de AWS.

Resultados

En esta sección, presentamos los resultados de estas 15 ejecuciones. Para todas estas ejecuciones, los hiperparámetros utilizados fueron épocas = 5, tasa de aprendizaje = 0.001, tamaño de lote = 16.

Precisión del modelo, tiempo de entrenamiento y tiempo de inferencia del modelo tensorflow-ic-imagenet-inception-v3-classification-4-FT se tomaron como base, y los resultados de todos los demás modelos se presentan en relación con este modelo base. Nuestra intención aquí no es mostrar qué modelo es el mejor, sino mostrar cómo, a través de la API JumpStart, puede comparar los resultados de varios modelos y luego elegir el modelo que mejor se adapte a su caso de uso.

La siguiente captura de pantalla destaca el modelo base con el que se compararon todos los demás modelos.

Cree modelos de clasificación de imágenes de alto rendimiento con Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

El siguiente gráfico muestra una vista detallada de la precisión relativa frente al tiempo de entrenamiento relativo. Los modelos de PyTorch están codificados por color en rojo y los modelos de TensorFlow en azul.

Cree modelos de clasificación de imágenes de alto rendimiento con Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Los modelos resaltados con una elipse verde en el gráfico anterior parecen tener una buena combinación de precisión relativa y tiempo de entrenamiento relativo bajo. La siguiente tabla proporciona más detalles sobre estos tres modelos.

Nombre de Modelo Precisión relativa Tiempo de entrenamiento relativo
tensorflow-ic-imagenet-mobilenet-v2-050-224-clasificación-4-FT 1.01 0.74
tensorflow-ic-imagenet-mobilenet-v2-140-224-clasificación-4-FT 1.02 0.74
tensorflow-ic-bit-s-r101x1-ilsvrc2012-clasificación-1-FT 1.04 1.16

La siguiente gráfica compara la precisión relativa frente al tiempo de inferencia relativo. Los modelos de PyTorch están codificados por color en rojo y los modelos de TensorFlow en azul.

Cree modelos de clasificación de imágenes de alto rendimiento con Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

La siguiente tabla proporciona detalles sobre los tres modelos en la elipse verde.

Nombre de Modelo Precisión relativa Tiempo de inferencia relativo
tensorflow-ic-imagenet-mobilenet-v2-050-224-clasificación-4-FT 1.01 0.94
tensorflow-ic-imagenet-mobilenet-v2-140-224-clasificación-4-FT 1.02 0.90
tensorflow-ic-bit-s-r101x1-ilsvrc2012-clasificación-1-FT 1.04 1.43

Los dos gráficos demuestran claramente que ciertos algoritmos del modelo se desempeñaron mejor que otros en las tres dimensiones que se seleccionaron. La flexibilidad que ofrece este ejercicio puede ayudarlo a elegir el algoritmo correcto y, al usar el cuaderno provisto, puede ejecutar fácilmente este tipo de experimento en cualquiera de los 87 modelos disponibles.

Conclusión

En esta publicación, mostramos cómo usar JumpStart para crear modelos de clasificación de imágenes de alto rendimiento en múltiples dimensiones de interés, como la precisión del modelo, el tiempo de entrenamiento y la latencia de inferencia. También proporcionamos el código para ejecutar este ejercicio en su propio conjunto de datos; puede elegir cualquier modelo de interés de los 87 modelos que están actualmente disponibles para la clasificación de imágenes en el centro de modelos de JumpStart. Te animamos a que lo pruebes hoy.

Para obtener más detalles sobre JumpStart, consulte Inicio rápido de SageMaker.


Acerca de los autores

Cree modelos de clasificación de imágenes de alto rendimiento con Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Dr. Raju Penmatcha es un arquitecto de soluciones especializado en IA/ML en plataformas de IA en AWS. Recibió su doctorado de la Universidad de Stanford. Trabaja de cerca en el conjunto de servicios de código bajo/sin código en SageMaker, que ayuda a los clientes a crear e implementar fácilmente modelos y soluciones de aprendizaje automático. Cuando no está ayudando a los clientes, le gusta viajar a nuevos lugares.

Cree modelos de clasificación de imágenes de alto rendimiento con Amazon SageMaker JumpStart PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Dr. Ashish Khetan es científico senior aplicado con algoritmos integrados de Amazon SageMaker y ayuda a desarrollar algoritmos de aprendizaje automático. Obtuvo su doctorado en la Universidad de Illinois Urbana-Champaign. Es un investigador activo en aprendizaje automático e inferencia estadística, y ha publicado muchos artículos en conferencias NeurIPS, ICML, ICLR, JMLR, ACL y EMNLP.

Sello de tiempo:

Mas de Aprendizaje automático de AWS