Автоматизация рабочих процессов машинного обучения для внедрения ИИ в Visual Studio
Автоматизация рабочих процессов машинного обучения для внедрения ИИ в Visual Studio
Посмотрите, как специалисты и инженеры по обработке и анализу данных из подразделения разработки в Майкрософт превратили успешный эксперимент в популярную функцию продукта с помощью операций машинного обучения (MLOps).
Задача: создать прототип и подготовить его для масштабной рабочей среды
После шести месяцев экспериментов по искусственному интеллекту и машинному обучению, направленных на повышение производительности труда разработчиков, небольшая группа специалистов по обработке и анализу прикладных данных в подразделении разработки Майкрософт получила модель, способную активно прогнозировать методы C#, которые разработчик с большой вероятностью может вызывать во время кодирования.
Этот успешный прототип решения для машинного обучения станет основой для Visual Studio IntelliCode — функции прогнозирования кода с помощью ИИ. Но сначала он пройдет строгие тесты качества, доступности и масштабирования, которые должны подтвердить его соответствие требованиям пользователей Visual Studio. Разработчики пригласят команду инженеров, чтобы создать платформу машинного обучения и автоматизировать этот процесс. И обеим командам потребуется внедрить культуру MLOps, распространив принципы DevOps на весь жизненный цикл машинного обучения.
Вместе команды специалистов по прикладным данным и инженеров создали конвейер машинного обучения, чтобы провести итеративное обучение модели и автоматизировать большую часть работы, которую команда по прикладным данным выполняла на стадии разработки прототипа вручную. Этот конвейер обеспечил масштабирование и поддержку шести языков программирования в IntelliCode, регулярно обучая новые модели с использованием примеров кода из обширного набора репозиториев GitHub с открытым кодом.
Задача: создать прототип и подготовить его для масштабной рабочей среды
Задача: адаптация к облачной операционной модели
"Само собой, мы собирались ежемесячно проводить интенсивное обучение модели на очень больших наборах данных, что делало потребность в автоматизированном, масштабируемом, сквозном конвейере машинного обучения еще более очевидной."
Джирард Боланд (Gearard Boland), ведущий менеджер по разработке программного обеспечения, подразделение данных и ИИ
Использование аналитических сведений с помощью MLOps
По мере развертывания IntelliCode команды нашли возможность разработать еще более удобный пользовательский интерфейс: создание моделей завершения работы для команды, основанных на специфических для каждого пользователя привычках кодирования. Для персонализации этих моделей машинного обучения потребуется автоматическое обучение и публикация моделей по требованию каждый раз, когда пользователь Visual Studio или Visual Studio Code запрашивает их. Для выполнения этих функций в большом масштабе с помощью существующего конвейера команды использовали службы Azure, такие как Машинное обучение Azure, Фабрика данных Azure, Пакетная служба Azure и Azure Pipelines.
Задача: адаптация к облачной операционной модели
"Когда мы добавили поддержку пользовательских моделей, масштабируемость и надежность нашего конвейера обучения стала еще более важной"
Джирард Боланд (Gearard Boland), ведущий менеджер по разработке программного обеспечения, подразделение данных и ИИ
Объединение двух различных аспектов
Раньше, чтобы создать конвейер машинного обучения, командам приходилось определять общие стандарты и руководящие принципы, чтобы говорить на одном языке, обмениваться лучшими методиками и эффективнее сотрудничать. Кроме того, им нужно было понимать подходы друг друга к проекту. В то время как команда по обработке и анализу данных работала в экспериментальной плоскости, быстро выполняя итерации в рамках создания модели, команда инженеров прилагала усилия к тому, чтобы решение IntelliCode соответствовало ожиданиям пользователей Visual Studio в отношении функций производственного уровня.
Сегодня весь конвейер машинного обучения — обучение, оценка, упаковка и развертывание — выполняется автоматически и ежемесячно обслуживает более 9000 запросов на создание моделей от пользователей Visual Studio и Visual Studio Code. Разработчики ищут способы использовать конвейер для встраивания дополнительных возможностей ИИ в другие продукты Майкрософт и предоставления пользователям еще более широких возможностей.