Confrontare prodotti e tecnologie di Microsoft Machine Learning

Informazioni sui prodotti e le tecnologie di Machine Learning di Microsoft. Confrontare le opzioni per scegliere come compilare, distribuire e gestire in modo più efficace le soluzioni di Machine Learning.

Prodotti di Machine Learning basati sul cloud

Le opzioni seguenti sono disponibili per Machine Learning nel cloud di Azure.

Opzioni cloud Che cos'è Cosa permette di fare
Azure Machine Learning Piattaforma gestita per Machine Learning Utilizzare un modello con training eseguito. In alternativa, eseguire il training, distribuire e gestire i modelli in Azure con Python e CLI
Servizi cognitivi di Azure Funzionalità di intelligenza artificiale predefinite implementate tramite API REST e SDK Creare rapidamente applicazioni intelligenti usando linguaggi di programmazione standard. Non richiede competenze di Machine Learning e data science
Machine Learning Services sull’istanza gestita di SQL di Azure Machine Learning nel database per SQL Eseguire il training e la distribuzione di modelli all'interno dell’istanza gestita di SQL di Azure
Machine Learning in Azure Synapse Analytics Servizio di analisi con Machine Learning Eseguire il training e la distribuzione di modelli all'interno di Azure Synapse Analytics
Machine Learning e intelligenza artificiale con ONNX in SQL Edge di Azure Machine Learning in SQL su IoT Eseguire il training e la distribuzione di modelli all'interno di SQL Edge di Azure
Azure Databricks Piattaforma di analisi basata su Apache Spark Creare e distribuire modelli e flussi di lavoro di dati usando integrazioni con librerie di Machine Learning open source e la piattaforma MLflow .

Prodotti di Machine Learning locali

Le opzioni seguenti sono disponibili per Machine Learning in locale. Anche i server locali possono essere eseguiti in una macchina virtuale nel cloud.

Opzioni locali Che cos'è Cosa permette di fare
Machine Learning Services per SQL Server Machine Learning nel database per SQL Eseguire il training di modelli e distribuirli all'interno di SQL Server
Machine Learning Services su cluster Big Data di SQL Server Machine Learning in cluster Big Data Eseguire il training e la distribuzione di modelli su cluster Big Data di SQL Server

Piattaforme e strumenti di sviluppo

Le piattaforme e gli strumenti di sviluppo seguenti sono disponibili per Machine Learning.

Piattaforme/strumenti Che cos'è Cosa permette di fare
Macchina virtuale di data science di Azure Macchina virtuale con strumenti di data science preinstallati Sviluppare soluzioni di Machine Learning in un ambiente preconfigurato
ML.NET SDK di Machine Learning open source multipiattaforma Sviluppare soluzioni di Machine Learning per applicazioni .NET
Machine Learning di Windows Piattaforma di Machine Learning di Windows 10 Valutare modelli con training su un dispositivo Windows 10
SynapseML Framework open source di microservizi e Machine Learning distribuito per Apache Spark Creare e distribuire applicazioni di Machine Learning scalabili per Scala e Python.
Estensione di Machine Learning per Azure Data Studio Estensione di Machine Learning open source e multipiattaforma per Azure Data Studio Gestire i pacchetti, importare modelli di Machine Learning, eseguire stime e creare notebook per eseguire esperimenti per i database SQL

Azure Machine Learning

Azure Machine Learning è un servizio cloud completamente gestito che viene usato per eseguire il training di modelli di Machine Learning, distribuirli e gestirli su larga scala. Supporta completamente le tecnologie open source e consente pertanto di usare decine di migliaia di pacchetti Python open source quali TensorFlow, PyTorch e scikit-learn. Sono disponibili anche strumenti avanzati, ad esempio istanze di ambiente di calcolo, notebook di Jupyter o Azure Machine Learning per l’estensione Visual Studio Code, un'estensione gratuita che consente di gestire le risorse, modellare i flussi di lavoro di training e le distribuzioni in Visual Studio Code. Azure Machine Learning include anche funzionalità che consentono di automatizzare la generazione e l'ottimizzazione dei modelli in modo semplice, efficiente e accurato.

Usare l’SDK Python, i notebook Jupyter, R e CLI per Machine Learning su scala cloud. Per un'opzione con uso limitato di codice o senza codice, usare la finestra di progettazione interattiva di Azure Machine Learning per compilare, testare e distribuire modelli in modo semplice e rapido usando algoritmi di Machine Learning predefiniti.

