Condividi tramite


Che cos'è SynapseML?

SynapseML (noto in precedenza come MMLSpark) è una libreria open source che semplifica la creazione di pipeline di Machine Learning (ML) estremamente scalabili. SynapseML offre API semplici, componibili e distribuite per un'ampia gamma di diverse attività di apprendimento automatico, ad esempio analisi del testo, visione, rilevamento anomalie e molte altre. SynapseML è basato sul framework di elaborazione distribuito Apache Spark e condivide la stessa API della libreria SparkML/MLLib, consentendo di incorporare facilmente i modelli SynapseML nei flussi di lavoro apache Spark esistenti.

Con SynapseML è possibile creare sistemi scalabili e intelligenti per risolvere i problemi nei domini, ad esempio rilevamento anomalie, visione artificiale, Deep Learning, analisi del testo e altri. SynapseML può addestrare e valutare modelli su cluster informatici a nodo singolo, multinodo e ridimensionabili in modo elastico. In questo modo è possibile ridimensionare il lavoro senza sprecare risorse. SynapseML è utilizzabile in Python, R, Scala, Java e .NET. Inoltre, l'API astrae su un'ampia gamma di database, file system e archivi dati cloud per semplificare gli esperimenti indipendentemente dalla posizione in cui si trovano i dati.

SynapseML richiede Scala 2.12, Spark 3.0+e Python 3.6+.

Funzionalità principali di SynapseML

API unificata per la creazione, il training e i modelli di assegnazione dei punteggi

SynapseML offre un'API unificata che semplifica lo sviluppo di programmi distribuiti a tolleranza di errore. In particolare, SynapseML espone molti framework di apprendimento automatico diversi in una singola API scalabile, indipendente dai dati e dal linguaggio e funziona per applicazioni batch, streaming e gestione.

Un'API unificata standardizza molti strumenti, framework, algoritmi e semplifica l'esperienza di apprendimento automatico distribuita. Consente agli sviluppatori di comporre rapidamente framework di Machine Learning diversi, mantiene il codice pulito e abilita i flussi di lavoro che richiedono più di un framework. Ad esempio, i flussi di lavoro come l'apprendimento con supervisione Web o la creazione del motore di ricerca richiedono più servizi e framework. SynapseML protegge gli utenti da questa complessità aggiuntiva.

Utilizzare modelli intelligenti predefiniti

Molti strumenti in SynapseML non richiedono un set di dati di addestramento etichettato di grandi dimensioni. SynapseML offre invece API semplici per i servizi intelligenti predefiniti, ad esempio Foundry Tools, per risolvere rapidamente problemi di intelligenza artificiale su larga scala correlati sia all'azienda che alla ricerca. SynapseML consente agli sviluppatori di incorporare oltre 50 diversi servizi ML all'avanguardia direttamente nei sistemi e nei database. Questi algoritmi pronti all'uso possono analizzare un'ampia gamma di documenti, trascrivere conversazioni multi-speaker in tempo reale e tradurre il testo in più di 100 lingue diverse. Per altri esempi di come usare l'intelligenza artificiale predefinita per risolvere rapidamente le attività, vedere gli esempi "cognitivi" di SynapseML.

Per rendere l'integrazione di SynapseML con Foundry Tools veloce ed efficiente, SynapseML introduce molte ottimizzazioni per i flussi di lavoro orientati ai servizi. In particolare, SynapseML analizza automaticamente le risposte comuni di limitazione larghezza di banda per garantire che i processi non sovraccarichino i servizi back-end. Inoltre, utilizza ritardi esponenziali per gestire connessioni di rete inaffidabili e risposte fallite. Infine, i computer di lavoro di Spark rimangono occupati con nuove primitive di parallelismo asincrono per Spark. Il parallelismo asincrono consente alle macchine lavoratrici di inviare richieste durante l'attesa di una risposta dal server e può produrre un incremento della velocità effettiva di dieci volte.

Ampia compatibilità dell'ecosistema con ONNX

SynapseML consente agli sviluppatori di usare modelli di molti ecosistemi di Machine Learning diversi tramite il framework Open Neural Network Exchange (ONNX). Con questa integrazione, è possibile eseguire un'ampia gamma di modelli classici e di Deep Learning su larga scala con solo poche righe di codice. SynapseML gestisce automaticamente la distribuzione di modelli ONNX ai nodi di lavoro, l'invio in batch e il buffering dei dati di input per una velocità effettiva elevata e la pianificazione del lavoro sugli acceleratori hardware.

L'uso di ONNX in Spark non solo consente agli sviluppatori di ridimensionare i modelli di Deep Learning, ma consente anche l'inferenza distribuita in un'ampia gamma di ecosistemi di Machine Learning. In particolare, ONNXMLTools converte i modelli da TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O e PyTorch in ONNX per l'inferenza accelerata e distribuita usando SynapseML.

Creare sistemi di intelligenza artificiale responsabili

Dopo aver creato un modello, è fondamentale che i ricercatori e gli ingegneri comprendano le limitazioni e il comportamento prima della distribuzione. SynapseML aiuta gli sviluppatori e i ricercatori a creare sistemi di IA responsabili introducendo nuovi strumenti che rivelano perché i modelli effettuano determinate stime e come migliorare il set di dati di training per eliminare le distorsioni. SynapseML accelera notevolmente il processo di comprensione del modello sottoposto a training di un utente consentendo agli sviluppatori di distribuire il calcolo tra centinaia di computer. In particolare, SynapseML include implementazioni distribuite di Shapley Additive Explanations (SHAP) e Locally Interpretable Model-Agnostic Explanations (LIME) per spiegare le previsioni dei modelli di visione, testo e tabulari. Include anche strumenti quali l'aspettativa condizionale individuale (ICE) e l'analisi della dipendenza parziale per analizzare set di dati riconosciuti come distorti.

Supporto enterprise per Azure Synapse Analytics

SynapseML è disponibile a livello generale in Azure Synapse Analytics con supporto enterprise. È possibile creare pipeline di Machine Learning su larga scala usando Gli strumenti Foundry, LightGBM, ONNX e altre funzionalità di SynapseML selezionate. Include anche modelli per creare rapidamente prototipi di sistemi di Machine Learning distribuiti, ad esempio motori di ricerca visiva, pipeline di manutenzione predittiva, traduzione di documenti e altro ancora.

Passaggi successivi