Condividi tramite


Training del modello Vowpal Wabbit versione 8

Importante

Il supporto dello studio di Azure Machine Learning (versione classica) terminerà il 31 agosto 2024. È consigliabile passare ad Azure Machine Learning entro tale data.

A partire dal 1° dicembre 2021 non sarà possibile creare nuove risorse dello studio di Azure Machine Learning (versione classica). Fino al 31 agosto 2024 sarà possibile continuare a usare le risorse dello studio di Azure Machine Learning (versione classica).

La documentazione relativa allo studio di Machine Learning (versione classica) è in fase di ritiro e potrebbe non essere aggiornata in futuro.

Il modello viene addestrato con la versione 8 del sistema di Machine Learning Vowpal Wabbit

Categoria: Analisi del testo

Nota

Si applica a: Machine Learning Studio (versione classica)

Nella finestra di progettazione sono disponibili moduli simili Azure Machine Learning trascinamento della selezione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Train Vowpal Wabbit Version 8 (Training Vowpal Wabbit versione 8) in Machine Learning Studio (versione classica) per creare un modello di Machine Learning usando Vowpal Wabbit (versione 8).

Per usare Vowpal Wabbit per l'apprendimento automatico, formattare l'input in base ai requisiti di Vowpal Wabbit e salvare i dati in un BLOB di Azure. Usare questo modulo per specificare gli argomenti della riga di comando di Vowpal Wabbit.

Quando viene eseguito l'esperimento, un'istanza di Vowpal Wabbit viene caricata nel run-time dell'esperimento, insieme ai dati specificati. Al termine del training, il modello viene serializzato nuovamente nell'area di lavoro. È possibile usare il modello immediatamente per segnare un punteggio ai dati. Il modello con training viene salvato in modo permanente anche in Archiviazione di Azure, in modo che sia possibile usarlo in un secondo momento senza dover rielaborare i dati di training.

Per eseguire il training incrementale di un modello esistente su nuovi dati, connettere un modello salvato all'input del modello con training preliminare e aggiungere i nuovi dati all'altro input.

Nota

Machine Learning Studio (versione classica) ospita più versioni del framework Vowpal Wabbit. Questo modulo usa la versione più recente del framework Vowpal Wabbit, ovvero la versione 8. Per segnare nuovi dati di input, è necessario usare score vowpal wabbit versione 8 model.

Vowpal Wabbit versioni 7-4 o 7-6: Train Vowpal Wabbit 7-4 Model e Score Vowpal Wabbit 7-4 Model.

Vowpal Wabbit versione 7-10: Train Vowpal Wabbit 7-10 Model e Score Vowpal Wabbit 7-10 Model.

Informazioni su Vowpal Wabbit

Vowpal Wabbit (VW) è un framework di Machine Learning veloce e parallelo sviluppato per l'elaborazione distribuita da Yahoo! Ricerca. In seguito è stato trasferito in Windows e adattato da John Langford (Microsoft Research) per l'elaborazione scientifica nelle architetture parallele.

Le funzionalità di Vowpal Wabbit importanti per l'apprendimento automatico includono l'apprendimento continuo (apprendimento online), la riduzione della dimensionalità e l'apprendimento interattivo. Vowpal Wabbit è anche una soluzione per i problemi che si verificano quando non è possibile adattare i dati del modello alla memoria.

Gli utenti principali di Vowpal Wabbit sono data scientist che hanno usato in precedenza il framework per attività di Machine Learning, ad esempio classificazione, regressione, modellazione di argomenti o fattorizzazione della matrice. Il wrapper di Azure per Vowpal Wabbit ha caratteristiche di prestazioni molto simili alla versione locale, quindi è possibile usare le potenti funzionalità e le prestazioni native di Vowpal Wabbit e pubblicare facilmente il modello con training come servizio operativo.

Il modulo Feature Hashing include anche la funzionalità fornita da Vowpal Wabbit, che consente di trasformare i set di dati di testo in funzionalità binarie usando un algoritmo hash.

