Träna Vowpal Wabbit Version 7-10-modellen

Träna en modell med version 7–10 av vowpal Wabbit-maskininlärningssystemet

Kategori: Textanalys

Anteckning

Gäller för: Machine Learning Studio (klassisk)

Det här innehållet gäller endast Studio (klassisk). Liknande dra-och släpp moduler har lagts till i Azure Machine Learning designer. Mer information i den här artikeln är att jämföra de två versionerna.

Modulöversikt

Den här artikeln beskriver hur du använder modulen Train Vowpal Wabbit Version 7-10 i Azure Machine Learning Studio (klassisk) för att skapa en maskininlärningsmodell med hjälp av en instans av Vowpal Wabbit (version 7-10).

Om du vill använda Vowpal Wabbit för maskininlärning formaterar du dina indata enligt Kraven för Vowpal Wabbit och sparar data i en Azure-blob. Använd den här modulen för att ange vowpal Wabbit-kommandoradsargument.

När experimentet körs läses en instans av Vowpal Wabbit in i experimentkörningen tillsammans med angivna data. När träningen är klar serialiseras modellen tillbaka till arbetsytan. Du kan använda modellen direkt för att poängse data. Den tränade modellen bevaras också i Azure Storage så att du kan använda den senare utan att behöva bearbeta om träningsdata.

Om du vill träna en befintlig modell stegvis på nya data ansluter du en sparad modell till förtränade modellindata och lägger till nya data till de andra indata.

Anteckning

Azure Machine Learning Studio (klassisk) är värd för flera versioner av Vowpal Wabbit-ramverket. I den här modulen används version 7–10 av Vowpal Wabbit-ramverket.

Om du behöver skapa eller poängdöma en modell baserat på en tidigare version (7-4 eller 7-6) använder du följande moduler: Train Vowpal Wabbit 7-4 Model och Score Vowpal Wabbit 7-4 Model.

För den senaste versionen använder du Train Vowpal Wabbit Version 8 Model, tillsammans med bedömningsmodulen Score Vowpal Wabbit 8 Model.

Vad är Vowpal Wabbit?

Vowpal Wabbit (VW) är ett snabbt, parallellt maskininlärningsramverk som utvecklades för distribuerad databehandling av Yahoo! Forskning. Senare portades den till Windows och anpassades av John Langford (Microsoft Research) för vetenskaplig databehandling i parallella arkitekturer.

Funktioner i Vowpal Wabbit som är viktiga för maskininlärning omfattar kontinuerlig inlärning (onlineinlärning), minskning av antalet dimensioner och interaktiv inlärning. Vowpal Wabbit är också en lösning på problem när du inte får plats med modelldata i minnet.

De främsta användarna av Vowpal Wabbit i Azure Machine Learning är dataforskare som tidigare har använt ramverket för maskininlärningsuppgifter som klassificering, regression, ämnesmodellering eller matrisfaktorisering. Azure-omslutningen för Vowpal Wabbit har mycket liknande prestandaegenskaper som den lokala versionen, vilket innebär att användarna kan fortsätta att skapa modeller, träna om och poäng med hjälp av de kraftfulla funktionerna och den inbyggda prestandan hos Vowpal Wabbit, samtidigt som de enkelt kan publicera den tränade modellen som en operationaliserad tjänst.

Modulen för funktionshashing innehåller också funktioner från Vowpal Wabbit som gör att du kan transformera textdatauppsättningar till binära funktioner med hjälp av en hash-algoritm.

Så här konfigurerar du Vowpal Wabbit Version 7-10-modellen

I det här avsnittet beskrivs hur du tränar en ny modell och hur du lägger till nya data i en befintlig modell.

Till skillnad från andra moduler i Studio (klassisk) anger den här modulen både modulparametrarna och tränar modellen. Om du har en befintlig modell kan du lägga till den som valfri indata för att stegvis träna modellen.

Användning av den här modulen kräver autentisering till ett Azure Storage-konto.

Förbereda indata

Om du vill träna en modell med den här modulen måste indatauppsättningen bestå av en enda textkolumn i något av de två format som stöds: LibSVM eller VW.

Detta innebär inte att Vowpal Wabbit endast analyserar textdata, bara att funktionerna och värdena måste förberedas i det textfilformat som krävs.

Data måste läsas från Azure Storage. Det går inte att använda Exportera data för att direkt spara indatafilen till Azure för användning med Vowpal Wabbit, eftersom formatet kräver vissa ytterligare ändringar. Du måste se till att data har rätt format och sedan ladda upp data till Azure Blob Storage.

Men som en genväg kan du använda modulen Konvertera till SVMLight för att generera en SVMLight-formatfil. Sedan kan du antingen ladda upp SVMLight-formatfilen till Azure Blob Storage och använda den som indata, eller så kan du ändra filen något så att den överensstämmer med kraven för Vowpal Wabbit-indatafilen.

