🚀 Prova Zilliz Cloud, la versione completamente gestita di Milvus, gratuitamente—sperimenta prestazioni 10 volte più veloci! Prova Ora>>

milvus-logo
LFAI
  • Home
  • Blog
  • L'IA su scala operativa con Software 2.0, MLOps e Milvus

L'IA su scala operativa con Software 2.0, MLOps e Milvus

  • Engineering
March 31, 2021
milvus

La creazione di applicazioni di machine learning (ML) è un processo complesso e iterativo. Man mano che un numero sempre maggiore di aziende si rende conto del potenziale non sfruttato dei dati non strutturati, la domanda di elaborazione e analisi dei dati basate sull'IA continuerà a crescere. Senza operazioni di machine learning efficaci, o MLOps, la maggior parte degli investimenti in applicazioni di ML è destinata ad appassire. Una ricerca ha rilevato che solo il 5% delle adozioni di IA che le aziende prevedono di implementare raggiunge effettivamente l'implementazione. Molte organizzazioni incorrono in un "debito di modello", in cui i cambiamenti delle condizioni di mercato e l'incapacità di adattarsi ad essi si traducono in investimenti non realizzati in modelli che rimangono inutilizzati (o peggio, non vengono mai implementati).

Questo articolo spiega MLOps, un approccio sistemico alla gestione del ciclo di vita dei modelli di IA, e come la piattaforma open-source di gestione dei dati vettoriali Milvus possa essere utilizzata per rendere operativa l'IA su scala.


Che cos'è l'MLOps?

Le operazioni di apprendimento automatico (MLOps), note anche come operazioni sui modelli (ModelOps) o operazionalizzazione dei modelli di IA, sono necessarie per costruire, mantenere e distribuire applicazioni di IA su scala. Poiché le aziende cercano di applicare i modelli di IA che sviluppano a centinaia di scenari diversi, è fondamentale che i modelli in uso e quelli in fase di sviluppo siano resi operativi in tutta l'organizzazione. L'MLOps prevede il monitoraggio di un modello di apprendimento automatico durante tutto il suo ciclo di vita e la gestione di ogni aspetto, dai dati sottostanti all'efficacia di un sistema di produzione che si basa su un determinato modello.

01.jpg 01.jpg

Gartner definisce ModelOps come la governance e la gestione del ciclo di vita di un'ampia gamma di modelli decisionali e di intelligenza artificiale operativizzati. Le funzionalità principali di MLOps possono essere suddivise come segue:

  • Integrazione continua/consegna continua (CI/CD): Una serie di best practice mutuate dalle operazioni degli sviluppatori (DevOps), CI/CD è un metodo per fornire modifiche al codice con maggiore frequenza e affidabilità. L'integrazione continua promuove l'implementazione di modifiche al codice in piccoli lotti, monitorandole con un rigoroso controllo di versione. La consegna continua automatizza la consegna delle applicazioni a vari ambienti (ad esempio, ambienti di test e di sviluppo).

  • Ambienti di sviluppo modello (MDE): Un processo complesso per la costruzione, la revisione, la documentazione e l'esame dei modelli, gli MDE aiutano a garantire che i modelli siano creati in modo iterativo, documentati man mano che vengono sviluppati, affidabili e riproducibili. Un MDE efficace garantisce che i modelli possano essere esplorati, studiati e sperimentati in modo controllato.

  • Test champion-challenger: Simile alla metodologia di A/B testing utilizzata dai marketer, il champion-challenger testing prevede la sperimentazione di diverse soluzioni per favorire il processo decisionale che precede la scelta di un singolo approccio. Questa tecnica prevede il monitoraggio e la misurazione delle prestazioni in tempo reale per identificare la deviazione che funziona meglio.

  • Modellazione del modello: Come in ogni sistema complesso, i modelli di apprendimento automatico vengono sviluppati in più fasi da molte persone diverse, con conseguenti problemi di gestione dei dati e delle versioni dei dati e dei modelli di ML. La gestione delle versioni dei modelli aiuta a gestire e governare il processo iterativo dello sviluppo di ML, in cui i dati, i modelli e il codice possono evolvere a ritmi diversi.

  • Memorizzazione e rollback dei modelli: Quando un modello viene distribuito, il file immagine corrispondente deve essere memorizzato. Le funzionalità di rollback e ripristino consentono ai team MLOps di tornare a una versione precedente del modello, se necessario.

L'uso di un solo modello in un'applicazione di produzione presenta una serie di sfide difficili. L'MLOps è un metodo strutturato e ripetibile che si basa su strumenti, tecnologia e best practice per superare i problemi tecnici o aziendali che si presentano durante il ciclo di vita di un modello di apprendimento automatico. Un MLOps di successo mantiene l'efficienza dei team che lavorano per costruire, distribuire, monitorare, riqualificare e governare i modelli di IA e il loro utilizzo nei sistemi di produzione.


Perché è necessario l'MLOps?

Come illustrato nel ciclo di vita del modello di ML, la costruzione di un modello di apprendimento automatico è un processo iterativo che comporta l'incorporazione di nuovi dati, la riqualificazione dei modelli e la gestione del decadimento generale del modello nel tempo. Sono tutti problemi che le operazioni tradizionali degli sviluppatori, o DevOps, non affrontano né forniscono soluzioni. L'MLOps è diventato necessario per gestire gli investimenti nei modelli di intelligenza artificiale e garantire un ciclo di vita produttivo dei modelli. Poiché i modelli di apprendimento automatico saranno utilizzati da una serie di sistemi di produzione diversi, l'MLOps diventa parte integrante per garantire che i requisiti possano essere soddisfatti in ambienti diversi e in scenari variabili.