Come configurare il modello vowpal Wabbit versione 8

Questa sezione descrive come eseguire il training di un nuovo modello e come aggiungere nuovi dati a un modello esistente.

A differenza di altri moduli in Studio (versione classica), questo modulo specifica entrambi i parametri del modulo ed eseleva il modello. Se si dispone di un modello esistente, è possibile aggiungerlo come input facoltativo per eseguire il training incrementale del modello.

L'uso di questo modulo richiede l'autenticazione a un account di archiviazione di Azure.

Preparare i dati di input

Per eseguire il training di un modello usando questo modulo, il set di dati di input deve essere costituito da una singola colonna di testo in uno dei due formati supportati: LibSVM o VW. Questo non significa che Vowpal Wabbit analizzi solo i dati di testo, ma solo che le caratteristiche e i valori devono essere preparati nel formato di file di testo richiesto.

I dati devono essere letti da Archiviazione di Azure. Non è possibile usare Esporta dati per salvare direttamente il file di input in Azure per l'uso con Vowpal Wabbit, perché il formato richiede alcune modifiche aggiuntive. È necessario assicurarsi che i dati siano nel formato corretto e quindi caricare i dati nell'archivio BLOB di Azure.

Tuttavia, come collegamento, è possibile usare il modulo Convert to SVMLight (Converti in SVMLight ) per generare un file di formato SVMLight. È quindi possibile caricare il file di formato SVMLight nell'archivio BLOB di Azure e usarlo come input oppure è possibile modificare leggermente il file in modo che sia conforme ai requisiti del file di input Vowpal Wabbit.

Il vantaggio del formato di dati di Vowpal Wabbit è che non richiede un formato a colonne. Questo consente di risparmiare spazio quando si gestiscono dati di tipo sparse. Per altre informazioni su questo formato, vedere la pagina wiki di Vowpal Wabbit.

Creare ed training di un modello Vowpal Wabbit

  1. Aggiungere il modulo Train Vowpal Wabbit Version 8 all'esperimento.

  2. Specificare l'account in cui vengono archiviati i dati di training. Il modello con training e il file hash vengono archiviati nella stessa posizione.

    • Per Nome account di archiviazione di Azure digitare il nome dell'account di archiviazione di Azure.

    • Per la chiave di archiviazione di Azure, copiare e incollare la chiave fornita per l'accesso all'account di archiviazione,

    Se non si ha una chiave, vedere Come rigenerare le chiavi di accesso alle risorse di archiviazione

  3. Per Nome contenitore di Azure digitare il nome di un singolo contenitore nell'account di archiviazione di Azure specificato in cui sono archiviati i dati di training del modello. Non digitare il nome dell'account o alcun prefisso del protocollo.

    Ad esempio, se il percorso completo del contenitore e il nome sono https://myaccount.blob.core.windows.net/vwmodels, è necessario digitare solo vwmodels. Per altre informazioni sui nomi dei contenitori, vedere Denominazione e riferimento a contenitori, BLOB e metadati.

  4. Nella casella di testo VW arguments (Argomenti VW ) digitare gli argomenti della riga di comando per l'eseguibile vowpal Wabbit.

    Ad esempio, è possibile aggiungere –l per specificare la velocità di apprendimento o -b per indicare il numero di bit di hashing.

    Per altre informazioni, vedere la sezione Vowpal Wabbit parameters (Parametri di Vowpal Wabbit ).

  5. Nome del file VW di input: digitare il nome del file che contiene i dati di input. Il file deve essere un file esistente nell'archivio BLOB di Azure, che si trova nell'account di archiviazione e nel contenitore specificati in precedenza. Il file deve essere stato preparato utilizzando uno dei formati supportati.

  6. Nome del file del modello leggibile di output (--readable_model): digitare il nome di un file in cui salvare il modello con training. Il file deve essere salvato nello stesso account di archiviazione e nello stesso contenitore del file di input.

    Questo argomento corrisponde al parametro --readable_model nella riga di comando di VW.

  7. Nome del file hash invertito di output (--invert_hash): digitare il nome del file in cui deve essere salvata la funzione hash invertita. Il file deve essere salvato nello stesso account di archiviazione e nello stesso contenitore del file di input.

    Questo argomento corrisponde al parametro --invert_hash nella riga di comando di VW.

  8. Specificare il tipo di file: indicare il formato utilizzato per i dati di training. Vowpal Wabbit supporta questi due formati di file di input:

  9. Selezionare l'opzione Usa risultati memorizzati nella cache se non si vogliono caricare i dati dalla memoria ogni volta che l'esperimento viene riunato. Supponendo che non siano stati modificati altri parametri e che sia disponibile una cache valida, Studio (versione classica) usa una versione dei dati memorizzata nella cache.

    Se questa opzione è deselezionata, il modulo legge sempre i dati dall'archiviazione.

  10. Eseguire l'esperimento.

  11. Al termine del training, fare clic con il pulsante destro del mouse sull'output e scegliere Salva come modello con training per salvare il modello nell'area di lavoro di Studio (versione classica).