Prova gratuitamente Azure Machine Learning.

Articolo Descrizione
Tipo Soluzione di Machine Learning basati sul cloud
Lingue supportate Python, R
Fasi di Machine Learning Training del modello
Distribuzione
MLOps/Gestione
Vantaggi principali Opzioni di creazione dell'interfaccia Web della finestra di progettazione code first (SDK) e studio e trascinamento della selezione.

Gestione centrale degli script e della cronologia di esecuzione, semplificando il confronto tra più versioni dei modelli.

Semplicità di distribuzione e gestione dei modelli nel cloud o in dispositivi perimetrali.
Considerazioni È necessaria una certa conoscenza del modello di gestione dei modelli.

Servizi di Azure AI

I servizi di intelligenza artificiale di Azure sono un set di API predefinite che consentono di creare app che usano metodi naturali di comunicazione. Il termine predefinito suggerisce che non è necessario usare set di dati o competenze di data science per eseguire il training dei modelli da usare nelle applicazioni. È già tutto preparato per l'utente e inserito in un pacchetto come API e SDK che consentono alle app di visualizzare, ascoltare, parlare, comprendere e interpretare le esigenze degli utenti con poche righe di codice. È possibile aggiungere con facilità funzionalità intelligenti alle app, ad esempio:

Usare i servizi di intelligenza artificiale di Azure per sviluppare app tra dispositivi e piattaforme. Le API vengono migliorate continuamente e sono facili da installare.

Articolo Descrizione
Tipo API per la creazione di applicazioni intelligenti
Lingue supportate Varie opzioni a seconda del servizio. Quelle standard sono C#, Java, JavaScript e Python.
Fasi di Machine Learning Distribuzione
Vantaggi principali Creare applicazioni intelligenti usando modelli con training preliminare disponibili tramite l'API REST e l'SDK.
Varietà di modelli per metodi di comunicazione naturali con visione, voce, linguaggio e decisione.
Non sono obbligatorie competenze di data science o Machine Learning.

Machine Learning SQL

SQL Machine Learning aggiunge analisi statistiche, visualizzazione dei dati e analisi predittiva in Python e R per i dati relazionali, sia in locale che nel cloud. Le piattaforme e gli strumenti correnti includono:

Usare SQL Machine Learning quando si necessita di intelligenza artificiale incorporata e di analisi predittive su dati relazionali in SQL.

Articolo Descrizione
Tipo Analisi predittiva locale per i dati relazionali
Lingue supportate Python, R, SQL
Fasi di Machine Learning Preparazione dei dati
Training del modello
Distribuzione
Vantaggi principali Possibilità di incapsulare la logica predittiva in una funzione di database, con conseguente possibilità di includere facilmente anche la logica a livello dati.
Considerazioni Si presuppone la presenza di un database di SQL Server come livello dati per l'applicazione.

Data Science Virtual Machine di Azure

Data Science Virtual Machine di Azure è un ambiente di macchina virtuale personalizzato nel cloud di Microsoft Azure. È disponibile nelle versioni sia per Windows che per Linux Ubuntu. L'ambiente viene creato appositamente per l'analisi scientifica dei dati e lo sviluppo di soluzioni di Machine Learning. Include molti framework di data science, machine learning e altri strumenti preinstallati e preconfigurati per iniziare a creare applicazioni intelligenti per l'analisi avanzata.

Usare la macchina virtuale di data science quando è necessario eseguire oppure ospitare processi in un singolo nodo. o se è necessario aumentare in modo remoto le prestazioni di elaborazione in un singolo computer.

Articolo Descrizione
Tipo Ambiente di macchine virtuali personalizzato per data science
Vantaggi principali Riduzione del tempo necessario per installare, gestire e risolvere i problemi relativi ai framework e agli strumenti di data science.

Sono incluse le versioni più recenti di tutti i framework e gli strumenti comuni.

Le opzioni delle macchine virtuali includono immagini altamente scalabili con funzionalità gpu (Graphics Processing Unit) per la modellazione dei dati a elevato utilizzo.
Considerazioni La macchina virtuale non è accessibile in modalità offline.

L'esecuzione di una macchina virtuale comporta costi di Azure ed è quindi necessario fare attenzione ad eseguirla solo quando è effettivamente necessario.

Azure Databricks