02.jpg 02.jpg


La semplice illustrazione qui sopra mostra un modello di apprendimento automatico distribuito in un ambiente cloud che alimenta un'applicazione. In questo scenario di base, potrebbero sorgere diversi problemi che MLOps aiuta a superare. Poiché l'applicazione di produzione si basa su un ambiente cloud specifico, ci sono requisiti di latenza a cui i data scientist che hanno sviluppato il modello di ML non hanno accesso. L'operatività del ciclo di vita del modello consentirebbe ai data scientist o agli ingegneri con una conoscenza approfondita del modello di identificare e risolvere i problemi che si presentano in ambienti di produzione specifici.

Non solo i modelli di apprendimento automatico vengono addestrati in ambienti diversi dalle applicazioni di produzione in cui vengono utilizzati, ma spesso si basano anche su set di dati storici che differiscono dai dati utilizzati nelle applicazioni di produzione. Con MLOps l'intero team di data science, da chi sviluppa il modello a chi lavora a livello applicativo, dispone di un mezzo per condividere e richiedere informazioni e assistenza. La velocità con cui cambiano i dati e i mercati rende imperativo che ci sia il minor attrito possibile tra tutti i principali stakeholder e collaboratori che dipenderanno da un determinato modello di apprendimento automatico.

Sostenere la transizione al software 2.0

Il software 2.0 è l'idea che lo sviluppo del software subirà un cambiamento di paradigma, in quanto l'intelligenza artificiale svolgerà un ruolo sempre più centrale nella scrittura dei modelli di intelligenza artificiale che alimentano le applicazioni software. Nell'ambito del Software 1.0, lo sviluppo prevede che i programmatori scrivano istruzioni esplicite utilizzando un linguaggio di programmazione specifico (ad esempio, Python, C++). Il software 2.0 è molto più astratto. Sebbene l'uomo fornisca i dati di input e imposti i parametri, le reti neurali sono difficili da comprendere per la loro pura complessità: le reti tipiche contengono milioni di pesi che influiscono sui risultati (e talvolta miliardi o trilioni).

DevOps è stato costruito sulla base del software 1.0, che si basa su istruzioni specifiche dettate da programmatori che utilizzano linguaggi, ma non ha mai considerato il ciclo di vita di un modello di apprendimento automatico che alimenta una varietà di applicazioni diverse. MLOps risponde alla necessità che il processo di gestione dello sviluppo del software cambi insieme al software in fase di sviluppo. Poiché il software 2.0 diventa il nuovo standard per la risoluzione di problemi basati sul computer, disporre degli strumenti e dei processi giusti per la gestione dei cicli di vita dei modelli farà sì che gli investimenti nella nuova tecnologia siano decisivi o meno. Milvus è un motore di ricerca di similarità vettoriale open-source costruito per supportare la transizione al Software 2.0 e gestire i cicli di vita dei modelli con MLOps.

03.jpg 03.jpg


L'IA su scala operativa con Milvus

Milvus è una piattaforma di gestione dei dati vettoriali creata appositamente per archiviare, interrogare, aggiornare e mantenere enormi set di dati vettoriali su scala trilionaria. La piattaforma consente la ricerca di similarità vettoriali e può integrarsi con librerie di indici ampiamente adottate, tra cui Faiss, NMSLIB e Annoy. Abbinando a Milvus modelli di intelligenza artificiale che convertono i dati non strutturati in vettori, è possibile creare applicazioni che spaziano dallo sviluppo di nuovi farmaci all'analisi biometrica, ai sistemi di raccomandazione e molto altro ancora.

Laricerca per similarità vettoriale è la soluzione ideale per l'elaborazione e l'analisi dei dati non strutturati e i dati vettoriali stanno rapidamente emergendo come tipo di dati principali. Un sistema di gestione dei dati completo come Milvus facilita l'operatività dell'IA in molti modi, tra cui:

  • fornendo un ambiente per l'addestramento dei modelli che assicura che più aspetti dello sviluppo siano svolti in un unico luogo, facilitando la collaborazione tra team, la governance dei modelli e altro ancora.

  • L'offerta di una serie completa di API che supportano framework popolari come Python, Java e Go, facilitando l'integrazione di un insieme comune di modelli di ML.

  • La compatibilità con Google Colaboratory, un ambiente di notebook Jupyter che funziona in un browser, semplifica il processo di compilazione di Milvus dal codice sorgente e l'esecuzione di operazioni Python di base.

  • La funzionalità di apprendimento automatico (AutoML) consente di automatizzare le attività associate all'applicazione dell'apprendimento automatico ai problemi del mondo reale. L'AutoML non solo migliora l'efficienza, ma consente anche ai non esperti di trarre vantaggio dai modelli e dalle tecniche di apprendimento automatico.

Indipendentemente dalle applicazioni di apprendimento automatico che state costruendo oggi o dai progetti per le applicazioni future, Milvus è una piattaforma di gestione dei dati flessibile creata pensando al software 2.0 e agli MLOps. Per saperne di più su Milvus o per fornire contributi, trovate il progetto su Github. Per partecipare alla comunità o porre domande, iscrivetevi al nostro canale Slack. Avete voglia di altri contenuti? Consultate le seguenti risorse:

    Try Managed Milvus for Free

    Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

    Get Started

    Like the article? Spread the word

    Continua a Leggere