Vowpal Wabbit-versie 7-10-model trainen

Belangrijk

De ondersteuning voor Azure Machine Learning-studio (klassiek) eindigt op 31 augustus 2024. U wordt aangeraden om vóór die datum over te stappen naar Azure Machine Learning.

Vanaf 1 december 2021 kunt u geen nieuwe resources voor Azure Machine Learning-studio (klassiek) meer maken. Tot en met 31 augustus 2024 kunt u de bestaande resources van Azure Machine Learning-studio (klassiek) blijven gebruiken.

De documentatie van ML-studio (klassiek) wordt buiten gebruik gesteld en wordt in de toekomst mogelijk niet meer bijgewerkt.

Traint een model met versie 7-10 van het Vowpal Wabbit machine learning systeem

Categorie: Text Analytics

Notitie

Van toepassing op: Machine Learning Studio (klassiek)

Vergelijkbare modules voor slepen en neerzetten zijn beschikbaar in Azure Machine Learning designer.

Moduleoverzicht

In dit artikel wordt beschreven hoe u de module Vowpal Wabbit Version 7-10 trainen in Machine Learning Studio (klassiek) gebruikt om een machine learning-model te maken met behulp van een exemplaar van Vowpal Wabbit (versie 7-10).

Als u Vowpal Wabbit wilt gebruiken voor machine learning, maakt u uw invoer op volgens de Vowpal Wabbit-vereisten en sla u de gegevens op in een Azure-blob. Gebruik deze module om Vowpal Wabbit-opdrachtregelargumenten op te geven.

Wanneer het experiment wordt uitgevoerd, wordt een exemplaar van Vowpal Wabbit in de run-time van het experiment geladen, samen met de opgegeven gegevens. Wanneer de training is voltooid, wordt het model terug geser serialiseerd naar de werkruimte. U kunt het model onmiddellijk gebruiken om gegevens te scoren. Het getrainde model wordt ook persistent gemaakt in Azure Storage, zodat u het later kunt gebruiken zonder dat u de trainingsgegevens opnieuw moet verwerken.

Als u een bestaand model incrementeel wilt trainen op nieuwe gegevens, verbindt u een opgeslagen model met de vooraf getrainde modelinvoer en voegt u de nieuwe gegevens toe aan de andere invoer.

Notitie

Machine Learning Studio (klassiek) host meerdere versies van het Vowpal Wabbit-framework. In deze module wordt versie 7-10 van het Vowpal Wabbit-framework gebruikt.

Als u een model wilt bouwen of scoren op basis van een eerdere versie (7-4 of 7-6), gebruikt u deze modules: Train Vowpal Wabbit 7-4 Model and Score Vowpal Wabbit 7-4 Model.

Gebruik voor de nieuwste versie Train Vowpal Wabbit Version 8 Model, samen met de scoremodule Score Vowpal Wabbit 8 Model.

Wat is Vowpal Wabbit?

Vowpal Wabbit (VW) is een snel, parallel machine learning framework dat is ontwikkeld voor gedistribueerde computing door Yahoo! Onderzoek. Later werd het overgeplaatst naar Windows en aangepast door John Langford (Microsoft Research) voor wetenschappelijke computing in parallelle architecturen.

Functies van Vowpal Wabbit die belangrijk zijn voor machine learning zijn continue learning (online learning), dimensionaliteitsvermindering en interactief leren. Vowpal Wabbit is ook een oplossing voor problemen wanneer u de modelgegevens niet in het geheugen kunt passen.

De primaire gebruikers van Vowpal Wabbit in Machine Learning zijn gegevenswetenschappers die het framework eerder hebben gebruikt voor machine learning-taken zoals classificatie, regressie, onderwerpmodelleer of matrixfactorisatie. De Azure Wrapper voor Vowpal Wabbit heeft vergelijkbare prestatiekenmerken als de on-premises versie. Dit betekent dat gebruikers modellen kunnen blijven bouwen, opnieuw kunnen trainen en scoren met behulp van de krachtige functies en native prestaties van Vowpal Wabbit, terwijl ze het getrainde model eenvoudig kunnen publiceren als een operationele service.

De module Functie-hashing bevat ook functionaliteit van Vowpal Wabbit, waarmee u tekstsets kunt transformeren naar binaire functies met behulp van een hash-algoritme.

Vowpal Wabbit-versie 7-10-model configureren

