El contenido y las opiniones de esta publicación pertenecen al autor externo y AWS no es responsable del contenido o la precisión de esta publicación.
A medida que más organizaciones utilizan técnicas de aprendizaje profundo, como la visión por computadora y el procesamiento del lenguaje natural, la persona del desarrollador de aprendizaje automático (ML) necesita herramientas escalables en torno al seguimiento de experimentos, el linaje y la colaboración. El seguimiento de experimentos incluye metadatos como el sistema operativo, la infraestructura utilizada, la biblioteca y los conjuntos de datos de entrada y salida, a menudo rastreados en una hoja de cálculo manualmente. El linaje implica el seguimiento de los conjuntos de datos, las transformaciones y los algoritmos utilizados para crear un modelo de ML. La colaboración incluye a los desarrolladores de ML que trabajan en un solo proyecto y también a los desarrolladores de ML que comparten sus resultados entre equipos y con las partes interesadas del negocio, un proceso que se suele realizar por correo electrónico, capturas de pantalla y presentaciones de PowerPoint.
En esta publicación, entrenamos un modelo para identificar objetos para un caso de uso de un vehículo autónomo utilizando pesos y sesgos (W&B) y Amazon SageMaker. Mostramos cómo la solución conjunta reduce el trabajo manual para el desarrollador de ML, crea más transparencia en el proceso de desarrollo de modelos y permite que los equipos colaboren en proyectos.
Ejecutamos este ejemplo en Estudio Amazon SageMaker para que pruebes por ti mismo.
Resumen de ponderaciones y sesgos
Weights & Biases ayuda a los equipos de ML a construir mejores modelos más rápido. Con solo unas pocas líneas de código en su computadora portátil SageMaker, puede depurar, comparar y reproducir instantáneamente sus modelos (arquitectura, hiperparámetros, confirmaciones de git, pesos de modelo, uso de GPU, conjuntos de datos y predicciones) todo mientras colabora con sus compañeros de equipo.
Más de 200,000 XNUMX profesionales de ML de algunas de las empresas y organizaciones de investigación más innovadoras del mundo confían en W&B. Para probarlo gratis, regístrate en Pesos y sesgosO visite el Listado de W&B AWS Marketplace.
Primeros pasos con SageMaker Studio
SageMaker Studio es el primer entorno de desarrollo completamente integrado (IDE) para ML. Studio proporciona una única interfaz basada en web donde los profesionales de ML y los científicos de datos pueden crear, entrenar e implementar modelos con unos pocos clics, todo en un solo lugar.
Para comenzar con Studio, necesita una cuenta de AWS y un Gestión de identidades y accesos de AWS (IAM) usuario o rol con permisos para crear un dominio de Studio. Referirse a Incorporación al dominio de Amazon SageMaker para crear un dominio, y el Documentación de estudio para obtener una descripción general sobre el uso de la interfaz visual y los cuadernos de Studio.
Configurar el entorno
Para esta publicación, estamos interesados en ejecutar nuestro propio código, así que importemos algunos cuadernos de GitHub. Usamos lo siguiente Repositorio GitHub como ejemplo, así que vamos a cargar este cuaderno.
Puede clonar un repositorio a través del terminal o de la interfaz de usuario de Studio. Para clonar un repositorio a través de la terminal, abra una terminal del sistema (en la Archive menú, seleccione Nuevo y terminal) e ingrese el siguiente comando:
Para clonar un repositorio desde la interfaz de usuario de Studio, consulte Clonar un repositorio de Git en SageMaker Studio.
Para comenzar, elija el 01_procesamiento_de_datos.ipynb computadora portátil. Aparecerá un indicador de cambio de kernel. Este ejemplo usa PyTorch, por lo que podemos elegir el preconstruido PyTorch 1.10 Python 3.8 GPU optimizado imagen para iniciar nuestro cuaderno. Puede ver cómo se inicia la aplicación y, cuando el kernel está listo, muestra el tipo de instancia y el kernel en la parte superior derecha de su computadora portátil.
Nuestro portátil necesita algunas dependencias adicionales. Este repositorio proporciona un archivo requirements.txt con las dependencias adicionales. Ejecute la primera celda para instalar las dependencias requeridas:
También puede crear una configuración de ciclo de vida para instalar automáticamente los paquetes cada vez que inicie la aplicación PyTorch. Ver Personalice Amazon SageMaker Studio mediante configuraciones de ciclo de vida para obtener instrucciones y una implementación de muestra.
Usar ponderaciones y sesgos en SageMaker Studio
Pesos y sesgos (wandb
) es una biblioteca estándar de Python. Una vez instalado, es tan simple como agregar unas pocas líneas de código a su script de entrenamiento y estará listo para registrar experimentos. Ya lo hemos instalado a través de nuestro archivo requirements.txt. También puedes instalarlo manualmente con el siguiente código:
Caso de estudio: Segmentación semántica de vehículos autónomos
Conjunto de datos
Usamos la Base de datos de videos etiquetados de conducción de Cambridge (CamVid) para este ejemplo. Contiene una colección de videos con etiquetas semánticas de clase de objeto, completa con metadatos. La base de datos proporciona etiquetas de verdad del terreno que asocian cada píxel con una de las 32 clases semánticas. Podemos versionar nuestro conjunto de datos como un wandb.Artefacto, de esa manera podemos referenciarlo más tarde. Ver el siguiente código:
Puedes seguirlo en el 01_procesamiento_de_datos.ipynb cuaderno.
También registramos un mesa del conjunto de datos. Las tablas son entidades ricas y poderosas similares a DataFrame que le permiten consultar y analizar datos tabulares. Puede comprender sus conjuntos de datos, visualizar predicciones de modelos y compartir información en un tablero central.
Las tablas de pesos y sesgos admiten muchos formatos de medios enriquecidos, como imágenes, audio y formas de onda. Para obtener una lista completa de formatos multimedia, consulte Tipos de datos.
La siguiente captura de pantalla muestra una tabla con imágenes sin procesar con las segmentaciones reales del terreno. También puede ver un versión interactiva de esta tabla.
Entrena un modelo
Ahora podemos crear un modelo y entrenarlo en nuestro conjunto de datos. Usamos PyTorch y rápido para crear rápidamente un prototipo de una línea de base y luego usar wandb.Sweeps
para optimizar nuestros hiperparámetros. Sigue en el 02_segmentación_semántica.ipynb computadora portátil. Cuando se le solicite un núcleo al abrir el cuaderno, elija el mismo núcleo de nuestro primer cuaderno, PyTorch 1.10 Python 3.8 GPU optimizado. Tus paquetes ya están instalados porque estás usando la misma aplicación.
Se supone que el modelo aprende una anotación por píxel de una escena capturada desde el punto de vista del agente autónomo. El modelo necesita categorizar o segmentar cada píxel de una escena determinada en 32 categorías relevantes, como carretera, peatón, acera o automóviles. Puede elegir cualquiera de las imágenes segmentadas en la tabla y acceder a esta interfaz interactiva para acceder a los resultados y categorías de segmentación.
Debido a que el rápido biblioteca tiene integración con wandb
, puede simplemente pasar el WandbCallback
al alumno:
Para los experimentos de referencia, decidimos utilizar una arquitectura simple inspirada en el Unet papel con diferentes espinas dorsales de timm. Entrenamos a nuestros modelos con Pérdida focal como criterio. Con Pesos y sesgos, puede crear fácilmente tableros con resúmenes de sus experimentos para analizar rápidamente los resultados del entrenamiento, como se muestra en la siguiente captura de pantalla. Tú también puedes ver este panel de forma interactiva.
Búsqueda de hiperparámetros con barridos
Para mejorar el rendimiento del modelo de referencia, debemos seleccionar el mejor modelo y el mejor conjunto de hiperparámetros para entrenar. W&B nos lo pone fácil usando barridos.
Realizamos un Búsqueda de hiperparámetros bayesianos con el objetivo de maximizar la precisión de primer plano del modelo en el conjunto de datos de validación. Para realizar el barrido, definimos el archivo de configuración barrido.yaml. Dentro de este archivo, pasamos el método deseado a utilizar: bayes y los parámetros y sus valores correspondientes a buscar. En nuestro caso, probamos diferentes backbones, tamaños de lotes y funciones de pérdida. También exploramos diferentes parámetros de optimización como la tasa de aprendizaje y la disminución del peso. Debido a que estos son valores continuos, tomamos muestras de una distribución. hay varios Opciones de configuración disponibles para barridos.
Luego, en una terminal, lanzas el barrido usando el línea de comando wandb:
Y luego inicie un agente de barrido en esta máquina con el siguiente código:
Cuando finaliza el barrido, podemos usar un gráfico de coordenadas paralelas para explorar el rendimiento de los modelos con varias columnas vertebrales y diferentes conjuntos de hiperparámetros. En base a eso, podemos ver qué modelo funciona mejor.
La siguiente captura de pantalla muestra los resultados de los barridos, incluido un gráfico de coordenadas paralelas y gráficos de correlación de parámetros. Tú también puedes ver este tablero de barridos de forma interactiva.
Podemos derivar las siguientes ideas clave del barrido:
- Una tasa de aprendizaje más baja y una caída de peso más baja dan como resultado una mejor precisión de primer plano y puntajes de dados.
- El tamaño del lote tiene fuertes correlaciones positivas con las métricas.
- El Redes troncales basadas en VGG podría no ser una buena opción para entrenar nuestro modelo final porque es probable que resulte en un gradiente de fuga. (Se filtran a medida que la pérdida diverge).
- El Resnet backbones dan como resultado el mejor rendimiento general con respecto a las métricas.
- La red troncal ResNet34 o ResNet50 debe elegirse para el modelo final debido a su sólido rendimiento en términos de métricas.
Linaje de datos y modelos
Los artefactos de W&B se diseñaron para facilitar la versión de sus conjuntos de datos y modelos, independientemente de si desea almacenar sus archivos con W&B o si ya tiene un depósito que desea que W&B rastree. Después de rastrear sus conjuntos de datos o archivos de modelos, W&B registra automáticamente cada modificación, brindándole un historial completo y auditable de los cambios en sus archivos.
En nuestro caso, el conjunto de datos, los modelos y las diferentes tablas generadas durante el entrenamiento se registran en el espacio de trabajo. Puede ver y visualizar rápidamente este linaje yendo a la Los artefactos .
Interpretar las predicciones del modelo
Peso y sesgos es especialmente útil cuando se evalúa el rendimiento del modelo utilizando el poder de wandb.Tablas para visualizar dónde está funcionando mal nuestro modelo. En este caso, nos interesa especialmente detectar correctamente a usuarios vulnerables como bicicletas y peatones.
Registramos las máscaras pronosticadas junto con el coeficiente de puntuación de Dice por clase en una tabla. Luego filtramos por filas que contenían las clases deseadas y clasificamos por orden ascendente en el puntaje de Dice.
En la siguiente tabla, primero filtramos eligiendo dónde la puntuación de Dice es positiva (los peatones están presentes en la imagen). Luego clasificamos en orden ascendente para identificar a los peatones peor detectados. Tenga en cuenta que una puntuación de Dice igual a 1 significa segmentar correctamente la clase de peatones. Tú también puedes ver esta tabla de forma interactiva.
Podemos repetir este análisis con otras clases vulnerables, como las bicicletas o los semáforos.
Esta característica es una muy buena manera de identificar imágenes que no están etiquetadas correctamente y etiquetarlas para volver a anotarlas.
Conclusión
Esta publicación mostró la plataforma MLOps de Weights & Biases, cómo configurar W&B en SageMaker Studio y cómo ejecutar un cuaderno introductorio en la solución conjunta. Luego analizamos un caso de uso de segmentación semántica de vehículos autónomos y demostramos carreras de entrenamiento de seguimiento con experimentos de W&B, optimización de hiperparámetros mediante barridos de W&B e interpretación de resultados con tablas de W&B.
Si te interesa saber más, puedes acceder al live Informe W&B. Para probar Pesos y sesgos de forma gratuita, regístrese en Pesos y sesgosO visite el Listado de W&B AWS Marketplace.
Acerca de los autores
Tomas Capellán es ingeniero de aprendizaje automático en Weights and Biases. Es responsable de mantener vivo y actualizado el repositorio www.github.com/wandb/examples. También crea contenido sobre MLOPS, aplicaciones de W&B a las industrias y aprendizaje profundo divertido en general. Anteriormente, estaba utilizando el aprendizaje profundo para resolver el pronóstico a corto plazo de la energía solar. Tiene experiencia en Planificación Urbana, Optimización Combinatoria, Economía del Transporte y Matemáticas Aplicadas.
Durga Sury es Arquitecto de Soluciones ML en el equipo de Amazon SageMaker Service SA. Le apasiona hacer que el aprendizaje automático sea accesible para todos. En sus 3 años en AWS, ayudó a configurar plataformas de IA/ML para clientes empresariales. Cuando no está trabajando, le encantan los paseos en motocicleta, las novelas de misterio y las caminatas con su husky de cuatro años.
Karthik Bharathy es el líder de productos de Amazon SageMaker con más de una década de experiencia en gestión de productos, estrategia de productos, ejecución y lanzamiento.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/improve-ml-developer-productivity-with-weights-biases-a-computer-vision-example-on-amazon-sagemaker/
- "
- &
- 000
- 10
- 100
- a
- Acerca
- de la máquina
- accesible
- el acceso
- Mi Cuenta
- a través de
- Adicionales
- AI
- algoritmos
- Todos
- ya haya utilizado
- Amazon
- análisis
- analizar
- applicación
- aplicaciones
- aplicada
- arquitectura
- en torno a
- Consejos
- audio
- automáticamente
- autónomo
- Hoy Disponibles
- AWS
- fondo
- Base
- porque
- MEJOR
- build
- construye
- carros
- case
- central
- Gráficas
- Elige
- elegido
- clase
- privadas
- código
- colaboran
- colaborar
- colaboración
- --
- Empresas
- completar
- computadora
- Configuración
- contiene
- contenido
- Correspondiente
- Para crear
- crea
- Clientes
- página de información de sus operaciones
- datos
- Base de datos
- década
- decidido
- profundo
- demostrado
- desplegar
- diseñado
- Developer
- desarrolladores
- Desarrollo
- una experiencia diferente
- dominio
- durante
- cada una
- pasan fácilmente
- Ciencias económicas
- habilitar
- permite
- energía
- ingeniero
- Participar
- Empresa
- entidades
- Entorno
- especialmente
- todos
- ejemplo
- ejecución
- experience
- experimento
- explorar
- RÁPIDO
- más rápida
- Feature
- Nombre
- seguir
- siguiendo
- Gratuito
- en
- ser completados
- diversión
- funciones
- General
- generado
- Git
- GitHub
- Diezmos y Ofrendas
- objetivo
- va
- candidato
- GPU
- ayudado
- ayuda
- historia
- Cómo
- Como Hacer
- HTTPS
- Identifique
- identificar
- Identidad
- imagen
- imágenes
- implementación
- mejorar
- incluye
- Incluye
- industrias
- EN LA MINA
- originales
- Las opciones de entrada
- Insights
- inspirado
- instalar
- ejemplo
- COMPLETAMENTE
- integración
- interactivo
- interesado
- Interfaz
- tips para
- IT
- Guardar
- acuerdo
- Clave
- Etiquetas
- idioma
- lanzamiento
- líder
- APRENDE:
- aprendizaje
- Biblioteca
- líneas
- Lista
- para vivir
- carga
- máquina
- máquina de aprendizaje
- para lograr
- HACE
- Realizar
- Management
- manual
- trabajo manual
- a mano
- mercado
- Mascarillas
- las matemáticas
- significa
- Medios
- Métrica
- podría
- mente
- ML
- modelo
- modelos
- más,
- MEJOR DE TU
- motocicleta
- múltiples
- Mystery
- Natural
- cuaderno
- habiertos
- apertura
- funcionamiento
- sistema operativo
- Opiniones
- optimización
- Optimización
- Optión
- Opciones
- solicite
- para las fiestas.
- Otro
- total
- EL DESARROLLADOR
- Papel
- particularmente
- apasionado
- actuación
- actuaciones
- planificar
- plataforma
- Plataformas
- punto
- Punto de vista.
- positivo
- industria
- poderoso
- Predicciones
- presente
- Presentations
- tratamiento
- Producto
- gestión de producto
- productividad
- proyecto
- proyecta
- proporciona un
- con rapidez
- Crudo
- repetir
- repositorio
- Requisitos
- Requisitos
- la investigación
- responsable
- resultante
- Resultados
- carretera
- Función
- Ejecutar
- correr
- mismo
- escalable
- escena
- los científicos
- Buscar
- segmento
- segmentación
- de coches
- set
- Compartir
- compartir
- a corto plazo
- mostrar
- mostrado
- firmar
- sencillos
- soltero
- Tamaño
- So
- solar
- energía solar
- a medida
- Soluciones
- RESOLVER
- algo
- estándar
- comienzo
- fundó
- tienda
- Estrategia
- fuerte
- estudio
- ESTUDIO
- SOPORTE
- Sweep
- te
- equipo
- equipos
- técnicas
- terminal
- términos
- El
- la articulación
- el mundo
- terceros.
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- parte superior
- seguir
- Seguimiento
- tráfico
- Formación
- transformaciones
- Transparencia
- de confianza
- ui
- entender
- urbano
- us
- utilizan el
- usuarios
- validación
- propuesta de
- diversos
- vehículo
- versión
- Video
- Videos
- Ver
- visión
- Vulnerable
- Basado en la Web
- sean
- mientras
- Wikipedia
- Actividades:
- trabajando
- mundo
- años
- tú