Condividi tramite


Esempio: Compilare e distribuire una competenza personalizzata con Azure Machine Learning (archiviato)

Questo esempio viene archiviato e non supportato. È stato illustrato come creare una competenza personalizzata usando Azure Machine Learning per estrarre il sentiment basato sugli aspetti dalle recensioni. Ciò ha consentito l'assegnazione di sentiment positivi e negativi all'interno della stessa revisione per essere correttamente ascritti a entità identificate come personale, sala, sala, lobby o pool.

Per eseguire il training del modello di sentiment basato sull'aspetto in Azure Machine Learning, si userà il repository nlp-recipes. Il modello verrà quindi distribuito come endpoint in un cluster di Azure Kubernetes. Una volta distribuito, il modello verrà aggiunto alla pipeline di arricchimento come competenza di Azure Machine Learning che verrà usata dal servizio Ricerca cognitiva.

Vengono forniti due set di dati. Se si vuole eseguire il training del modello autonomamente, è necessario il file hotel_reviews_1000.csv. Se si preferisce saltare la fase di training, scaricare il file hotel_reviews_100.csv.

  • Creare un'istanza di Ricerca cognitiva di Azure
  • Creare un'area di lavoro Azure Machine Learning (il servizio di ricerca e l'area di lavoro devono trovarsi nella stessa sottoscrizione)
  • Eseguire il training di un modello e distribuirlo in un cluster di Azure Kubernetes
  • Collegare una pipeline di arricchimento tramite intelligenza artificiale al modello distribuito
  • Inserire l'output del modello distribuito come competenza personalizzata

Importante

Questa competenza è disponibile in anteprima pubblica in condizioni supplementari per l'utilizzo. L'API REST di anteprima supporta questa competenza.

Prerequisiti

  • Sottoscrizione di Azure - ottenere una sottoscrizione gratuita
  • Servizio Ricerca cognitiva di Azure
  • Risorsa di Servizi cognitivi
  • Account di archiviazione di Azure)
  • Area di lavoro di Azure Machine Learning

Configurazione

  • Clonare o scaricare il contenuto del repository di esempio.
  • Estrarre il contenuto del download in un file ZIP. Verificare che i file siano in lettura/scrittura.
  • Mentre si configurano gli account e i servizi di Azure, copiare i nomi e le chiavi in un file di testo di facile accesso. I nomi e le chiavi verranno aggiunti alla prima cella del notebook in cui sono definite le variabili per l'accesso ai servizi di Azure.
  • Se non si ha familiarità con Azure Machine Learning e i relativi requisiti, vedere questi documenti prima di iniziare:
  • Configurare un ambiente di sviluppo per Azure Machine Learning
  • Creare e gestire le aree di lavoro di Azure Machine Learning nel portale di Azure
  • Quando si configura l'ambiente di sviluppo per Azure Machine Learning, è consigliabile usare l'istanza di calcolo basata sul cloud per velocizzare e semplificare la fase iniziale.
  • Caricare il file del set di dati in un contenitore nell'account di archiviazione. Il file più grande è necessario se si vuole eseguire la fase di training nel notebook. Se si preferisce saltare la fase di training, è consigliabile usare il file più piccolo.

Aprire il notebook e connettersi ai servizi di Azure

  1. Inserire tutte le informazioni necessarie per le variabili che consentiranno di accedere ai servizi di Azure all'interno della prima cella ed eseguire la cella.
  2. Eseguendo la seconda cella viene confermata la connessione al servizio di ricerca per la sottoscrizione.
  3. Nelle sezioni da 1.1 a 1.5 verranno creati l'archivio dati, il set di competenze, l'indice e l'indicizzatore del servizio di ricerca.

A questo punto è possibile scegliere di saltare i passaggi per creare il set di dati di training e sperimentare Azure Machine Learning e passare direttamente alla registrazione dei due modelli disponibili nella cartella dei modelli del repository GitHub. Se si saltano questi passaggi, nel notebook si passerà alla sezione 3.5 relativa alla scrittura dello script di assegnazione dei punteggi. Questo consentirà di risparmiare tempo, in quanto il completamento dei passaggi di download e caricamento dei dati può richiedere fino a 30 minuti.

Creazione e training dei modelli

Nella sezione 2 sono presenti sei celle che scaricano il file di incorporamenti Glove dal repository nlp-recipes. Dopo il download, il file viene quindi caricato nell'archivio dati di Azure Machine Learning. Il file ZIP è di circa 2 GB e l'esecuzione di queste attività richiederà del tempo. Una volta caricati, i dati di training vengono estratti e si è quindi pronti per passare alla sezione 3.

Eseguire il training del modello di sentiment basato sull'aspetto e distribuire l'endpointt

La sezione 3 del notebook esegue il training dei modelli creati nella sezione 2, registra i modelli e li distribuisce come endpoint in un cluster di Azure Kubernetes. Se non si ha familiarità con Azure Kubernetes, è consigliabile leggere gli articoli seguenti prima di provare a creare un cluster di inferenza:

La creazione e la distribuzione del cluster di inferenza possono richiedere fino a 30 minuti. Prima di procedere con i passaggi finali, è consigliabile testare il servizio Web, aggiornando il set di competenze ed eseguendo l'indicizzatore.

Aggiornare il set di competenze

La sezione 4 del notebook contiene quattro celle che aggiornano il set di competenze e l'indicizzatore. In alternativa, è possibile usare il portale per selezionare e applicare la nuova competenza al set di competenze, quindi eseguire l'indicizzatore per aggiornare il servizio di ricerca.

Nel portale passare a Set di competenze e selezionare il collegamento Definizione del set di competenze (JSON). Il portale visualizzerà il codice JSON del set di competenze creato nelle prime celle del notebook. A destra della visualizzazione è disponibile un menu a discesa in cui è possibile selezionare il modello di definizione delle competenze. Selezionare il modello Azure Machine Learning (AML). Specificare il nome dell'area di lavoro di Azure Machine Learning e l'endpoint del modello distribuito nel cluster di inferenza. Il modello verrà aggiornato con l'URI e la chiave dell'endpoint.

Modello di definizione del set di competenze

Copiare il modello di set di competenze dalla finestra e incollarlo nella definizione di set di competenze a sinistra. Modificare il modello per fornire i valori mancanti per:

  • Nome
  • Descrizione
  • Context
  • "name" e "source" di "inputs"
  • "name" e "targetName" di "outputs"

Salvare il set di competenze.

Dopo aver salvato il set di competenze, passare all'indicizzatore e selezionare il collegamento Definizione indicizzatore (JSON). Il portale visualizzerà il codice JSON dell'indicizzatore creato nelle prime celle del notebook. I mapping dei campi di output dovranno essere aggiornati con mapping dei campi aggiuntivi per garantire che l'indicizzatore possa gestirli e passarli correttamente. Salvare le modifiche e selezionare Esegui.

Pulire le risorse

Quando si lavora nella propria sottoscrizione, alla fine di un progetto è opportuno verificare se le risorse create sono ancora necessarie. L'esecuzione continua delle risorse può avere un costo. È possibile eliminare le singole risorse oppure il gruppo di risorse per eliminare l'intero set di risorse.

Per trovare e gestire le risorse nel portale, usare il collegamento Tutte le risorse o Gruppi di risorse nel riquadro di spostamento a sinistra.

Se si usa un servizio gratuito, tenere presente che il numero di indicizzatori e origini dati è limitato a tre. Per non superare il limite, è possibile eliminare i singoli elementi nel portale.