Trénování modelu Vowpal Wabbit

Tento článek popisuje, jak pomocí komponenty Train Vowpal Wabbit Model v návrháři služby Azure Machine Learning vytvořit model strojového učení pomocí Vowpal Wabbit.

Pokud chcete použít Vowpal Wabbit pro strojové učení, naformátujte vstup podle požadavků Vowpal Wabbit a připravte data v požadovaném formátu. Tato komponenta slouží k zadání argumentů příkazového řádku Vowpal Wabbit.

Při spuštění kanálu se do spuštění experimentu společně se zadanými daty načte instance Vowpal Wabbit. Po dokončení trénování se model serializuje zpět do pracovního prostoru. Model můžete okamžitě použít k určení skóre dat.

Pokud chcete přírůstkově trénovat existující model na nových datech, připojte uložený model k vstupnímu portu předtrénovaného modelu Vowpal Wabbit pro trénování modelu Wabbit Vowpal a přidejte nová data do druhého vstupního portu.

Co je Vowpal Wabbit?

Vowpal Wabbit (VW) je rychlá paralelní architektura strojového učení vyvinutá pro distribuované výpočetní prostředí yahoo! Výzkum. Později byl portován do Windows a upraven Johnem Langfordem (Microsoft Research) pro vědecké výpočty v paralelních architekturách.

Mezi funkce Vowpal Wabbitu, které jsou důležité pro strojové učení, patří průběžné učení (online učení), redukce dimenze a interaktivní učení. Vowpal Wabbit je také řešením problémů, kdy se data modelu nevejdou do paměti.

Primárními uživateli Vowpal Wabbitu jsou datoví vědci, kteří dříve používali architekturu pro úlohy strojového učení, jako je klasifikace, regrese, modelování témat nebo faktorizace matice. Obálka Azure pro Vowpal Wabbit má velmi podobné charakteristiky výkonu jako místní verze, takže můžete použít výkonné funkce a nativní výkon Vowpal Wabbit a natrénovaný model snadno publikovat jako zprovozněnou službu.

Součást Hashování funkcí zahrnuje také funkce poskytované Vowpal Wabbit, které umožňují transformovat textové datové sady na binární funkce pomocí hashovacího algoritmu.

Konfigurace modelu Vowpal Wabbit

Tato část popisuje, jak trénovat nový model a jak přidat nová data do existujícího modelu.

Na rozdíl od jiných komponent v návrháři tato komponenta určuje parametry komponenty a trénuje model. Pokud máte existující model, můžete ho přidat jako volitelný vstup pro přírůstkové trénování modelu.

Příprava vstupních dat

Pokud chcete vytrénovat model pomocí této komponenty, musí se vstupní datová sada skládat z jednoho textového sloupce v jednom ze dvou podporovaných formátů: SVMLight nebo VW. To neznamená, že Vowpal Wabbit analyzuje jenom textová data, ale že funkce a hodnoty musí být připravené v požadovaném formátu textového souboru.

Data lze číst ze dvou druhů datových sad, ze souborové nebo tabulkové datové sady. Obě tyto datové sady musí být ve formátu SVMLight nebo VW. Datový formát Vowpal Wabbit má tu výhodu, že nevyžaduje sloupcový formát, který šetří místo při práci s řídkými daty. Další informace o tomto formátu najdete na stránce wikiwebu Vowpal Wabbit.

Vytvoření a trénování modelu Vowpal Wabbit

  1. Přidejte do experimentu komponentu Train Vowpal Wabbit Model .

  2. Přidejte trénovací datovou sadu a připojte ji k trénovacím datům. Pokud je trénovací datová sada adresář, který obsahuje soubor trénovacích dat, zadejte název souboru trénovacích dat s názvem souboru trénovacích dat. Pokud je trénovací datová sada jeden soubor, ponechte název souboru trénovacích dat prázdný.

  3. Do textového pole Argumenty VW zadejte argumenty příkazového řádku pro spustitelný soubor Vowpal Wabbit.

    Přidáním můžete –l například určit rychlost učení nebo -b určit počet bitů hash.

    Další informace najdete v části Parametry Vowpal Wabbit .

  4. Název souboru trénovacích dat: Zadejte název souboru, který obsahuje vstupní data. Tento argument se používá pouze v případě, že trénovací datová sada je adresář.

  5. Zadejte typ souboru: Určete, jaký formát trénovací data používají. Vowpal Wabbit podporuje tyto dva formáty vstupních souborů:

    • VW představuje interní formát používaný Vowpal Wabbit . Podrobnosti najdete na stránce wikiwebu Vowpal Wabbit .
    • SVMLight je formát používaný některými dalšími nástroji strojového učení.
  6. Výstup čitelný soubor modelu: Vyberte možnost, pokud chcete, aby komponenta uložila čitelný model do záznamů úloh. Tento argument odpovídá parametru --readable_model v příkazovém řádku VW.

  7. Výstupní invertovaný hashovací soubor: Vyberte možnost, pokud chcete, aby komponenta uložila funkci invertované hodnoty hash do jednoho souboru v záznamech úlohy. Tento argument odpovídá parametru --invert_hash v příkazovém řádku VW.

  8. Odešlete kanál.

