Trace Id is missing
跳至主要內容

將機器學習工作流程自動化,以將 AI 融入 Visual Studio 中

將機器學習工作流程自動化,以將 AI 融入 Visual Studio 中

了解 Microsoft 開發人員部門的資料科學家和工程師如何使用機器學習作業 (MLOps) 做法,將成功的實驗結果轉化為高流量的產品功能。

挑戰:從原型到大規模生產

經過六個月的 AI 和機器學習實驗,以期提升開發人員的生產力,Microsoft 開發人員部門有一小群應用資料科學家終於建立出模型,能夠主動預測開發人員在編寫程式碼時可能呼叫的 C# 方法。

這個成功的機器學習原型在經過嚴謹的品質、可用性和擴展測試,能夠滿足 Visual Studio 使用者的需求後,就會成為 AI 輔助程式碼預測功能 Visual Studio IntelliCode 的基礎。他們必須邀請工程小組建立機器學習平台,並將該程序自動化。此外,這兩個小組都必須採用 MLOps 文化,將 DevOps 原則擴展到端對端機器學習生命週期。

應用科學和工程小組齊心協力建置出機器學習管道,能夠反覆執行模型訓練程序,並將應用科學小組在原型階段中手動進行的眾多工作自動化。該管道可讓 IntelliCode 擴展及支援 6 種程式設計語言,管道也會使用各種開放原始碼 GitHub 存放庫中的程式碼範例,定期訓練新模型。

進行交談並在白板上繪製圖表的兩個人

挑戰:從原型到大規模生產

挑戰:適應雲端作業模型

「顯然,我們每個月都要在非常大型的資料集上進行許多計算密集型模型訓練,這讓我們對自動化、可擴展、端對端機器學習管道的需求變得顯而易見。」

資料和 AI 小組首席軟體工程經理 Gearard Boland

透過 MLOps 從深入解析中獲益

在 IntelliCode 推出後,小組發現有個機會能夠讓他們設計更好的使用者體驗,那就是根據每位客戶特有的程式碼編寫習慣來建立小組完成模型。若要將那些機器學習模型個人化,就需要在 Visual Studio 或 Visual Studio Code 使用者提出要求時,自動視需求訓練和發佈模型。為了使用現有管道大規模地執行那些功能,小組使用了 Azure 服務,例如 Azure Machine LearningAzure Data FactoryAzure BatchAzure Pipelines

挑戰:適應雲端作業模型

「當我們新增自訂模型支援時,訓練管道的可擴縮性和可靠性變得更加重要」

資料和 AI 小組首席軟體工程經理 Gearard Boland

整合兩種不同的觀點

為了建置機器學習管道,小組必須定義共同的標準和指導方針,以便用共同的語言溝通、分享最佳做法,並更有效地進行共同作業。組員也必須了解彼此處理專案的方法。在資料科學小組以實驗的方式快速反覆執行模型建立流程時,工程小組則致力於確保 IntelliCode 符合 Visual Studio 使用者對於生產環境層級功能的期望。

現在,整個機器學習管道 (訓練、評估、封裝和部署) 都會自動執行,並滿足每個月超過 9000 個由 Visual Studio 和 Visual Studio Code 使用者提出的模型建立要求。小組正在尋找使用其管道在其他 Microsoft 產品中建置其他 AI 功能的方式,並為客戶提供更豐富的體驗。

" "

了解小組如何逐步實作 MLOps。