Concetti sui dati in Azure Machine Learning

Con Azure Machine Learning è possibile importare dati da un computer locale o da una risorsa di archiviazione basata sul cloud esistente. Questo articolo descrive i concetti chiave dei dati di Azure Machine Learning.

Archivio dati

Un archivio dati di Azure Machine Learning funge da riferimento per un account di archiviazione di Azure esistente. Un archivio dati di Azure Machine Learning offre questi vantaggi:

  • Un'API comune e facile da usare che interagisce con diversi tipi di archiviazione (BLOB/File/ADLS).
  • Individuazione più semplice di archivi dati utili nelle operazioni del team.
  • Per l'accesso basato sulle credenziali (entità servizio/firma di accesso condiviso/chiave), l'archivio dati di Azure Machine Learning protegge le informazioni di connessione. In questo modo, non sarà necessario inserire tali informazioni negli script.

Quando si crea un archivio dati con un account di archiviazione di Azure esistente, è possibile scegliere tra due metodi di autenticazione diversi:

  • Basato sulle credenziali: consente di autenticare l'accesso ai dati usando un'entità servizio, un token di firma di accesso condiviso (SAS) o una chiave dell'account. Gli utenti con accesso lettore all'area di lavoro possono accedere alle credenziali.
  • Basato sull'identità: consente di usare l'identità Microsoft Entra o l'identità gestita per autenticare l'accesso ai dati.

La tabella seguente riepiloga i servizi di archiviazione di Azure basati sul cloud che un archivio dati di Azure Machine Learning può creare. Inoltre, la tabella riepiloga i tipi di autenticazione che possono accedere a tali servizi:

Servizio di archiviazione supportato Autenticazione basata sulle credenziali Autenticazione basata sull'identità
Contenitore BLOB di Azure
Condivisione file di Azure
Azure Data Lake Gen1
Azure Data Lake Gen2

Per altre informazioni sugli archivi dati, vedere Creare archivi dati.

Archivi dati predefiniti

Ogni area di lavoro di Azure Machine Learning ha un account di archiviazione predefinito (account di archiviazione di Azure) che contiene gli archivi dati seguenti:

Suggerimento

Per trovare l'ID dell'area di lavoro, passare all'area di lavoro nel portale di Azure. Espandere Impostazioni e quindi selezionare Proprietà. Viene visualizzato l'ID dell'area di lavoro.

Nome dell'archivio dati Tipo di archiviazione dei dati Nome dell'archiviazione dati Descrizione
workspaceblobstore Contenitore BLOB azureml-blobstore-{workspace-id} Archivia i caricamenti dei dati, gli snapshot del codice del processo e la cache dei dati della pipeline.
workspaceworkingdirectory Condivisione file code-{GUID} Archivia i dati per notebook, istanze di calcolo e flusso di richieste.
workspacefilestore Condivisione file azureml-filestore-{workspace-id} Contenitore alternativo per il caricamento dei dati.
workspaceartifactstore Contenitore BLOB azureml Archiviazione per asset quali metriche, modelli e componenti.

Tipo di dati

Un URI (posizione di archiviazione) può fare riferimento a un file, a una cartella o a una tabella dati. La definizione di input e output di un processo di apprendimento automatico richiede uno dei tre tipi di dati seguenti:

Type API V2 API V1 Scenari canonici Differenza API V2/V1
file
Riferimento a un singolo file
uri_file FileDataset Lettura/scrittura di un singolo file: il file può avere qualsiasi formato. Tipo nuovo per le API V2. Nelle API V1 il mapping dei file viene sempre eseguito a una cartella nel file system della destinazione di calcolo; questo mapping richiede os.path.join. Nelle API V2 viene eseguito il mapping del singolo file. In questo modo, è possibile fare riferimento a tale posizione nel codice.
Cartella
Riferimento a una singola cartella
uri_folder FileDataset È necessario leggere/scrivere una cartella di file parquet/CSV in Pandas/Spark.

Deep Learning con immagini, file di testo, audio, video situati in una cartella.
Nelle API V1 FileDataset ha un motore associato che può accettare un esempio di file di una cartella. Nelle API V2 una cartella è un semplice mapping al file system della destinazione di calcolo.
Tabella
Riferimento a una tabella dati
mltable TabularDataset Si dispone di uno schema complesso soggetto a modifiche frequenti oppure è necessario un subset di dati tabulari di grandi dimensioni.

AutoML con tabelle.
Nelle API V1 il back-end di Azure Machine Learning archivia il progetto di materializzazione dei dati. Di conseguenza, TabularDataset funziona solo se si dispone di un'area di lavoro di Azure Machine Learning. mltable archivia il progetto di materializzazione dei dati nella propria risorsa di archiviazione. Questa posizione di archiviazione consente di usare il progetto in modo indipendente da AzureML, ad esempio in locale. Nelle API V2 è più facile passare da processi locali a remoti. Per altre informazioni, vedere Uso delle tabelle in Azure Machine Learning.