Azure Databricks è una piattaforma di analisi basata su Apache Spark ottimizzata per la piattaforma cloud di Microsoft Azure. Databricks è integrato con Azure per offrire l'installazione con un clic, flussi di lavoro semplificati e un'area di lavoro interattiva che consente la collaborazione tra data scientist, ingegneri dei dati e business analyst. Usare i codici Python, R, Scala e SQL nei notebook basati sul Web per eseguire una query, visualizzare e modellare i dati.

Usare Databricks quando si desidera collaborare alla creazione di soluzioni di machine learning in Spark Apache.

Articolo Descrizione
Tipo Piattaforma di analisi basata su Apache Spark
Lingue supportate Python, R, Scala, SQL
Fasi di Machine Learning Preparazione dei dati
Pre-elaborazione dei dati
Training del modello
Ottimizzazione del modello
Inferenza del modello
Gestione
Distribuzione

ML.NET

ML.NET è un framework di Machine Learning open source e multipiattaforma. Con ML.NET, è possibile compilare soluzioni di Machine Learning personalizzate e integrarle nelle applicazioni .NET. ML.NET offre diversi livelli di interoperabilità con framework diffusi come TensorFlow e ONNX per il training e l'assegnazione dei punteggi ai modelli di Machine Learning e Deep Learning. Per attività a elevato utilizzo di risorse, ad esempio il training dei modelli di classificazione delle immagini, è possibile sfruttare Azure per eseguire il training dei modelli nel cloud.

Usare ML.NET quando si desidera integrare soluzioni di machine learning nelle applicazioni .NET. Scegliere tra l’API per un'esperienza code-first e Model Builder o l'interfaccia della riga di comando per un'esperienza con uso limitato di codice.

Articolo Descrizione
Tipo Framework multipiattaforma open source per lo sviluppo di applicazioni di Machine Learning personalizzate con .NET
Linguaggi supportati C#, F#
Fasi di Machine Learning Preparazione dei dati
Formazione
Distribuzione
Vantaggi principali Esperienza di data science e Machine Learning non necessaria
Usare strumenti familiari (Visual Studio, Microsoft Visual Studio Code) e linguaggi
Distribuire la posizione in cui viene eseguito .NET
Estensibilità
Scalabile
Esperienza local-first

Machine Learning di Windows

Il motore di inferenza di Machine Learning di Windows consente di usare modelli di Machine Learning sottoposti a training nelle applicazioni, valutando i modelli sottoposti a training localmente nei dispositivi Windows 10.

Usare Machine Learning di Windows quando si vuole usare modelli di Machine Learning sottoposti a training all'interno delle applicazioni Windows.

Articolo Descrizione
Tipo Motore di inferenza per i modelli con training eseguito nei dispositivi Windows
Linguaggi supportati C#/C++, JavaScript

SynapseML

SynapseML (in precedenza noto come MMLSpark) è una libreria open source che semplifica la creazione di pipeline di Machine Learning scalabili massicce. SynapseML offre API per un'ampia gamma di diverse attività di Machine Learning, 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.

SynapseML aggiunge molti strumenti di deep learning e data science all'ecosistema Spark, tra cui l'integrazione perfetta delle pipeline di Spark Machine Learning con Light Gradient Boosting Machine (LightGBM), LIME (Model Interpretability) e OpenCV. È possibile usare questi strumenti per creare potenti modelli predittivi in qualsiasi cluster Spark, ad esempio Azure Databrickso Cosmic Spark.

SynapseML offre anche funzionalità di rete per l'ecosistema Spark. Con il progetto HTTP on Spark, gli utenti possono incorporare qualsiasi servizio Web nei modelli SparkML. SynapseML offre anche strumenti facili da usare per orchestrare i servizi di intelligenza artificiale di Azure su larga scala. Per la distribuzione a livello di produzione, il progetto Spark Serving consente servizi Web con velocità effettiva elevata e latenza di sottomillisecondi, supportati dal cluster Spark.

Articolo Descrizione
Tipo Framework open source di microservizi e Machine Learning distribuito per Apache Spark
Linguaggi supportati Scala 2.11, Java, Python 3.5+, R (beta)
Fasi di Machine Learning Preparazione dei dati
Training del modello
Distribuzione
Vantaggi principali Scalabilità
Streaming e compatibilità con la pubblicazione
Tolleranza di errore
Considerazioni Richiede Apache Spark

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autore principale:

Passaggi successivi