Trace Id is missing
Saltar al contenido principal

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

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

Descubre cómo los científicos de datos e 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).

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

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

Este floreciente prototipo de aprendizaje automático se convirtió en la base de Visual Studio IntelliCode, una característica de predicción de código asistida por IA. Antes de su implementación, se sometió a rigurosas pruebas de calidad, disponibilidad y escalabilidad para satisfacer los requisitos de los usuarios de Visual Studio. Tuvieron que pedirle al equipo de ingeniería que crease una plataforma de aprendizaje automático para automatizar ese proceso. Además, los dos equipos tuvieron que adoptar una cultura de MLOps a fin de ampliar los principios de DevOps de un extremo a otro del ciclo de vida del aprendizaje automático.

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.

Dos personas tienen una conversación y dibujan un diagrama en una pizarra

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

Desafío: Adaptación a un modelo operativo en la nube

"Estaba claro que íbamos a entrenar un gran número de modelos con altos requisitos de procesado y conjuntos de datos muy grandes todos los meses. Era más evidente que nunca que íbamos a necesitar una canalización de aprendizaje automático de un extremo a otro automatizada y escalable."

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

Sacar el jugo a la información con MLOps

Cuando se implementó IntelliCode, los equipos vieron una oportunidad para diseñar una experiencia de usuario todavía mejor: crear modelos de finalización del código para equipos basados en los hábitos de programación específicos de cada cliente. La personalización de esos modelos de aprendizaje automático requeriría el entrenamiento y la publicación de modelos a petición de forma automática, cada vez que un usuario de Visual Studio o Visual Studio Code lo solicitase. Para realizar esas funciones a gran escala con la canalización que tenían, los equipos usaron servicios de Azure tales como Azure Machine LearningAzure Data FactoryAzure Batch y Azure Pipelines.

Desafío: Adaptación a un modelo operativo en la nube

"Cuando agregamos compatibilidad con modelos personalizados, aumentó la importancia de la escalabilidad y fiabilidad de nuestra canalización de entrenamiento"

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

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 a 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 buscan formas de usar la canalización para crear nuevas características de IA en otros productos de Microsoft y ofrecer experiencias aún más completas a los clientes.

" "

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