Automatizace pracovních postupů strojového učení a začlenění AI do sady Visual Studio
Automatizace pracovních postupů strojového učení a začlenění AI do sady Visual Studio
Podívejte se, jak odborníci na data a technici ve vývojářském oddělení Microsoftu s využitím postupů MLOps (operace strojového učení) proměnili úspěšný experiment na často využívanou produktovou funkci.
Výzva: Od prototypu k produkčnímu řešení ve velkém měřítku
Po šesti měsících experimentů s umělou inteligencí a strojovým učením zaměřených na zvýšení produktivity vývojářů dospěl malý tým vědců zaměřených na aplikované využití dat ve vývojářském oddělení Microsoftu k modelu, který během psaní kódu aktivně předvídal metody jazyka C#, které by vývojáři pravděpodobně mohli chtít volat.
Tento úspěšný prototyp strojového učení se stal základem pro funkci předvídání kódu s asistencí umělé inteligence – Visual Studio IntelliCode. Nejprve však musel projít přísnými testy kvality, dostupnosti a škálování, aby se zajistilo, že splní požadavky uživatelů sady Visual Studio. Tým pro aplikované vědy musel přizvat technický tým, aby vytvořil platformu strojového učení a automatizoval tento proces. Oba týmy také musely přijmout kulturu MLOps, která rozšiřuje zásady DevOps na kompletní životní cyklus strojového učení.
Tým pro aplikované vědy a technický tým společně vytvořily kanál strojového učení, který iteruje proces trénování modelů a automatizuje velkou část práce, kterou tým pro aplikované vědy ve fázi vývoje prototypu prováděl ručně. Tento kanál umožnil nástroji IntelliCode, aby se škáloval, podporoval 6 programovacích jazyků a pravidelně trénoval nové modely s využitím příkladů kódu z rozsáhlé sady open source úložišť GitHub.
Výzva: Od prototypu k produkčnímu řešení ve velkém měřítku
Výzva: Přizpůsobení se provoznímu modelu cloudu
"Bylo zřejmé, že budeme každý měsíc provádět mnoho výpočetně náročných tréninků modelů na rozsáhlých souborech dat, takže potřeba automatizovaného, škálovatelného a komplexního systému strojového učení byla ještě naléhavější."
Gearard Boland, hlavní vedoucí vývoje softwaru, tým pro data a AI
Využívání přehledů s MLOps
Se zavedením IntelliCode viděly týmy příležitost navrhnout ještě lepší uživatelské prostředí, a to vytvořením modelů týmového doplňování založených na konkrétních zvycích při psaní kódu jednotlivých zákazníků. Přizpůsobení těchto modelů strojového učení vyžadovalo automatické trénování a publikování modelů na vyžádání kdykoli o to uživatelé sady Visual Studio nebo Visual Studio Code požádají. Aby bylo možné tyto funkce provádět ve velkém měřítku s využitím stávajícího kanálu, týmy využily služby Azure, jako jsou Azure Machine Learning, Azure Data Factory, Azure Batch a Azure Pipelines.
Výzva: Přizpůsobení se provoznímu modelu cloudu
"Když jsme přidali podporu vlastních modelů, škálovatelnost a spolehlivost našeho trénovacího kanálu začala být ještě důležitější."
Gearard Boland, hlavní vedoucí vývoje softwaru, tým pro data a AI
Spojení dvou různých úhlů pohledu
Týmy při vytváření vlastního kanálu strojového učení musely definovat společné standardy a obecné pokyny, aby mohly komunikovat společným jazykem, sdílet osvědčené postupy a lépe spolupracovat. Musely také porozumět přístupu druhého týmu k projektu. Zatímco tým pro datové vědy pracoval experimentálně a rychle iteroval vytváření modelů, technický tým se zaměřil na zajištění, aby nástroj IntelliCode splnil očekávání uživatelů sady Visual Studio z hlediska funkcí na provozní úrovni.
V současné době se celý kanál strojového učení (trénování, hodnocení, balení a nasazování) spouští automaticky a měsíčně obsluhuje více než 9 000 požadavků na vytvoření modelu od uživatelů sady Visual Studio a Visual Studio Code. Týmy hledají způsoby, jak s využitím kanálu integrovat další funkce AI do dalších produktů Microsoftu a poskytovat uživatelům ještě bohatší prostředí.