Condividi tramite


Che cos'è un archivio delle funzionalità gestite?

L'archivio delle funzionalità gestite è stato progettato per consentire ai professionisti di apprendimento automatico di sviluppare funzionalità e renderle disponibili in produzione in modo indipendente. Fornire una specifica del set di funzionalità. Il sistema si occupa della gestione, della protezione e del monitoraggio delle funzionalità. In questo modo si elimina il sovraccarico correlato alla configurazione e alla gestione della pipeline di progettazione di funzionalità sottostante.

Grazie all'integrazione dell'archivio delle funzionalità nel ciclo di vita di apprendimento automatico, è possibile sperimentare e distribuire i modelli più velocemente, aumentare l'affidabilità dei modelli e ridurre i costi operativi. La ridefinizione dell'esperienza di apprendimento automatico offre questi vantaggi.

Per altre informazioni sulle entità di primo livello nell'archivio delle funzionalità, incluse le specifiche dei set di funzionalità, visitare Informazioni sulle entità di primo livello nell'archivio delle funzionalità gestite.

Che cosa sono le funzionalità?

Una funzionalità funge da dati di input per il modello. Per i casi d'uso basati sui dati in un contesto aziendale, una funzionalità spesso trasforma i dati cronologici (aggregazioni semplici, aggregazioni di finestre, trasformazioni a livello di riga e così via). Si consideri, ad esempio, un modello di Machine Learning per l'abbandono dei clienti. Gli input del modello possono includere dati di interazione dei clienti, ad esempio 7day_transactions_sum (numero di transazioni negli ultimi sette giorni) o 7day_complaints_sum (numero di reclami negli ultimi sette giorni). Entrambe queste funzioni di aggregazione vengono calcolate sui dati dei sette giorni precedenti.

Problemi risolti dall'archivio delle funzionalità

Per comprendere meglio l'archivio delle funzionalità gestite, è necessario prima di tutto comprendere i problemi che possono essere risolti da un archivio delle funzionalità.

  • Un archivio delle funzionalità consente di cercare e riutilizzare le funzionalità create dal team, per evitare il lavoro ridondante e fornire stime coerenti.

  • È possibile creare una nuova funzionalità con la possibilità di eseguire trasformazioni, per soddisfare i requisiti di progettazione delle funzionalità in modo agile e dinamico.

  • Il sistema rende operative e gestisce le pipeline di progettazione delle funzionalità necessarie per la trasformazione e la materializzazione per liberare il team dagli aspetti operativi.

  • È possibile usare la stessa pipeline di funzionalità, usata originariamente per la generazione di dati di training, per un nuovo uso a scopo di inferenza in modo da fornire coerenza online/offline ed evitare l'asimmetria di training/gestione.

Condividere l'archivio delle funzionalità gestite

Diagramma che mostra come condividere l'archivio funzionalità tra più utenti e aree di lavoro

L'archivio delle funzionalità è un nuovo tipo di area di lavoro che può essere usato da più aree di lavoro del progetto. È possibile utilizzare funzionalità di ambienti basati su Spark diversi da Azure Machine Learning, ad esempio Azure Databricks. È anche possibile eseguire in locale lo sviluppo e il test delle funzionalità.

Panoramica dell'archivio delle funzionalità

Diagramma che illustra un'architettura concettuale di Azure Machine Learning

Per l'archivio delle funzionalità gestite si fornisce una specifica del set di funzionalità. Il sistema si occupa quindi della gestione, della protezione e del monitoraggio delle funzionalità. Una specifica del set di funzionalità contiene definizioni di funzionalità e logica di trasformazione facoltativa. È anche possibile specificare in modo dichiarativo le impostazioni di materializzazione per eseguire la materializzazione in un archivio offline (ADLS Gen2). Il sistema genera e gestisce le pipeline di materializzazione delle funzionalità sottostanti. È possibile usare il catalogo delle funzionalità per cercare, condividere e riutilizzare le funzionalità. Con l'API di gestione, gli utenti possono cercare funzionalità per generare dati per il training e l'inferenza. L'API di gestione può eseguire il pull dei dati direttamente dall'origine o da un archivio di materializzazione offline per l'inferenza di training/batch. Il sistema fornisce anche funzionalità per il monitoraggio dei processi di materializzazione delle funzionalità.

Vantaggi dell'uso dell'archivio delle funzionalità gestite di Azure Machine Learning

  • Aumenta l'agilità nella distribuzione del modello (dalla creazione di prototipi all'operazionalizzazione):
    • Individuare e riutilizzare le funzionalità invece di creare funzionalità da zero
    • Sperimentazione più rapida con sviluppo/test in locale di nuove funzionalità con supporto della trasformazione e uso della specifica di recupero delle funzionalità come tessuto connettivo nel flusso MLOps
    • Materializzazione dichiarativa e inserimento automatico
    • Costrutti predefiniti: componente di recupero delle funzionalità e specifica di recupero delle funzionalità
  • Migliora l'affidabilità dei modelli di Machine Learning
    • Definizione di funzionalità coerente tra business unit/organizzazione
    • I set di funzionalità includono il controllo delle versioni e non sono modificabili: la versione più recente dei modelli può usare versioni più recenti delle funzionalità senza interrompere la versione precedente del modello
    • Monitorare la materializzazione dei set di funzionalità
    • La materializzazione evita l'asimmetria di training/distribuzione
    • Il recupero delle funzionalità supporta join temporali temporizzato (noti anche come spostamento cronologico) per evitare perdite di dati.
  • Riduce i costi
    • Riutilizzare le funzionalità create da altri utenti nell'organizzazione
    • La materializzazione e il monitoraggio sono gestiti dal sistema, per ridurre i costi di progettazione

