跳转至主内容
Azure

使机器学习工作流自动化以在 Visual Studio 中注入 AI

了解 Microsoft 开发者事业部的数据科学家和工程师如何通过机器学习运营(MLOps)做法将成功的试验转变为高流量产品功能。

阅读完整案例

挑战:从原型到大规模生产

经过 6 个月旨在提高开发者工作效率的 AI 和机器学习试验,Microsoft 开发者事业部的一小组应用数据科学家获得了一个模型,该模型可以主动预测开发者在编写代码时可能会调用的 C# 方法。

此成功的机器学习原型将成为 Visual Studio IntelliCode 的基础,这是一种 AI 辅助代码预测功能,但在此之前经过了严格的质量、可用性和缩放测试,以满足 Visual Studio 用户的要求。他们需要邀请工程团队创建机器学习平台并自动执行该过程。两个团队都需要采用 MLOps 区域性,从而将 DevOps 原则扩展到端到端机器学习生命周期。

应用科学和工程团队共同生成了机器学习管道,以循环执行模型训练过程,并使应用科学团队在原型阶段手动完成的许多工作实现了自动化。通过该管道,IntelliCode 可扩展到支持 6 种编程语言,以定期使用大量开放源代码 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,数据和 AI 团队首席软件工程经理

利用 MLOps 中的见解

随着 IntelliCode 的推出,团队看到了设计更佳用户体验的机会: 根据每个客户的特定编码习惯创建团队完成模型。只要 Visual Studio 或 Visual Studio Code 用户发出请求,个性化这些机器学习模型都将需要自动按需训练和发布模型。为了使用现有管道大规模执行这些函数,团队使用了 Azure 服务,例如 Azure 机器学习Azure 数据工厂Azure BatchAzure Pipelines

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

Gearard Boland,数据和 AI 团队首席软件工程经理

综合两种不同的观点

为生成机器学习管道,两个团队必须定义通用标准和准则,以确保他们使用通用语言、分享最佳做法并更好地协作。他们还必须了解彼此的项目方法。在数据科学团队进行试验性工作(快速循环执行模型创建)的同时,工程团队专注于确保 IntelliCode 满足 Visual Studio 用户对生产级功能的期望。

现在,整个机器学习管道(训练、评估、打包和部署)自动运行,并服务于 Visual Studio 和 Visual Studio Code 用户每月超过 9,000 的模型创建请求。团队正在寻找方法,希望能够使用自己的管道生成其他 AI 功能并将其整合其他 Microsoft 产品中,为客户提供更丰富的体验。

了解团队如何逐步实现 MLOps。

阅读完整案例