Omitir navegación

Automatización de los flujos de trabajo de aprendizaje automático para incorporar inteligencia artificial a Visual Studio

Vea cómo los científicos de datos y los ingenieros de la división de desarrolladores de Microsoft convirtieron un experimento satisfactorio en una característica para un producto con un tráfico intenso utilizando prácticas de operaciones de aprendizaje automático (MLOps).

Lea el artículo completo

Desafío: Del prototipo a la producción a gran escala

Después de seis meses de experimentos de inteligencia artificial y aprendizaje automático para mejorar la productividad de los desarrolladores, un equipo reducido de expertos de ciencia de datos aplicada de la división de desarrolladores de Microsoft logró crear un modelo que predijo activamente los métodos de C# a los que llamaría probablemente un desarrollador a medida que programaba.

Este exitosos prototipo de aprendizaje automático se convertiría en la base para Visual Studio IntelliCode, una funcionalidad de predicción de código asistida por IA, pero no antes de superar pruebas de calidad, disponibilidad y escalado exhaustivas para cumplir los requisitos de los usuarios de Visual Studio. Tendrían que invitar al equipo de ingeniería a crear una plataforma de aprendizaje automático y automatizar ese proceso. Y ambos equipos tendrían que adoptar una cultura de MLOps, extendiendo los principios de DevOps al ciclo de vida de aprendizaje automático de un extremo a otro.

Juntos, los equipos de ciencia aplicada e ingeniería crearon una canalización de aprendizaje automático para iterar el proceso de entrenamiento de los modelos y automatizar gran parte del trabajo que el equipo de ciencia aplicada realizaba manualmente en la fase de elaboración del prototipo. Esa canalización permitió modificar la escala de IntelliCode para admitir 6 lenguajes de programación y entrenar regularmente nuevos modelos con ejemplos de código de un amplio conjunto de repositorios de código abierto de GitHub.

"Clearly, we were going to be doing a lot of compute-intensive model training on very large data sets every month—making the need for an automated, scalable, end-to-end machine learning pipeline all that more evident."

Gearard Boland, director de ingeniería de software, equipo de datos e inteligencia artificial

Capitalización de la información con MLOps

Al implementar IntelliCode, los equipos vieron la oportunidad de diseñar una experiencia de usuario aún mejor: crear modelos de finalización de equipo basados en los hábitos de codificación específicos de cada cliente. La personalización de esos modelos de aprendizaje automático requeriría el entrenamiento y la publicación automática de modelos a petición, siempre que un usuario de Visual Studio o Visual Studio Code lo solicite. Para realizar estas funciones a escala con la canalización existente, los equipos usaron servicios de Azure como Azure Machine Learning, Azure Data Factory, Azure Batch y Azure Pipelines.

"When we added support for custom models, the scalability and reliability of our training pipeline became even more important"

Gearard Boland, director de ingeniería de software, equipo de datos e inteligencia artificial

Unión de dos perspectivas diferentes

Para crear la canalización de aprendizaje automático, los equipos tuvieron que definir estándares e instrucciones comunes con el fin de hablar el mismo idioma, compartir procedimientos recomendados y colaborar mejor. También tuvieron que comprender el enfoque que cada equipo tenía para el proyecto. Mientras el equipo de ciencia de datos trabajó de forma experimental, realizando iteraciones rápidas tras la creación de los modelos, el equipo de ingeniería se centró en garantizar que IntelliCode cumpliera las expectativas de los usuarios de Visual Studio para las características de nivel de producción.

Ahora toda la canalización de aprendizaje automático (entrenamiento, evaluación, empaquetado e implementación) se ejecuta de forma automática y atiende más de 9000 solicitudes de creación de modelos mensuales de usuarios de Visual Studio y Visual Studio Code. Los equipos están buscando formas de usar la canalización para crear nuevas características de inteligencia artificial en otros productos de Microsoft y ofrecer experiencias más completas aún a los clientes.

Vea cómo implementaron los equipos MLOps paso a paso.

Lea el artículo completo
¿Podemos ayudarle?