In deze sectie wordt beschreven hoe u een nieuw model traint en hoe u nieuwe gegevens toevoegt aan een bestaand model.

In tegenstelling tot andere modules in Studio (klassiek) geeft deze module beide de moduleparameters op en traint het model. Als u een bestaand model hebt, kunt u het toevoegen als een optionele invoer om het model incrementeel te trainen.

Voor het gebruik van deze module is verificatie voor een Azure-opslagaccount vereist.

De invoergegevens voorbereiden

Als u een model wilt trainen met behulp van deze module, moet de invoerset bestaan uit één tekstkolom in een van de twee ondersteunde indelingen: LibSVM of VW.

Dit betekent niet dat Vowpal Wabbit alleen tekstgegevens analyseert, alleen dat de functies en waarden moeten worden voorbereid in de vereiste tekstbestandsindeling.

De gegevens moeten worden gelezen uit Azure Storage. Het is niet mogelijk om Gegevens exporteren te gebruiken om het invoerbestand rechtstreeks op te slaan in Azure voor gebruik met Vowpal Wabbit, omdat de indeling een aantal aanvullende wijzigingen vereist. U moet ervoor zorgen dat de gegevens de juiste indeling hebben en de gegevens vervolgens uploaden naar Azure Blob Storage.

Als snelkoppeling kunt u echter de module Converteren naar SVMLight gebruiken om een SVMLight-indelingsbestand te genereren. Vervolgens kunt u het SVMLight-indelingsbestand uploaden naar Azure Blob Storage en gebruiken als invoer, of u kunt het bestand enigszins wijzigen om te voldoen aan de vereisten voor het Vowpal Wabbit-invoerbestand.

De Vowpal Wabbit-gegevensindeling heeft het voordeel dat er geen kolomindeling nodig is, waardoor er ruimte wordt bespaard bij het verwerken van verspreide gegevens. Zie de wiki-pagina Vowpal Wabbit voor meer informatie over deze indeling.

Een Vowpal Wabbit-model maken en trainen

  1. Voeg de module Train Vowpal Wabbit Version 7-10 toe aan uw experiment.

  2. Geef het account op waar de trainingsgegevens worden opgeslagen. Het getrainde model en het hash-bestand worden op dezelfde locatie opgeslagen.

    • Bij Naam van Azure-opslagaccount typt u de naam van het Azure-opslagaccount.

    • Kopieer en plak voor De Azure-opslagsleutel de sleutel die is opgegeven voor toegang tot het opslagaccount.

    Als u geen sleutel hebt, zie Toegangssleutels voor opslag opnieuw maken

  3. Bij Azure-containernaam typt u de naam van één container in het opgegeven Azure-opslagaccount waarin de modeltrainingsgegevens worden opgeslagen. Typ niet de accountnaam of een protocol voorvoegsel.

    Als het volledige containerpad en de volledige naam bijvoorbeeld is https://myaccount.blob.core.windows.net/vwmodels, typt u alleen vwmodels. Zie Naming and Referencing Containers, Blobs, and Metadata (Containers, blobs en metagegevens een naam geven en hier naar verwijzen) voor meer informatie over containernamen.

  4. Typ in het tekstvak VW-argumenten de opdrachtregelargumenten voor het uitvoerbare bestand Vowpal Wabbit.

    U kunt bijvoorbeeld toevoegen om de –l leersnelheid op te geven -b of om het aantal hash-bits aan te geven.

    Zie de sectie parameters voor meer informatie.

  5. Naam van het invoer-VW-bestand: typ de naam van het bestand dat de invoergegevens bevat. Het bestand moet een bestaand bestand zijn in Azure Blob Storage, dat zich in het eerder opgegeven opslagaccount en de eerder opgegeven container bevindt. Het bestand moet zijn voorbereid met een van de ondersteunde indelingen.

  6. Naam van het uitvoerbare modelbestand (--readable_model) : typ de naam van een bestand waarin het getrainde model moet worden opgeslagen. Het bestand moet worden opgeslagen in hetzelfde opslagaccount en dezelfde container als het invoerbestand.

    Dit argument komt overeen met de --readable_model parameter in de VW-opdrachtregel.

  7. Naam van het bestand met de omgekeerde uitvoerhash (--invert_hash) : typ de naam van het bestand waarin de omgekeerde hashfunctie moet worden opgeslagen. Het bestand moet worden opgeslagen in hetzelfde opslagaccount en dezelfde container als het invoerbestand.

    Dit argument komt overeen met de --invert_hash parameter in de VW-opdrachtregel.

  8. Geef het bestandstype op: geef aan welke indeling uw trainingsgegevens gebruiken. Vowpal Wabbit ondersteunt deze twee invoerbestandsindelingen:

    • VW vertegenwoordigt de interne indeling die wordt gebruikt door Vowpal Wabbit . Zie de wikipagina van Vowpal Wabbit voor meer informatie.

    • SVMLight is een indeling die wordt gebruikt door een aantal andere machine learning hulpprogramma's.

  9. Selecteer de optie In cache opgeslagen resultaten gebruiken als u de gegevens niet telkens wanneer het experiment opnieuw wordt uitgevoerd, uit de opslag wilt laden. Ervan uitgaande dat er geen andere parameters zijn gewijzigd en er een geldige cache kan worden gevonden, gebruikt Studio (klassiek) een versie van de gegevens in de cache.

    Als deze optie is uitgeschakeld, leest de module altijd de gegevens uit de opslag.

  10. Voer het experiment uit.

  11. Nadat het model is gegenereerd, klikt u met de rechtermuisknop op de uitvoer en selecteert u Opslaan als getraind model, zodat u het model later opnieuw kunt gebruiken en trainen.