Vowpal Wabbit-dataformatet har fördelen att det inte kräver något kolumnformat, vilket sparar utrymme när du hanterar glesa data. Mer information om det här formatet finns på wiki-sidan Vowpal Wabbit.

Skapa och träna en Vowpal Wabbit-modell

  1. Lägg till modulen Train Vowpal Wabbit Version 7-10 i experimentet.

  2. Ange det konto där träningsdata lagras. Den tränade modellen och hash-filen lagras på samma plats.

    • I Namn på Azure-lagringskonto anger du namnet på Azure-lagringskontot.

    • För Azure-lagringsnyckeln kopierar och klistrar du in den nyckel som finns för åtkomst till lagringskontot.

    Om du inte har en nyckel kan du se Så här återskapar du åtkomstnycklar för lagring

  3. För Azure-containernamn anger du namnet på en enskild container i det angivna Azure Storage-konto där modellträningsdata lagras. Ange inte kontonamnet eller något protokollprefix.

    Om den fullständiga containersökvägen och namnet till exempel är https://myaccount.blob.core.windows.net/vwmodels ska du bara skriva vwmodels . Mer information om containernamn finns i Namnge och referera till containrar, blobar och metadata.

  4. I textrutan VW-argument skriver du kommandoradsargumenten för den körbara Vowpal Wabbit-filen.

    Du kan till exempel lägga –l till för att ange inlärningstakten eller för att ange antalet -b hash-bitar.

    Mer information finns i avsnittet parametrar.

  5. Namnet på den inkommande VW-filen: Ange namnet på filen som innehåller indata. Filen måste vara en befintlig fil i Azure Blob Storage som finns i det tidigare angivna lagringskontot och containern. Filen måste ha förberetts med något av de format som stöds.

  6. Namnet på den läsbara modellfilen för utdata (--readable_model): Ange namnet på en fil där den tränade modellen ska sparas. Filen måste sparas i samma lagringskonto och container som indatafilen.

    Det här argumentet motsvarar --readable_model parametern på VW-kommandoraden.

  7. Namnet på den inverterade hash-filen för utdata (--invert_hash): Ange namnet på filen där funktionen inverterad hash ska sparas. Filen måste sparas i samma lagringskonto och container som indatafilen.

    Det här argumentet motsvarar --invert_hash parametern på VW-kommandoraden.

  8. Ange filtyp: Ange vilket format dina träningsdata använder. Vowpal Wabbit stöder dessa två indatafilformat:

    • VW representerar det interna format som används av Vowpal Wabbit . Mer information finns på Wiki-sidan för Vowpal Wabbit.

    • SVMLight är ett format som används av vissa andra maskininlärningsverktyg.

  9. Välj alternativet Använd cachelagrade resultat om du inte vill läsa in data från lagringen varje gång experimentet reuneras. Förutsatt att inga andra parametrar har ändrats och en giltig cache kan hittas, använder Studio (klassisk) en cachelagrad version av data.

    Om det här alternativet avmarkeras läser modulen alltid data från lagringen.

  10. Kör experimentet.

  11. När modellen har genererats högerklickar du på utdata och väljer Spara som tränad modell att du kan använda och träna om modellen senare.

Träna om en befintlig Vowpal Wabbit-modell

Vowpal Wabbit stöder inkrementell träning genom att lägga till nya data i en befintlig modell. Det finns två sätt att skaffa en befintlig modell för omträning:

  • Använd utdata från en annan Train Vowpal Wabbit Version 8-modul i samma experiment.

  • Leta upp en sparad modell i gruppen Tränade modeller i Studio (klassisk) och dra den till experimentet.

  1. Lägg till modulen Train Vowpal Wabbit Version 8 (Träna Vowpal Wabbit Version 8) i experimentet.

  2. Anslut den tidigare tränade modellen till indataporten för Train Vowpal Wabbit Version 8:

  3. I fönstret Egenskaper i Train Vowpal Wabbit Version 8 anger du plats och format för de nya träningsdata.

  4. Ange ett namn på utdatafilen för modellen som kan läsas av människor och ett annat namn på den hash-fil som är associerad med den uppdaterade modellen.

    Anteckning

    Om det finns en befintlig Vowpal Wabbit-modell eller hash-fil på den angivna platsen skrivs filerna tyst över av den nya tränade modellen. Om du vill bevara mellanliggande modeller vid omträning måste du ändra lagringsplatsen eller göra en lokal kopia av modellfilerna.

  5. Kör experimentet.

  6. Högerklicka på modulen och välj Spara som tränad modell för att bevara den uppdaterade modellen i Azure Machine Learning arbetsyta. Om du inte anger något nytt namn skriver den uppdaterade modellen över den befintliga sparade modellen.

Exempel

Exempel på hur Vowpal Wabbit kan användas i maskininlärning finns i Azure AI Gallery:

