Cree modelos personalizados con Azure Machine Learning Designer

El aprendizaje automático es una parte importante del desarrollo de aplicaciones modernas, ya que reemplaza gran parte de lo que se solía hacer con una serie compleja de motores de reglas y amplía la cobertura a un conjunto de problemas mucho más amplio. Los servicios como Cognitive Services de Azure proporcionan modelos prediseñados y entrenados que admiten muchos casos de uso comunes, pero muchos más necesitan el desarrollo de modelos personalizados.

Personalización con ML

¿Cómo hacemos para crear modelos personalizados de aprendizaje automático? Puede comenzar por un extremo utilizando lenguajes de análisis estadístico como R para construir y validar modelos, donde ya tiene una idea de la estructura subyacente de sus datos, o puede trabajar con las características de álgebra lineal de la suite Anaconda de Python. De manera similar, herramientas como PyTorch y TensorFlow pueden ayudar a construir modelos más complejos, aprovechando las redes neuronales y el aprendizaje profundo sin dejar de integrarse con lenguajes y plataformas familiares.

Todo eso está bien si tiene un equipo de científicos de datos y matemáticos capaces de construir, probar y (lo más importante) validar sus modelos. Dado que la experiencia en aprendizaje automático es difícil de encontrar, lo que se necesita son herramientas que ayuden a guiar a los desarrolladores a través del proceso de creación de los modelos que necesitan las empresas. En la práctica, la mayoría de los modelos de aprendizaje automático se dividen en dos tipos: el primero identifica datos similares, el segundo identifica datos periféricos.

Podríamos usar el primer tipo de aplicación para identificar elementos específicos en una cinta transportadora o hacer que el segundo busque problemas en los datos de una serie de sensores industriales. Escenarios como estos no son particularmente complejos, pero aún requieren la construcción de un modelo validado, asegurando que pueda identificar lo que está buscando y encontrar la señal en los datos, no amplificar suposiciones o responder al ruido.

Presentación de Azure Machine Learning Designer

Azure proporciona varias herramientas para esto, junto con sus modelos predefinidos, preentrenados y personalizables. Uno, Azure Machine Learning Designer, le permite trabajar con sus datos existentes con un conjunto de herramientas de diseño visual y controles de arrastrar y soltar.

No necesita escribir código para construir su modelo, aunque existe la opción de incorporar R o Python personalizados cuando sea necesario. Es un reemplazo para la herramienta ML Studio original, agregando una integración más profunda en los SDK de aprendizaje automático de Azure y con soporte para más que modelos basados ​​en CPU, ofreciendo aprendizaje automático impulsado por GPU y entrenamiento y ajuste de modelos automatizados.

Para comenzar con Azure Machine Learning Designer, abra el sitio de Azure Machine Learning e inicie sesión con una cuenta de Azure. Empiece por conectarse a una suscripción y crear un espacio de trabajo para sus modelos. El asistente de configuración le pide que especifique si los modelos resultantes tienen un punto final público o privado y si va a trabajar con datos confidenciales antes de elegir cómo se administran las claves. Los datos confidenciales se procesarán en lo que Azure define como un "espacio de trabajo de alto impacto empresarial", lo que reduce la cantidad de datos de diagnóstico recopilados por Microsoft y agrega niveles adicionales de cifrado.

Configurar un espacio de trabajo de aprendizaje automático

Una vez que haya recorrido el asistente, Azure verifica su configuración antes de crear su área de trabajo de AA. De manera útil, le ofrece una plantilla ARM para que pueda automatizar el proceso de creación en el futuro, proporcionando un marco para scripts que los analistas comerciales pueden usar desde un portal interno para reducir la carga de sus administradores de Azure. La implementación de los recursos necesarios para crear un espacio de trabajo puede llevar tiempo, así que prepárese para esperar un poco antes de comenzar a construir modelos.

Su espacio de trabajo contiene herramientas para desarrollar y administrar modelos de aprendizaje automático, desde el diseño y la capacitación hasta la administración de computación y almacenamiento. También le ayuda a etiquetar los datos existentes, aumentando el valor de su conjunto de datos de entrenamiento. Es probable que desee comenzar con las tres opciones principales: trabajar con el SDK de Python de Azure ML en un cuaderno de estilo Jupyter, usar las herramientas de entrenamiento automatizadas de Azure ML o la superficie Designer de arrastrar y soltar de código bajo. 

Usar Azure ML Designer para crear un modelo