URI

Un URI (Uniform Resource Identifier) rappresenta una posizione di archiviazione nel computer locale, nell'archiviazione di Azure o in un percorso HTTP(S) disponibile pubblicamente. Questi esempi mostrano gli URI per diverse opzioni di archiviazione:

Posizione di archiviazione Esempi di URI
Archivio dati di Azure Machine Learning azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet
Computer locale ./home/username/data/my_data
Server HTTP(S) pubblico https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv
Archiviazione BLOB wasbs://<containername>@<accountname>.blob.core.windows.net/<folder>/
Azure Data Lake (gen2) abfss://<file_system>@<account_name>.dfs.core.windows.net/<folder>/<file>.csv
Azure Data Lake (gen1) adl://<accountname>.azuredatalakestore.net/<folder1>/<folder2>

Un processo di Azure Machine Learning esegue il mapping degli URI al file system della destinazione di calcolo. Questo mapping significa che in un comando che utilizza o produce un URI, tale URI funziona come un file o una cartella. Un URI usa l'autenticazione basata sull'identità per connettersi ai servizi di archiviazione, con Microsoft Entra ID (impostazione predefinita) o l'identità gestita. Gli URI dell'archivio dati di Azure Machine Learning possono applicare l'autenticazione basata sull'identità o basata sulle credenziali (ad esempio, entità servizio, token di firma di accesso condiviso, chiave dell'account), senza esposizione di segreti.

Un URI può fungere da input o da output per un processo di Azure Machine Learning ed è possibile eseguirne il mapping al file system della destinazione di calcolo con una delle quattro diverse opzioni di modalità:

  • Montaggio di sola lettura (ro_mount): l'URI rappresenta una posizione di archiviazione montata nel file system della destinazione di calcolo. La posizione dei dati montata supporta esclusivamente l'output di sola lettura.
  • Montaggio in lettura-scrittura (rw_mount): l'URI rappresenta una posizione di archiviazione montata nel file system della destinazione di calcolo. La posizione dei dati montata supporta sia l'output di lettura che la scrittura dati.
  • Download (download): l'URI rappresenta una posizione di archiviazione contenente i dati scaricati nel file system della destinazione di calcolo.
  • Caricamento (upload): tutti i dati scritti in una posizione della destinazione di calcolo vengono caricati nella posizione di archiviazione rappresentata dall'URI.

Inoltre, è possibile passare l'URI come stringa di input del processo con la modalità diretta. Questa tabella riepiloga la combinazione di modalità disponibili per input e output:

Posizione
Input o output
upload download ro_mount rw_mount direct
Input
Output

Per altre informazioni, vedere Accedere ai dati in un processo.

Funzionalità di runtime dei dati

Azure Machine Learning usa il proprio runtime di dati per uno dei tre scopi seguenti:

  • per montaggi/caricamenti/download
  • per eseguire il mapping degli URI di archiviazione al file system della destinazione di calcolo
  • per materializzare i dati tabulari in pandas/spark con le tabelle di Azure Machine Learning (mltable)

Il runtime di dati di Azure Machine Learning è progettato per garantire un'elevata velocità ed efficienza delle attività di apprendimento automatico. Offre questi vantaggi principali:

  • Architettura del linguaggio Rust. Il linguaggio Rust è noto per garantire un'elevata velocità e un'elevata efficienza della memoria.
  • Modalità lightweight. Il runtime di dati di Azure Machine Learning non ha dipendenze da altre tecnologie, come JVM, quindi viene installato rapidamente nelle destinazioni di calcolo.
  • Caricamento di dati multiprocesso (parallelo).
  • Le preletture dei dati funzionano come attività in background sulle CPU, per migliorare l'utilizzo delle GPU nelle operazioni di Deep Learning.
  • Autenticazione semplice per l'archiviazione nel cloud.

Asset di dati

Un asset di dati di Azure Machine Learning è simile ai segnalibri del Web browser (preferiti). Invece di ricordare percorsi di archiviazione lunghi (URI) che puntano ai dati usati più di frequente, è possibile creare un asset di dati e quindi accedere a tale asset con un nome descrittivo.

La creazione di un asset di dati crea anche un riferimento al percorso dell'origine dati, insieme a una copia dei relativi metadati. Poiché i dati rimangono nella posizione esistente, non vengono addebitati costi di archiviazione aggiuntivi e non si rischia l'integrità dell'origine dati. È possibile creare asset di dati da archivi dati di Azure Machine Learning, Archiviazione di Azure, URL pubblici o file locali.

Per altre informazioni sugli asset di dati, vedere Creare asset di dati.

Passaggi successivi