Een bestaand Vowpal Wabbit-model opnieuw trainen

Vowpal Wabbit ondersteunt incrementele training door nieuwe gegevens toe te voegen aan een bestaand model. Er zijn twee manieren om een bestaand model te krijgen voor opnieuw trainen:

  • Gebruik de uitvoer van een andere module Train Vowpal Wabbit Version 8 in hetzelfde experiment.

  • Zoek een opgeslagen model in de groep Getrainde modellen in Studio (klassiek) en sleep het naar uw experiment.

  1. Voeg de module Train Vowpal Wabbit Version 8 toe aan uw experiment.

  2. Verbinding maken het eerder getrainde model naar de invoerpoort van Train Vowpal Wabbit Version 8:

  3. Geef in het deelvenster Eigenschappen van Train Vowpal Wabbit Version 8 de locatie en indeling van de nieuwe trainingsgegevens op.

  4. Geef een naam op voor het uitvoerbestand van het model dat door mensen kan worden gelezen en geef een andere naam op voor het hash-bestand dat is gekoppeld aan het bijgewerkte model.

    Notitie

    Als er een bestaand Vowpal Wabbit-model of hash-bestand op de opgegeven locatie is, worden de bestanden op de stille manier overschreven door het nieuwe getrainde model. Als u tussenliggende modellen wilt behouden tijdens het opnieuw trainen, moet u de opslaglocatie wijzigen of een lokale kopie van de modelbestanden maken.

  5. Voer het experiment uit.

  6. Klik met de rechtermuisknop op de module en selecteer Opslaan als getraind model om het bijgewerkte model in uw werkruimte Machine Learning behouden. Als u geen nieuwe naam opgeeft, overschrijft het bijgewerkte model het bestaande opgeslagen model.

Voorbeelden

Voor voorbeelden van hoe Vowpal Wabbit kan worden gebruikt in machine learning, zie de Azure AI Gallery:

  • Vowpal Wabbit-voorbeeld

    In dit experiment wordt de gegevensvoorbereiding, training en operationalisering van een VW-model gedemonstreerd.

Zie ook deze resources:

Technische opmerkingen

Deze sectie bevat implementatiedetails, tips en antwoorden op veelgestelde vragen.

Voordelen van Vowpal Wabbit

Vowpal Wabbit biedt extreem snel leren over niet-lineaire functies, zoals n-grammen.

Vowpal Wabbit maakt gebruik van online leertechnieken zoals stochastische gradiëntafdaling (SGD) om een model met één record tegelijk aan te passen. Het doorgrondt dus zeer snel onbewerkte gegevens en kan een goede voorspeller sneller ontwikkelen dan de meeste andere modellen. Deze aanpak voorkomt ook dat u alle trainingsgegevens in het geheugen moet lezen.

Vowpal Wabbit converteert alle gegevens naar hashes, niet alleen tekstgegevens maar andere categorische variabelen. Het gebruik van hashes maakt het opschonen van regressiegewichten efficiënter, wat essentieel is voor effectieve stochastische gradiëntafname.