Přetrénování existujícího modelu Vowpal Wabbit

Vowpal Wabbit podporuje přírůstkové trénování přidáním nových dat do existujícího modelu. Existují dva způsoby, jak získat existující model pro opětovné trénování:

  • Použijte výstup jiné komponenty Train Vowpal Wabbit Model ve stejném kanálu.

  • V levém navigačním podokně návrháře vyhledejte uložený model v kategorii Datové sady a přetáhněte ho do kanálu.

  1. Přidejte komponentu Train Vowpal Wabbit Model do kanálu.

  2. Připojte dříve vytrénovaný model ke vstupnímu portu Vowpal Wabbit Model komponenty.

  3. Připojte nová trénovací data ke vstupnímu portu trénovacích dat komponenty.

  4. V podokně parametrů trénování modelu Vowpal Wabbit zadejte formát nových trénovacích dat a také název souboru trénovacích dat, pokud je vstupní datová sada adresář.

  5. Pokud je potřeba uložit odpovídající soubory do záznamů úloh, vyberte možnost Výstupní soubor modelu pro čtení a Výstupní invertovaný hash soubor .

  6. Odešlete kanál.

  7. Vyberte komponentu a na kartě Výstupy a protokoly v pravém podokně vyberte Zaregistrovat datovou sadu, aby se zachoval aktualizovaný model v pracovním prostoru služby Azure Machine Learning. Pokud nezadáte nový název, aktualizovaný model přepíše existující uložený model.

Výsledky

Poznámka

Pokud potřebujete nasadit vytrénovaný model v návrháři, ujistěte se, že skóre Vowpal Wabbit Modelu místo skóre modelu je připojeno ke vstupu komponenty Výstup webové služby v kanálu odvozování.

Technické poznámky

Tato část obsahuje podrobnosti o implementaci, tipy a odpovědi na nejčastější dotazy.

Výhody Vowpal Wabbit

Vowpal Wabbit poskytuje extrémně rychlé učení o nelineárních funkcích, jako je n-gramy.

Vowpal Wabbit používá online výukové techniky, jako je stochastický gradientní sestup (SGD), aby se model přizpůsobil jednomu záznamu. Proto velmi rychle iteruje nezpracovaná data a může vyvinout dobrý prediktor rychleji než většina ostatních modelů. Tento přístup také vyhne čtení všech trénovacích dat do paměti.

Vowpal Wabbit převádí všechna data na hodnoty hash, a to nejen textová data, ale i další proměnné kategorií. Použití hodnot hash zefektivňuje vyhledávání regresních vah, což je důležité pro efektivní stochastický gradientní sestup.

Podporované a nepodporované parametry

Tato část popisuje podporu parametrů příkazového řádku Vowpal Wabbit v návrháři služby Azure Machine Learning.

Obecně platí, že se podporují všechny argumenty kromě omezené sady. Úplný seznam argumentů najdete na stránce wikiwebu Vowpal Wabbit.

Následující parametry nejsou podporovány:

  • Možnosti vstupu a výstupu zadané v https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments

    Tyto vlastnosti jsou již automaticky nakonfigurovány komponentou.

  • Kromě toho je zakázána jakákoli možnost, která vygeneruje více výstupů nebo přijímá více vstupů. Patří mezi ně --cbt, --ldaa --wap.

  • Podporují se pouze algoritmy učení pod dohledem. Proto nejsou podporovány tyto možnosti: –active, --rankatd --search .

Omezení

Vzhledem k tomu, že cílem služby je podpora zkušených uživatelů Vowpal Wabbit, musí být vstupní data předem připravena pomocí nativního textového formátu Vowpal Wabbit místo formátu datové sady používaného jinými komponentami.

Další kroky

Projděte si sadu komponent dostupných pro Azure Machine Learning.