Trace Id is missing
Пропустить и перейти к основному содержимому

Автоматизация рабочих процессов машинного обучения для внедрения ИИ в 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. Разработчики ищут способы использовать конвейер для встраивания дополнительных возможностей ИИ в другие продукты Майкрософт и предоставления пользователям еще более широких возможностей.

" "

Узнайте, как команды поэтапно реализовали MLOps.