Tijdens de training voert de module aanroepen uit naar een Vowpal Wabbit-wrapper die is ontwikkeld voor Azure. De trainingsgegevens worden gedownload in blokken van Azure, met behulp van de hoge bandbreedte tussen de store en de werkrollen die de berekeningen uitvoeren, en worden gestreamd naar de VW-gebruikers. Het resulterende model is over het algemeen zeer compact vanwege de interne compressie van VW. Het model wordt terug gekopieerd naar de werkruimte van het experiment, waar het kan worden gebruikt zoals andere modellen in Machine Learning.

Ondersteunde en niet-ondersteunde parameters

In deze sectie wordt de ondersteuning beschreven voor Vowpal Wabbit-opdrachtregelparameters in Machine Learning Studio (klassiek).

U kunt de volgende opdrachtregelargumenten niet gebruiken in Machine Learning Studio (klassiek).

  • De invoer-/uitvoeropties die zijn opgegeven in Vowpal Wabbit Wiki - Opdrachtregelargumenten

    Deze eigenschappen worden automatisch geconfigureerd door de module.

  • Elke optie die meerdere uitvoer genereert of meerdere invoer gebruikt, is niet toegestaan. Deze omvatten:

    --cbt, --lda, --wap

  • Alleen leeralgoritmen onder supervisie worden ondersteund. Opties zoals deze worden daarom niet ondersteund:

    –active, --rank, --search

Alle andere argumenten dan de hierboven beschreven argumenten zijn toegestaan.

Gebruik de wikipagina Vowpal Wabbit voor een volledige lijst met argumenten.

Beperkingen

Omdat het doel van de service is om ervaren gebruikers van Vowpal Wabbit te ondersteunen, moeten invoergegevens van tevoren worden voorbereid met behulp van de native tekstindeling Vowpal Wabbit in plaats van de gegevenssetindeling die door andere modules wordt gebruikt.

In plaats van gegevens te gebruiken in de Azure ML-werkruimte, worden de trainingsgegevens rechtstreeks vanuit Azure gestreamd, voor maximale prestaties en minimale parseringsoverhead. Daarom is er slechts beperkte interoperabiliteit tussen de VW-modules en andere modules in Azure ML.

Moduleparameters

Name Bereik Type Standaard Beschrijving
Naam van het Microsoft Azure Storage-account alle Tekenreeks Typ de naam van het Azure-opslagaccount
Azure-opslagsleutel alle SecureString Geef de Azure-opslagsleutel op
Azure-containernaam alle Tekenreeks Typ de naam van de Azure-container
VW-argumenten alle Tekenreeks Geef eventuele Vowpal Wabbit-argumenten op.

Het argument –f wordt niet ondersteund.
Naam van het invoer-VW-bestand alle Tekenreeks Geef de naam van een invoerbestand op in de Vowpal Wabbit-indeling
Naam van het uitvoerbare modelbestand (--readable_model) alle Tekenreeks Indien opgegeven, wordt een leesbaar model weer uitgevoerd naar de Azure-container.

Dit argument is optioneel.
Naam van het omgekeerde hash-bestand (--invert_hash) van de uitvoer alle Tekenreeks Indien opgegeven, wordt een bestand met de omgekeerde hash-functie weer naar de Azure-container uitgevoerd.

Dit argument is optioneel.
Geef het bestandstype op VW

SVMLight
DataType VW Geef aan of het bestandstype de indeling SVMLight of de Vowpal Wabbit-indeling gebruikt.

Uitvoerwaarden

Naam Type Description
Getraind model ILearner-interface Getrainde learner

Uitzonderingen

Uitzondering Description
Fout 0001 Er treedt een uitzondering op als een of meer opgegeven kolommen met gegevenssets niet kunnen worden gevonden.
Fout 0003 Uitzondering treedt op als een of meer invoer null of leeg zijn.
Fout 0004 Uitzondering treedt op als de parameter kleiner is dan of gelijk is aan een specifieke waarde.
Fout 0017 Uitzondering treedt op als een of meer opgegeven kolommen het type niet ondersteund hebben door de huidige module.

Zie Foutcodes voor een lijst met fouten die specifiek zijn Machine Learning voor Studio-modules (klassiek).

Zie Foutcodes voor een lijst Machine Learning REST API API-uitzonderingen.

Zie ook

Tekstanalyse
Functie-hashing
Herkenning van benoemde entiteiten
Vowpal Wabbit 7-4-model scoren
Vowpal Wabbit 7-10-model scoren
Vowpal Wabbit 7-4-model trainen
Lijst met A-Z-modules