Eseguire di nuovo il training di un modello Vowpal Wabbit esistente

Vowpal Wabbit supporta il training incrementale aggiungendo nuovi dati a un modello esistente. Esistono due modi per ottenere un modello esistente per la riercizione del training:

  • Usare l'output di un altro modulo Train Vowpal Wabbit versione 8 nello stesso esperimento.

  • Individuare un modello salvato nel gruppo Trained Models (Modelli con training) del riquadro di spostamento sinistro di Studio (versione classica) e trascinarlo nell'esperimento.

  1. Aggiungere il modulo Train Vowpal Wabbit Version 8 all'esperimento.

  2. Connessione il modello con training precedente alla porta di input di Train Vowpal Wabbit versione 8.

  3. Nel riquadro Properties (Proprietà) di Train Vowpal Wabbit Version 8 (Training Vowpal Wabbit versione 8) specificare la posizione e il formato dei nuovi dati di training.

  4. Specificare un nome per il file di output del modello leggibile e un altro nome per il file hash associato al modello aggiornato.

    Nota

    Se nel percorso specificato è presente un modello o un file hash Vowpal Wabbit esistente, i file vengono sovrascritti automaticamente dal nuovo modello con training. Per mantenere i modelli intermedi durante la nuova esecuzione del training, è necessario modificare il percorso di archiviazione o creare una copia locale dei file del modello.

  5. Eseguire l'esperimento.

  6. Fare clic con il pulsante destro del mouse sul modulo e scegliere Salva come modello con training per mantenere il modello aggiornato nell'area Machine Learning lavoro. Se non si specifica un nuovo nome, il modello aggiornato sovrascrive il modello salvato esistente.

Esempio

Per esempi di come è possibile usare Vowpal Wabbit in Machine Learning, vedere l'Azure AI Gallery:

  • Esempio di Vowpal Wabbit

    Questo esperimento illustra la preparazione, il training e l'operazionalizzazione dei dati di un modello VW.

Vedere anche queste risorse:

Note tecniche

Questa sezione contiene informazioni dettagliate sull'implementazione, suggerimenti e risposte alle domande frequenti.

Vantaggi di Vowpal Wabbit

Vowpal Wabbit consente un apprendimento estremamente veloce rispetto alle funzioni non lineari come gli n-grammi.

Vowpal Wabbit usa tecniche di apprendimento online, come i valori descent con sfumatura stocastica (SGD, Stochastic Gradient Descent), per adattare un modello un record alla volta. In questo modo esegue l'iterazione molto velocemente sui dati non elaborati e può sviluppare un valido predittore più rapidamente della maggior parte degli altri modelli. Questo approccio evita inoltre di dover leggere tutti i dati di training in memoria.

Vowpal Wabbit converte tutti i dati in hash, non solo i dati di testo, ma anche le altre variabili categoriche. L'uso degli hash rende più efficiente la ricerca dei pesi di regressione, che è fondamentale per una discesa effettiva della sfumatura stocastica.

