Condividi tramite


Training del modello Vowpal Wabbit versione 7-10

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.

Addestra un modello usando la versione 7-10 del sistema di Machine Learning Vowpal Wabbit

Categoria: Analisi del testo

Nota

Si applica a: Machine Learning Studio (versione classica)

Moduli di trascinamento della selezione simili sono disponibili nella finestra Azure Machine Learning progettazione.

Panoramica del modulo

Questo articolo descrive come usare il modulo Train Vowpal Wabbit version 7-10 in Machine Learning Studio (versione classica) per creare un modello di Machine Learning usando un'istanza di Vowpal Wabbit (versione 7-10).

Per usare Vowpal Wabbit per Machine Learning, 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 l'esperimento viene eseguito, 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 i dati. Anche il modello con training viene salvato in modo permanente nell'archiviazione di Azure in modo da poterlo usare 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 7-10 del framework Vowpal Wabbit.

Se è necessario compilare o segnare un modello in base a una versione precedente (7-4 o 7-6), usare questi moduli: Train Vowpal Wabbit 7-4 Model (Train Vowpal Wabbit 7-4 Model ) e Score Vowpal Wabbit 7-4 Model (Punteggio vowpal Wabbit 7-4 model).

Per la versione più recente, usare Train Vowpal Wabbit Version 8 Model(Train Vowpal Wabbit Version 8 Model), insieme al modulo di assegnazione dei punteggi Score Vowpal Wabbit 8 Model (Punteggio vowpal Wabbit 8 Model).

Informazioni su Vowpal Wabbit

Vowpal Wabbit (VW) è un framework di Machine Learning parallelo veloce sviluppato per il calcolo distribuito 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 in Machine Learning 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, il che significa che gli utenti possono continuare a compilare modelli, eseguire nuovamente il training e segnare punteggi usando le potenti funzionalità e le prestazioni native di Vowpal Wabbit, e allo stesso tempo ottenere la possibilità di 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 7-10

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 esere il trains del 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: LibSVMo VW.

Questo non significa che Vowpal Wabbit analizzi solo i dati di testo, ma solo che le funzionalità 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 usarlo 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 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 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 esere il training di un modello Vowpal Wabbit

  1. Aggiungere il modulo Train Vowpal Wabbit version 7-10 all'esperimento.

  2. Specificare l'account in cui vengono archiviati i dati di training. Il modello con training e il file hash vengono archiviati nello stesso percorso.

    • 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 accedere all'account di archiviazione,

    Se non si ha una chiave, vedere Come rigenerare le chiavi di accesso all'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 Argomenti VW digitare gli argomenti della riga di comando per l'eseguibile Vowpal Wabbit.

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

    Per altre informazioni, vedere la sezione relativa ai parametri.

  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 usando 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 dall'archiviazione ogni volta che l'esperimento viene riuno. Supponendo che non siano stati modificati altri parametri e che sia possibile trovare 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. Dopo aver generato il modello, fare clic con il pulsante destro del mouse sull'output e scegliere Salva come modello con training, in modo da poter usare di nuovo ed eseguire nuovamente il training del modello in un secondo momento.

Eseguire nuovamente 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 il nuovo training:

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

  • Individuare un modello salvato nel gruppo Modelli con training in Studio (versione classica) e trascinarlo nell'esperimento.

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

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

  3. Nel riquadro Proprietà di Train Vowpal Wabbit Version 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 è presente un modello o un file hash Vowpal Wabbit esistente nel percorso specificato, 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 usare Vowpal Wabbit in Machine Learning, vedere l'Azure AI Gallery:

  • Esempio di Vowpal Wabbit

    Questo esperimento illustra la preparazione, il training e l'operazzazione 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 di hash rende più efficiente la ricerca dei pesi di regressione, che è fondamentale per una discesa stocastica efficace del gradiente.

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 l'archivio e i ruoli di lavoro che eseguono i calcoli, 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).

Non è possibile usare gli argomenti della riga di comando seguenti in Machine Learning Studio (versione classica).

  • Opzioni di input/output specificate in Vowpal Wabbit Wiki - Command-line-arguments

    Queste proprietà vengono configurate automaticamente dal modulo.

  • Qualsiasi opzione che genera più output o accetta più input non è consentita. Queste includono:

    --cbt, --lda, --wap

  • Sono supportati solo algoritmi di apprendimento supervisionati. Pertanto, le opzioni come queste non sono supportate:

    –active, --rank, --search

Sono consentiti tutti gli argomenti diversi da quelli descritti in precedenza.

Per un elenco completo degli argomenti, usare la pagina wiki di Vowpal Wabbit.

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.

Invece di usare i dati nell'area di lavoro ML Azure, i dati di training vengono trasmessi direttamente da Azure, per ottenere prestazioni ottimali 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 Type Predefinito Descrizione
Nome dell'account di archiviazione di Azure any string Digitare il nome dell'account di archiviazione di Azure
Chiave di archiviazione di Azure any SecureString Fornisce la chiave di archiviazione di Azure
Azure container name any string Digitare il nome del contenitore di Azure
Argomenti VW any string Specifica gli argomenti Vowpal Wabbit.

L'argomento –f non è supportato.
Name of the input VW file any string Specifica il nome di un file di input nel formato Vowpal Wabbit
Nome del file di modello leggibile di output (--readable_model) any string Se specificato, l'output è un modello leggibile nel contenitore di Azure.

L'argomento è facoltativo.
Nome del file di hash inverso di output (--invert_hash) any string Se specificato, l'output è un file contenente la funzione hash inversa nel contenitore di Azure.

L'argomento è facoltativo.
Please specify file type VW

SVMLight
DataType VW Indicare se il tipo di file usa il formato SVMLight o il formato Vowpal Wabbit.

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 degli errori specifici dei moduli di Studio (versione classica), vedere Machine Learning codici di errore.

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

Vedi anche

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