Träna Vowpal Wabbit Version 7-4-modell

Viktigt

Stödet för Machine Learning Studio (klassisk) upphör den 31 augusti 2024. Vi rekommenderar att du byter till Azure Machine Learning innan dess.

Från och med den 1 december 2021 kan du inte längre skapa nya Machine Learning Studio-resurser (klassisk). Du kan fortsätta att använda befintliga Machine Learning Studio-resurser (klassisk) till och med den 31 augusti 2024.

Dokumentationen om ML Studio (klassisk) håller på att dras tillbaka och kanske inte uppdateras i framtiden.

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

Kategori: Textanalys

Anteckning

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

Liknande dra och släpp-moduler är tillgängliga i Azure Machine Learning designer.

Modulöversikt

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

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ängdöma 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

Machine Learning Studio (klassisk) är värd för flera versioner av Vowpal Wabbit-ramverket. I den här modulen används version 7–4 av Vowpal Wabbit. Om du skapar en modell med hjälp av den här modulen måste du använda motsvarande bedömningsmodul: Score Vowpal Wabbit 7-4 Model (Poängsättning vowpal Wabbit 7-4-modell).

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 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 som tillhandahålls av Vowpal Wabbit, som gör att du kan omvandla textdatauppsättningar till binära funktioner med hjälp av en hash-algoritm.

Så här konfigurerar du Vowpal Wabbit Version 8-modell

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 en 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, utan 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-4 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 skriver du namnet på Azure Storage-kontot.

    • 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-kontot 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/vwmodelsska 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 till –l för att ange inlärningstakten eller -b för att ange antalet 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 utdataläsbara modellfilen (--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 (--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.

    • 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 från Train Vowpal Wabbit Version 7-4 och väljer Spara som tränad modell så 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 7-4-modul i samma experiment.

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

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

  2. Anslut den tidigare tränade modellen till indataporten för Train Vowpal Wabbit Version 7-4.

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

  4. Ange ett namn för modellutdatafilen som kan läsas av människor och ett annat namn på hash-filen 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 din 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:

  • Vowpal Wabbit-exempel

    Det här experimentet visar dataförberedelse, träning och drift av en VW-modell.

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 förutsägelser 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. Om du använder hash-värden blir sökning av regressionsvikter effektivare, 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 arbetsrollerna som kör beräkningarna och arkivet, 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 Machine Learning.

Parametrar som stöds och inte stöds

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

  • De in- och utdataalternativ som anges i https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    De här egenskaperna konfigureras redan automatiskt av modulen.

  • Dessutom tillåts inte alla alternativ som genererar flera utdata eller tar flera indata. Dessa inkluderar --cbt, --ldaoch --wap.

  • Endast algoritmer för övervakad inlärning stöds. Därför stöds inte dessa alternativ: –active, --rankosv --search .

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

En fullständig lista över argument finns på 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 det interna textformatet Vowpal Wabbit, i stället för det datamängdsformat 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 parsningskostnader. 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 inget Ange namnet på Azure-lagringskontot
Azure Storage-nyckel valfri SecureString inget Ange Azure Storage-nyckeln
Azure-containernamn valfri Sträng inget Ange Azure-containernamnet
VW-argument valfri Sträng inget Ange eventuella Vowpal Wabbit-argument.

Argumentet –f stöds inte.
Namnet på den inkommande VW-filen valfri Sträng inget Ange namnet på en indatafil i Vowpal Wabbit-format
Namnet på den läsbara modellfilen för utdata (--readable_model) valfri Sträng Om det här 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 elever

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 Undantag inträffar om parametern är mindre än eller lika med ett visst 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
Funktions-hash
Igenkänning av namngiven enhet
Poäng för Vowpal Wabbit 7-4-modell
Vowpal Wabbit Train
A-Z-modullista