Passa al contenuto principale

Automazione dei flussi di lavoro di apprendimento automatico per inserire l'intelligenza artificiale in Visual Studio

Automazione dei flussi di lavoro di apprendimento automatico per inserire l'intelligenza artificiale in Visual Studio

Scopri in che modo i data scientist e i tecnici nella divisione per lo sviluppo Microsoft hanno trasformato un esperimento riuscito in una funzionalità per prodotti a traffico elevato con procedure di MLOps (operazioni per l'apprendimento automatico).

La sfida: dal prototipo alla produzione su larga scala

Dopo sei mesi di esperimenti relativi a intelligenza artificiale e apprendimento automatico con lo scopo di migliorare la produttività degli sviluppatori, un piccolo team di applied data scientist nella divisione per lo sviluppo Microsoft ha ottenuto un modello in grado di prevedere attivamente i metodi C# che uno sviluppatore avrebbe probabilmente chiamato durante la codifica.

Questo prototipo di apprendimento automatico ottimale è diventato la base per Visual Studio IntelliCode, una funzionalità di previsione del codice basata su intelligenza artificiale, ma solo dopo avere superato test rigorosi per qualità, disponibilità e scalabilità, per rispettare i requisiti degli utenti di Visual Studio. Il team di progettazione è stato coinvolto per creare una piattaforma di apprendimento automatico e automatizzare tale processo. Entrambi i team hanno dovuto adottare una cultura MLOps, estendendo i principi DevOps al ciclo di vita end-to-end di apprendimento automatico.

I team responsabili della scienza applicata e della progettazione hanno creato una pipeline di apprendimento automatico per eseguire l'iterazione del processo di training dei modelli e automatizzare la maggior parte del lavoro eseguito manualmente dal team responsabile della scienza applicata nella fase di prototipo. Tale pipeline ha consentito a IntelliCode di dimensionare e supportare 6 linguaggi di programmazione ed eseguire regolarmente il training di nuovi modelli con esempi di codice da un set esteso di repository open source di GitHub.

Due persone durante una conversazione disegnano un diagramma su una lavagna

La sfida: dal prototipo alla produzione su larga scala

La sfida: adattarsi a un modello operativo cloud

"Poiché ogni mese veniva eseguita una notevole quantità di training di modelli a elevato utilizzo di calcolo su set di dati molto grandi, era evidente la necessità di una pipeline di apprendimento automatico end-to-end, scalabile e automatizzata."

Gearard Boland, Principal Software Engineering Manager, Team responsabile di dati e intelligenza artificiale

Sfruttamento delle informazioni dettagliate con MLOps

Durante l'implementazione di IntelliCode, i team hanno individuato un'opportunità per la progettazione di un'esperienza utente ancora migliore, ovvero la creazione di modelli di completamenti per team basati sulle abitudini di codifica specifiche di ogni cliente. La personalizzazione di questi modelli di Machine Learning richiederebbe il training e la pubblicazione on demand di modelli in modo automatico a ogni richiesta di un utente di Visual Studio o Visual Studio Code. Per eseguire queste funzioni su larga scala usando la pipeline esistente, i team hanno usato servizi di Azure quali Azure Machine LearningAzure Data FactoryAzure BatchAzure Pipelines.

La sfida: adattarsi a un modello operativo cloud

"Quando abbiamo aggiunto il supporto per i modelli personalizzati, la scalabilità e l'affidabilità della pipeline di training hanno assunto ancora più importanza"

Gearard Boland, Principal Software Engineering Manager, Team responsabile di dati e intelligenza artificiale

Combinazione di due prospettive diverse

Per creare la pipeline di apprendimento automatico, i team hanno dovuto definire standard comuni e linee guida per potere usare un linguaggio comune, condividere procedure consigliate e migliorare la collaborazione. Hanno dovuto anche comprendere gli approcci reciproci al progetto. Mentre il team di data science ha lavorato in modo sperimentale, con iterazioni rapide sulla creazione di modelli, il team di progettazione si è concentrato sull'assicurare che IntelliCode rispondesse alle aspettative degli utenti di Visual Studio per funzionalità a livello di produzione.

L'intera pipeline di apprendimento automatico, ovvero training, valutazione, creazione di pacchetti e distribuzione, viene attualmente eseguita automaticamente e gestisce più di 9.000 richieste mensili di creazione di modelli da utenti di Visual Studio e Visual Studio Code. I team sono alla ricerca di nuove soluzioni per usare la pipeline in modo da inserire altre funzionalità di intelligenza artificiale in altri prodotti Microsoft e arricchire ulteriormente le esperienze dei clienti.

" "

Scopri tutti i passaggi seguiti dai team per implementare MLOps.