Individuare e gestire le funzionalità

L'archivio delle funzionalità gestite offre queste funzionalità per l'individuazione e la gestione delle funzionalità:

  • Ricerca e riutilizzo delle funzionalità: è possibile cercare e riutilizzare le funzionalità negli archivi delle funzionalità
  • Supporto del controllo delle versioni: i set di funzionalità includono il controllo delle versioni e non sono modificabili, consentendo quindi di gestire in modo indipendente il ciclo di vita del set di funzionalità. È possibile distribuire nuove versioni del modello con versioni di funzionalità diverse ed evitare interruzioni della versione precedente del modello
  • Visualizzare i costi a livello di archivio delle funzionalità: il costo primario associato all'utilizzo dell'archivio delle funzionalità comporta processi di materializzazione Spark gestiti. È possibile visualizzare questo costo a livello di archivio delle funzionalità
  • Utilizzo dei set di funzionalità: è possibile visualizzare l'elenco dei modelli registrati che usano i set di funzionalità.

Trasformazione delle funzionalità

La trasformazione delle funzionalità implica la modifica delle funzionalità del set di dati per migliorare le prestazioni del modello. Il codice di trasformazione, definito in una specifica di funzionalità, gestisce la trasformazione delle funzionalità. Per una sperimentazione più rapida, il codice di trasformazione esegue calcoli sui dati di origine e consente lo sviluppo e il test in locale delle trasformazioni.

L'archivio delle funzionalità gestite offre queste funzionalità di trasformazione delle funzionalità:

  • Supporto per trasformazioni personalizzate: è possibile scrivere un trasformatore Spark per sviluppare funzionalità con trasformazioni personalizzate, ad esempio aggregazioni basate su finestre
  • Supporto per le funzionalità pre-calcolate: è possibile inserire funzionalità pre-calcolate nell'archivio delle funzionalità e usarle senza scrivere codice
  • Sviluppo e test in locale: con un ambiente Spark è possibile sviluppare e testare completamente i set di funzionalità in locale

Materializzazione delle funzionalità

La materializzazione implica il calcolo dei valori delle funzionalità per una determinata finestra di funzionalità e la persistenza di tali valori in un archivio di materializzazione. I dati delle funzionalità possono essere ora recuperati più rapidamente e in modo più affidabile per scopi di training e inferenza.

  • Pipeline di materializzazione delle funzionalità gestite: specificare in modo dichiarativo la pianificazione della materializzazione e il sistema gestisce quindi la pianificazione, il pre-calcolo e la materializzazione dei valori nell'archivio di materializzazione
  • Supporto per l'inserimento automatico: è possibile eseguire la materializzazione su richiesta dei set di funzionalità per una determinata finestra di funzionalità
  • Supporto di Spark gestito per la materializzazione: Spark gestito di Azure Machine Learning (nelle istanze di elaborazione serverless) esegue i processi di materializzazione. Consente all'utente di evitare la configurazione e la gestione dell'infrastruttura Spark.

Nota

Sono attualmente supportati sia l'archivio offline (ADLS Gen2) sia l'archivio online (Redis) per la materializzazione.

Recupero delle funzionalità

Azure Machine Learning include un componente predefinito che gestisce il recupero delle funzionalità offline. Consente l'uso delle funzionalità nei passaggi di training e inferenza batch di un processo della pipeline di Azure Machine Learning.

L'archivio delle funzionalità gestite offre queste funzionalità di recupero delle funzionalità:

  • Generazione di dati di training dichiarativi: grazie al componente di recupero delle funzionalità predefinito, è possibile generare dati di training nelle pipeline senza scrivere codice
  • Generazione di dati di inferenza batch dichiarativi: grazie allo stesso componente di recupero delle funzionalità predefinito, è possibile generare dati di inferenza batch
  • Recupero delle funzionalità a livello di codice: è anche possibile usare Python SDK get_offline_features()per generare i dati di training/inferenza

Monitoraggio

L'archivio delle funzionalità gestite offre le funzionalità di monitoraggio seguenti:

  • Stato dei processi di materializzazione: è possibile visualizzare lo stato dei processi di materializzazione usando l'interfaccia utente, l'interfaccia della riga di comando o l'SDK
  • Notifica sui processi di materializzazione: è possibile configurare le notifiche tramite posta elettronica sui diversi stati dei processi di materializzazione

Sicurezza

L'archivio delle funzionalità gestite offre le funzionalità di sicurezza seguenti:

  • Controllo degli accessi in base al ruolo: Controllo degli accessi in base al ruolo per l'archivio delle funzionalità, il set di funzionalità e le entità.
  • Query negli archivi delle funzionalità: è possibile creare più archivi delle funzionalità con autorizzazioni di accesso diverse per gli utenti, ma consentire l'esecuzione di query (ad esempio, generare dati di training) da più archivi delle funzionalità

Passaggi successivi