Designer es la forma más rápida de comenzar con el aprendizaje automático personalizado, ya que le brinda acceso a un conjunto de módulos prediseñados que se pueden encadenar para crear una API de aprendizaje automático que esté lista para usar en su código. Comience por crear un lienzo para su canalización de AA, configurando el destino de procesamiento para su canalización. Los objetivos de cómputo se pueden establecer para todo el modelo o para módulos individuales dentro de la canalización, lo que le permite ajustar el rendimiento de manera adecuada.

Es mejor pensar en los recursos de cómputo de su modelo como cómputo sin servidor, que escala hacia arriba y hacia abajo según sea necesario. Cuando no lo esté utilizando, se reducirá a cero y puede tardar hasta cinco minutos en volver a girar. Esto podría afectar las operaciones de la aplicación, así que asegúrese de que esté disponible antes de ejecutar aplicaciones que dependan de ella. Deberá considerar los recursos necesarios para entrenar un modelo al elegir un destino de cálculo. Los modelos complejos pueden aprovechar el soporte de GPU de Azure, con soporte para la mayoría de las opciones de cómputo de Azure (según su cuota disponible).

Una vez que haya configurado sus recursos informáticos de entrenamiento, elija un conjunto de datos de entrenamiento. Estos pueden ser sus propios datos o una de las muestras de Microsoft. Los conjuntos de datos personalizados se pueden construir a partir de archivos locales, de datos ya almacenados en Azure, de la Web o de conjuntos de datos abiertos registrados (que a menudo son información gubernamental).

Usar datos en Azure ML Designer

Las herramientas en Designer le permiten explorar los conjuntos de datos que está usando, por lo que puede estar seguro de que tiene la fuente correcta para el modelo que está intentando construir. Con una fuente de datos en el lienzo, puede comenzar a arrastrar módulos y conectarlos para procesar sus datos de entrenamiento; por ejemplo, eliminar columnas que no contienen suficientes datos o limpiar datos faltantes. Este proceso de arrastrar y conectar es muy parecido a trabajar con herramientas de bajo código, como las de Power Platform. Lo que difiere aquí es que tiene la opción de usar sus propios módulos.

Una vez procesados ​​los datos, puede comenzar a elegir los módulos en los que desea entrenar su modelo. Microsoft proporciona un conjunto de algoritmos comunes, así como herramientas para dividir conjuntos de datos para entrenamiento y pruebas. Los modelos resultantes se pueden calificar utilizando otro módulo una vez que los ejecute durante el entrenamiento. Las puntuaciones se pasan a un módulo de evaluación para que pueda ver qué tan bien funcionó su algoritmo. Necesita algunos conocimientos estadísticos para interpretar los resultados y poder comprender los tipos de errores que se generan, aunque en la práctica, cuanto menor sea el valor de error, mejor. No necesita usar los algoritmos preparados, ya que puede traer su propio código Python y R.

Un modelo entrenado y probado se puede convertir rápidamente en una canalización de inferencias, lista para usar en sus aplicaciones. Esto agrega puntos finales de API REST de entrada y salida a su modelo, listos para usar en su código. Luego, el modelo resultante se implementa en un clúster de inferencia de AKS como un contenedor listo para usar.

Deje que Azure lo haga todo por usted: aprendizaje automático automatizado

En muchos casos, ni siquiera necesita hacer tanto desarrollo. Microsoft lanzó recientemente una opción de aprendizaje automático automatizado, basada en el trabajo realizado en Microsoft Research. Aquí comienza con un conjunto de datos accesible a Azure, que deben ser datos tabulares. Está destinado a tres tipos de modelo: clasificación, regresión y pronósticos. Una vez que proporcione datos y elija un tipo de modelo, la herramienta generará automáticamente un esquema a partir de los datos que puede usar para activar y desactivar campos de datos específicos, creando un experimento que luego se ejecuta para construir y probar un modelo.

El AA automatizado creará y clasificará varios modelos, que puede investigar para determinar cuál es el mejor para su problema. Una vez que haya encontrado el modelo que desea, puede agregar rápidamente etapas de entrada y salida e implementarlo como un servicio, listo para usar en herramientas como Power BI.

Dado que el aprendizaje automático es una herramienta predictiva cada vez más importante en muchos tipos diferentes de problemas comerciales, Azure Machine Learning Designer puede brindarle una audiencia mucho más amplia. Si tiene datos, puede crear modelos tanto analíticos como predictivos, con una experiencia mínima en ciencia de datos. Con el nuevo servicio Automated ML, es fácil pasar de los datos al servicio y al análisis sin código.