Se även dessa resurser:

Teknisk information

Det här avsnittet innehåller implementeringsinformation, tips och svar på vanliga frågor.

Fördelar med Vowpal Wabbit

Vowpal Wabbit ger mycket snabb inlärning över icke-linjära funktioner som n-gram.

Vowpal Wabbit använder onlineinlärningstekniker som SGD (Stochastic Gradient Descent) för att passa en modell en post i taget. Det itererar därför mycket snabbt över rådata och kan utveckla en bra prediktor snabbare än de flesta andra modeller. Den här metoden undviker också att behöva läsa in alla träningsdata i minnet.

Vowpal Wabbit konverterar alla data till hash-värden, inte bara textdata utan även andra kategoriska variabler. Med hash-värden blir sökning av regressionsvikter mer effektivt, vilket är viktigt för effektiv stokedje gradient descent.

Under träningen gör modulen anrop till en Vowpal Wabbit-wrapper som har utvecklats för Azure. Träningsdata laddas ned i block från Azure med den höga bandbredden mellan arkivet och arbetsrollerna som kör beräkningarna och strömmas till VW-eleverna. Den resulterande modellen är vanligtvis mycket kompakt på grund av den interna komprimering som utförs av VW. Modellen kopieras tillbaka till experimentarbetsytan där den kan användas som andra modeller i Azure Machine Learning.

Parametrar som stöds och inte stöds

I det här avsnittet beskrivs stöd för Vowpal Wabbit-kommandoradsparametrar i Azure Machine Learning Studio (klassisk).

Du kan inte använda följande kommandoradsargument i Azure Machine Learning Studio (klassisk).

  • Indata-/utdataalternativen som anges i Vowpal Wabbit Wiki – kommandoradsargument

    Dessa egenskaper konfigureras automatiskt av modulen.

  • Alla alternativ som genererar flera utdata eller tar flera indata tillåts inte. Dessa omfattar:

    --cbt, --lda, --wap

  • Endast övervakade inlärningsalgoritmer stöds. Därför stöds inte alternativ som dessa:

    –active, --rank, --search

Alla andra argument än de som beskrivs ovan tillåts.

Om du vill ha en fullständig lista över argument använder du Wiki-sidan Vowpal Wabbit.

Begränsningar

Eftersom målet med tjänsten är att stödja erfarna användare av Vowpal Wabbit, måste indata förberedas i förväg med hjälp av native textformatet Vowpal Wabbit, i stället för datamängdsformatet som används av andra moduler.

I stället för att använda data i Azure ML-arbetsytan strömmas träningsdata direkt från Azure för maximal prestanda och minimala kostnader för parsning. Därför finns det bara begränsad samverkan mellan VW-modulerna och andra moduler i Azure ML.

Modulparametrar

Name Intervall Typ Standardvärde Description
Azure Storage-kontonamn valfri Sträng Ange namnet på Azure-lagringskontot
Azure Storage-nyckel valfri SecureString Ange Azure Storage-nyckeln
Azure-containernamn valfri Sträng Ange Azure-containernamnet
VW-argument valfri Sträng Ange eventuella Vowpal Wabbit-argument.

Argumentet –f stöds inte.
Namnet på den inkommande VW-filen valfri Sträng Ange namnet på en indatafil i Vowpal Wabbit-format
Namnet på den utdataläsbara modellfilen (--readable_model) valfri Sträng Om detta anges matar ut en läsbar modell tillbaka till Azure-containern.

Det här argumentet är valfritt.
Namnet på den inverterade hash-filen för utdata (--invert_hash) valfri Sträng Om detta anges matar ut en fil som innehåller den inverterade hash-funktionen tillbaka till Azure-containern.

Det här argumentet är valfritt.
Ange filtyp Vw

SVMLight
DataType Vw Ange om filtypen använder SVMLight-formatet eller Vowpal Wabbit-formatet.

Utdata

Namn Typ Description
Tränad modell ILearner-gränssnitt Tränad lärare

Undantag

Undantag Description
Fel 0001 Undantaget inträffar om det inte gick att hitta en eller flera angivna kolumner i datauppsättningen.
Fel 0003 Undantaget inträffar om en eller flera indata är null eller tomma.
Fel 0004 Undantaget inträffar om parametern är mindre än eller lika med ett specifikt värde.
Fel 0017 Undantaget inträffar om en eller flera angivna kolumner har en typ som inte stöds av den aktuella modulen.

En lista över fel som är specifika för Studio-moduler (klassisk) finns i Machine Learning felkoder.

En lista över API-undantag finns i Machine Learning REST API felkoder.

Se även

Textanalys
Funktionshashing
Igenkänning av namngiven entitet
Poäng för Vowpal Wabbit 7-4-modell
Poäng för Vowpal Wabbit 7-10-modell
Träna Vowpal Wabbit 7-4-modell
A-Z-modullista