Novità di Machine Learning Services per SQL Server

Si applica a: SQL Server 2016 (13.x) e versioni successive

Questo articolo descrive le nuove capacità e funzionalità incluse in ogni versione di SQL Server Machine Learning Services. In ogni versione di SQL Server vengono aggiunte funzionalità di Machine Learning man mano che l'integrazione tra piattaforma dati, analisi avanzata e data science viene espansa, estesa e approfondita.

Nota

Le funzionalità e le opzioni di installazione variano a seconda della versione di SQL Server. Usare l'elenco a discesa del selettore di versione per scegliere la versione appropriata di SQL Server.

Novità di SQL Server 2022

A partire da SQL Server 2022(16.x), i runtime per R, Python e Java non vengono più installati con l'installazione di SQL. Occorre invece installare i runtime e i pacchetti personalizzati desiderati. Per altre informazioni, vedere Installare Machine Learning Services (Python e R) per SQL Server 2022 in Windows o Installare SQL Server Machine Learning Services (Python e R) in Linux.

Novità di SQL Server 2019

In questa versione sono state aggiunte le funzionalità più richieste per le operazioni di Machine Learning R e Python in SQL Server. Per altre informazioni su tutte le funzionalità di questa versione, vedere Novità di SQL Server 2019 e Note sulla versione per SQL Server 2019.

Per la documentazione sulle novità di Java e C# in SQL Server 2019, vedere Novità nelle estensioni del linguaggio di SQL Server.

Di seguito sono elencate le nuove funzionalità di Machine Learning Services per SQL Server disponibili sia in Windows che in Linux:

Novità di SQL Server 2017

In questa versione sono stati aggiunti il supporto di Python e algoritmi di Machine Learning leader del settore. Rinominato per riflettere il nuovo ambito, SQL Server 2017 vede l'introduzione di SQL Server Machine Learning Services (In-Database), con supporto del linguaggio sia per Python che per R.

Per informazioni complete sugli annunci di funzionalità, vedere Novità di SQL Server 2017.

Miglioramenti di R

Il componente R di SQL Server Machine Learning Services rappresenta la nuova generazione di SQL Server 2016 R Services, con versioni aggiornate di pacchetti R di base, RevoScaleR e altri pacchetti.

Le nuove funzionalità di R includono la gestione di pacchetti, con le interessanti caratteristiche seguenti:

Librerie R

Pacchetto Descrizione
MicrosoftML In questa versione, il pacchetto MicrosoftML è incluso in un'installazione di R predefinita, eliminando il passaggio di aggiornamento necessario in precedenza in SQL Server 2016 R Services. MicrosoftML fornisce algoritmi di Machine Learning e trasformazioni dei dati all'avanguardia che è possibile ridimensionare o eseguire in contesti di calcolo remoti. Gli algoritmi includono reti neurali profonde personalizzabili, foreste delle decisioni e alberi delle decisioni rapidi, regressione lineare e regressione logistica.

Integrazione di Python per l'analisi nel database

Python è un linguaggio che offre flessibilità e potenza straordinarie per un'ampia gamma di attività di Machine Learning. Le librerie open source per Python includono diverse piattaforme per reti neurali personalizzabili, nonché librerie popolari per l'elaborazione del linguaggio naturale.

Poiché Python si integra con il motore di database, è possibile mantenere l'analisi vicina ai dati ed eliminare i costi e i rischi di sicurezza associati allo spostamento dei dati. È possibile distribuire soluzioni di Machine Learning basate su Python usando strumenti come Visual Studio. Le applicazioni di produzione possono ottenere stime, modelli o oggetti visivi dal runtime di Python 3.5 usando metodi di accesso ai dati di SQL Server.

L'integrazione di T-SQL e Python è supportata tramite la stored procedure di sistema sp_execute_external_script. È possibile chiamare qualsiasi codice Python usando questa stored procedure. Il codice viene eseguito in un'architettura doppia sicura, che consente la distribuzione di livello aziendale di script e modelli Python, che è possibile richiamare da un'applicazione usando una semplice stored procedure. Ulteriori miglioramenti delle prestazioni vengono ottenuti tramite la trasmissione del flusso di dati dai processi SQL ai processi Python e la parallelizzazione dei segnali MPI.

È possibile usare la funzione T-SQL PREDICT per eseguire l'assegnazione di punteggi a livello nativo in un modello con training preliminare salvato in precedenza nel formato binario richiesto.

Librerie Python