Durante il training, il modulo effettua chiamate in un wrapper Vowpal Wabbit sviluppato per Azure. I dati di training vengono scaricati in blocchi da Azure, utilizzando l'elevata larghezza di banda tra i ruoli di lavoro che eseguono i calcoli e l'archivio e vengono trasmessi agli studenti VW. Il modello risultante è in genere molto compatto a causa della compressione interna eseguita da VW. Il modello viene copiato nuovamente nell'area di lavoro dell'esperimento, dove può essere utilizzato come altri modelli in Machine Learning.

Parametri supportati e non supportati

Questa sezione descrive il supporto per i parametri della riga di comando di Vowpal Wabbit in Machine Learning Studio (versione classica).

In genere sono supportati tutti gli argomenti, ma solo un set limitato. Per un elenco completo degli argomenti, usare la pagina wiki vowpal Wabbit.

I parametri seguenti non vengono soppportati:

  • Opzioni di input/output specificate in https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    Queste proprietà sono già configurate automaticamente dal modulo.

  • Inoltre, qualsiasi opzione che genera più output o accetta più input non è consentita. tra cui --cbt, --ldae --wap.

  • Sono supportati solo algoritmi di apprendimento con supervisione. Pertanto, queste opzioni non sono supportate: –active, --ranke --search così via. ### Restrizioni

Restrizioni

Poiché l'obiettivo del servizio è supportare utenti esperti di Vowpal Wabbit, i dati di input devono essere preparati in anticipo usando il formato di testo nativo Vowpal Wabbit, anziché il formato del set di dati usato da altri moduli.

Anziché usare i dati nell'area di lavoro ML Azure, i dati di training vengono trasmessi direttamente da Azure, per ottenere prestazioni massime e un sovraccarico di analisi minimo. Per questo motivo, l'interoperabilità tra i moduli VW e altri moduli in Azure ML.

Parametri del modulo

Nome Intervallo Tipo Facoltativo Predefinito Descrizione
Please specify file type VW

SVMLight
DataType Necessario VW Indicare se il tipo di file è SVMLight o Vowpal Wabbit.
Nome dell'account di archiviazione di Azure any string Necessario Digitare il nome dell'account di archiviazione di Azure
Chiave di archiviazione di Azure any SecureString Necessario Fornisce la chiave di archiviazione di Azure
Azure container name any string Necessario Digitare il nome del contenitore di Azure
Argomenti VW any string Facoltativo Specifica gli argomenti Vowpal Wabbit. Non includere -f.
Name of the input VW file any string Necessario Specifica il nome di un file di input nel formato Vowpal Wabbit
Nome del file di modello leggibile di output (--readable_model) any string Facoltativo Se specificato, l'output è un modello leggibile nel contenitore di Azure.
Nome del file di hash inverso di output (--invert_hash) string string Facoltativo Se specificato, l'output è un file contenente la funzione hash inversa nel contenitore di Azure.

Output

Nome Tipo Descrizione
Trained model ILearner interface Strumento di apprendimento con training

Eccezioni

Eccezione Descrizione
Errore 0001 L'eccezione si verifica se non è possibile trovare una o più colonne specificate del set di dati.
Errore 0003 L'eccezione si verifica se uno o più input sono null o vuoti.
Errore 0004 L'eccezione si verifica se un parametro è inferiore o uguale a un valore specifico.
Errore 0017 Si verifica un'eccezione se il tipo di una o più colonne specificate non è supportato dal modulo attuale.

Per un elenco di errori specifici dei moduli di Studio (versione classica), vedere l'Machine Learning codici di errore.

Per un elenco delle eccezioni API, vedere l'Machine Learning di errore dell'API REST.

Vedi anche

Analisi del testo
Hashing di funzioni
Riconoscimento di entità denominate
Score Vowpal Wabbit 7-4 Model
Punteggio vowpal wabbit versione 8 modello.
Training del modello Vowpal Wabbit 7-4
Elenco moduli A-Z