Pacchetto Descrizione
revoscalepy Equivalente Python di RevoScaleR. È possibile creare modelli Python per regressioni lineari e logistiche, alberi delle decisioni, alberi con boosting e foreste casuali, tutti parallelizzabili ed eseguibili in contesti di calcolo remoti. Questo pacchetto supporta l'uso di più origini dati e contesti di calcolo remoti. Il data scientist o lo sviluppatore può eseguire codice Python in un'istanza remota di SQL Server, per esplorare i dati o creare modelli senza spostare i dati.
microsoftml Equivalente Python del pacchetto MicrosoftML R.

Modelli con training preliminare

Sono disponibili modelli con training preliminare per Python e R. Usare questi modelli per il riconoscimento delle immagini e l'analisi del sentiment positivo-negativo, per generare stime sui dati.

Server autonomo come funzionalità condivisa nell'installazione di SQL Server

In questa versione viene aggiunto anche SQL Server Machine Learning Server (Standalone), un server di data science completamente indipendente che supporta l'analisi predittiva e statistica in R e Python. Come per R Services, questo server è la versione successiva di SQL Server 2016 R Server (Standalone). Con il server autonomo è possibile distribuire e ridimensionare soluzioni R o Python senza dipendenze in SQL Server.

Novità di SQL Server 2016

In questa versione sono state introdotte funzionalità di Machine Learning in SQL Server tramite SQL Server 2016 R Services, un motore di analisi nel database per l'elaborazione di script R sui dati residenti all'interno di un'istanza del motore di database.

È stato inoltre rilasciato SQL Server 2016 R Server (Standalone) come strumento per l'installazione di R Server in un server Windows. Inizialmente, l'installazione di SQL Server rappresentava l'unico modo per installare R Server per Windows. Con le versioni successive, sviluppatori e data scientist che vogliono installare R Server in Windows possono usare un altro programma di installazione autonomo per ottenere lo stesso obiettivo. Il server autonomo in SQL Server è equivalente dal punto di vista funzionale al prodotto server autonomo Microsoft R Server per Windows.

Per informazioni complete sugli annunci di funzionalità, vedere Novità di SQL Server 2016.

Versione Aggiornamento delle funzionalità
Aggiunte tramite aggiornamento cumulativo L'assegnazione di punteggi in tempo reale si basa sulle librerie C++ native per leggere un modello archiviato in un formato binario ottimizzato e quindi generare stime senza dover chiamare il runtime di R. Ciò rende molto più rapide le operazioni di assegnazione dei punteggi. Con l'assegnazione dei punteggi in tempo reale, è possibile eseguire una stored procedure o assegnare punteggi in tempo reale dal codice R. L'assegnazione dei punteggi in tempo reale è disponibile anche per SQL Server 2016, se l'istanza viene aggiornata alla versione più recente di Microsoft R Server.
Versione iniziale Integrazione di R per l'analisi nel database.

Pacchetti R per la chiamata di funzioni R in T-SQL e viceversa. Le funzioni RevoScaleR forniscono funzionalità di analisi R su larga scala tramite suddivisione dei dati in parti componenti, coordinamento e gestione dell'elaborazione distribuita e aggregazione dei risultati. In SQL Server 2016 R Services (In-Database), il motore RevoScaleR è integrato con un'istanza del motore di database, quindi dati e analisi vengono riuniti nello stesso contesto di elaborazione.

Integrazione di T-SQL e R tramite sp_execute_external_script. È possibile chiamare qualsiasi codice R usando questa stored procedure. Questa infrastruttura sicura consente la distribuzione di livello aziendale di script e modelli R, che è possibile chiamare da un'applicazione usando una semplice stored procedure. Ulteriori miglioramenti delle prestazioni vengono ottenuti tramite la trasmissione del flusso di dati dai processi SQL ai processi R e la parallelizzazione dei segnali MPI.

È possibile usare la funzione T-SQL PREDICT per eseguire l'assegnazione di punteggi a livello nativo in un modello con training preliminare salvato in precedenza nel formato binario richiesto.

Supporto di Linux

In SQL Server 2019 viene aggiunto il supporto di Linux per R e Python quando si installano i pacchetti di Machine Learning con un'istanza del motore di database. Per altre informazioni, vedere Installare SQL Server Machine Learning Services in Linux.

In Linux, SQL Server 2017 non ha l'integrazione di R o Python, ma è possibile usare l'assegnazione di punteggi a livello nativo in Linux perché tale funzionalità è disponibile tramite la funzione T-SQL PREDICT, che viene eseguita in Linux. L'assegnazione di punteggi a livello nativo consente prestazioni elevate per l'assegnazione di punteggi da un modello con training preliminare, senza necessità di chiamate e nemmeno del runtime R.

Passaggi successivi