Trenowanie modelu Vowpal Wabbit w wersji 7-4
Ważne
Obsługa programu Machine Learning Studio (wersja klasyczna) zakończy się 31 sierpnia 2024 r. Zalecamy przejście do usługi Azure Machine Learning przed tym terminem.
Od 1 grudnia 2021 r. nie będzie można tworzyć nowych zasobów programu Machine Learning Studio (wersja klasyczna). Do 31 sierpnia 2024 r. można będzie nadal korzystać z istniejących zasobów programu Machine Learning Studio (wersja klasyczna).
- Zobacz informacje na temat przenoszenia projektów uczenia maszynowego z programu ML Studio (wersja klasyczna) do Azure Machine Learning.
- Dowiedz się więcej o Azure Machine Learning.
Dokumentacja programu ML Studio (wersja klasyczna) jest wycofywana i może nie być aktualizowana w przyszłości.
Trenowanie modelu przy użyciu wersji 7–4 systemu uczenia maszynowego Vowpal Wabbit
Kategoria: analiza tekstu
Uwaga
Dotyczy: Machine Learning Studio (wersja klasyczna)
Podobne moduły przeciągania i upuszczania są dostępne w Azure Machine Learning projektanta.
Omówienie modułu
W tym artykule opisano sposób użycia modułu Train Vowpal Wabbit Version 7-4 in Machine Learning Studio (classic) (Trenowanie narzędzia Vowpal Wabbit w wersji 7–4) w programie Machine Learning Studio (wersja klasyczna) w celu utworzenia modelu uczenia maszynowego przy użyciu wystąpienia narzędzia Vowpal Wabbit (wersja 7–4).
Aby użyć narzędzia Vowpal Wabbit do uczenia maszynowego, sformatuj dane wejściowe zgodnie z wymaganiami Vowpal Wabbit i zapisz dane w obiekcie blob platformy Azure. Użyj tego modułu, aby określić argumenty wiersza polecenia Vowpal Wabbit.
Po uruchomieniu eksperymentu wystąpienie Vowpal Wabbit jest ładowane do czasu uruchomienia eksperymentu wraz z określonymi danymi. Po zakończeniu trenowania model jest serializowany z powrotem do obszaru roboczego. Możesz od razu użyć modelu do oceny danych. Wytrenowany model jest również utrwalany w usłudze Azure Storage, dzięki czemu można go użyć później bez konieczności ponownego przetwarzania danych treningowych.
Aby przyrostowo wytrenować istniejący model na nowych danych, połącz zapisany model z danymi wejściowymi wstępnie wytrenowany model i dodaj nowe dane do innych danych wejściowych.
Uwaga
Machine Learning Studio (klasyczne) hostuje wiele wersji struktury Vowpal Wabbit. W tym module jest używana wersja 7–4 pakietu Vowpal Wabbit. Jeśli tworzysz model przy użyciu tego modułu, musisz użyć odpowiedniego modułu oceniania: Score Vowpal Wabbit 7-4 Model (Ocena modelu Vowpal Wabbit 7–4).
Aby uzyskać najnowszą wersję, użyj modułu Train Vowpal Wabbit Version 8 Model (Trenowanie modelu Wabbit vowpal w wersji 8) wraz z modułem oceniania Score Vowpal Wabbit 8 Model (Ocena modelu Vowpal Wabbit 8).
Co to jest Vowpal Wabbit?
Vowpal Wabbit (VW) to szybka, równoległa platforma uczenia maszynowego opracowana dla przetwarzania rozproszonego firmy Yahoo! Badania. Później została ona przekierowyowana do Windows i dostosowana przez Johna Langforda (Microsoft Research) do obliczeń naukowych w architekturach równoległych.
Funkcje Vowpal Wabbit, które są ważne dla uczenia maszynowego, obejmują uczenie ciągłe (uczenie online), redukcję wymiarów i uczenie interakcyjne. Vowpal Wabbit jest również rozwiązaniem problemów, gdy nie można dopasować danych modelu do pamięci.
Głównymi użytkownikami Vowpal Wabbit w systemie Machine Learning są badacze danych, którzy wcześniej używali struktury do zadań uczenia maszynowego, takich jak klasyfikacja, regresja, modelowanie tematów lub faktoryzacja macierzy. Otoka platformy Azure dla narzędzia Vowpal Wabbit ma bardzo podobne charakterystyki wydajności co wersja lokalna, co oznacza, że użytkownicy mogą nadal tworzyć modele, ponownie trenować i tworzyć wyniki przy użyciu zaawansowanych funkcji i natywnej wydajności narzędzia Vowpal Wabbit, jednocześnie zyskując możliwość łatwego publikowania wytrenowanych modeli jako usługi z operationalized.
Moduł Funkcji wyznaczania wartości skrótu zawiera również funkcje udostępniane przez platformę Vowpal Wabbit, które umożliwiają przekształcanie zestawów danych tekstowych w funkcje binarne przy użyciu algorytmu wyznaczania wartości skrótu.
Jak skonfigurować model Vowpal Wabbit w wersji 8
W tej sekcji opisano sposób trenowania nowego modelu i dodawania nowych danych do istniejącego modelu.
W przeciwieństwie do innych modułów w programie Studio (wersja klasyczna), oba te moduły określają parametry modułu i trenują model. Jeśli masz istniejący model, możesz dodać go jako opcjonalne dane wejściowe w celu przyrostowego trenowania modelu.
- Przygotowywanie danych wejściowych w jednym z wymaganych formatów
- Trenowanie nowego modelu
- Przyrostowe trenowanie istniejącego modelu
Korzystanie z tego modułu wymaga uwierzytelnienia na koncie usługi Azure Storage.
Przygotowywanie danych wejściowych
Aby wytszkolić model przy użyciu tego modułu, wejściowy zestaw danych musi składać się z jednej kolumny tekstowej w jednym z dwóch obsługiwanych formatów: LibSVM lub VW. Nie oznacza to, że Vowpal Wabbit analizuje tylko dane tekstowe, tylko że funkcje i wartości muszą być przygotowane w wymaganym formacie pliku tekstowego.
Dane muszą być odczytywane z usługi Azure Storage. Nie można użyć funkcji Eksportuj dane do bezpośredniego zapisania pliku wejściowego na platformie Azure do użycia z platformą Vowpal Wabbit, ponieważ format wymaga pewnych dodatkowych modyfikacji. Musisz upewnić się, że dane są w poprawnym formacie, a następnie przekazać je do usługi Azure Blob Storage.
Można jednak użyć modułu Convert to SVMLight do wygenerowania pliku formatu SVMLight. Następnie możesz przekazać plik formatu SVMLight do usługi Azure Blob Storage i użyć go jako danych wejściowych lub nieco zmodyfikować plik, aby był zgodny z wymaganiami pliku wejściowego Vowpal Wabbit.
Format danych Vowpal Wabbit ma tę zaletę, że nie wymaga formatu kolumnowego, co pozwala zaoszczędzić miejsce podczas pracy z rozrzedzianych danych. Aby uzyskać więcej informacji na temat tego formatu, zobacz stronę wiki Vowpal Wabbit.
Tworzenie i trenowanie modelu Vowpal Wabbit
Dodaj moduł Train Vowpal Wabbit Version 7-4 (Trenowanie aplikacji Vowpal Wabbit w wersji 7-4 ) do eksperymentu.
Określ konto, na którym są przechowywane dane szkoleniowe. Wytrenowany model i plik skrótu są przechowywane w tej samej lokalizacji.
W przypadku nazwy konta usługi Azure Storage wpisz nazwę konta usługi Azure Storage.
W przypadku klucza magazynu platformy Azure skopiuj i wklej klucz podany w celu uzyskania dostępu do konta magazynu.
Jeśli nie masz klucza, zobacz Jak ponownie wygenerować klucze dostępu do magazynu
W przypadku nazwy kontenera platformy Azure wpisz nazwę pojedynczego kontenera na określonym koncie usługi Azure Storage, na którym są przechowywane dane trenowania modelu. Nie należy wpisywać nazwy konta ani prefiksu protokołu.
Jeśli na przykład pełna ścieżka kontenera i nazwa to
https://myaccount.blob.core.windows.net/vwmodels
, należy wpisać tylko .vwmodels
Aby uzyskać więcej informacji na temat nazw kontenerów, zobacz Naming and Referencing Containers, Blobs, and Metadata (Nazewnictwo i odwoływanie się do kontenerów, obiektów blob i metadanych).W polu tekstowym Argumenty VW wpisz argumenty wiersza polecenia dla pliku wykonywalnego Vowpal Wabbit.
Możesz na przykład dodać wartość ,
–l
aby określić tempo nauki lub-b
liczbę bitów wyznaczania wartości skrótu.Aby uzyskać więcej informacji, zobacz sekcję parametry.
Nazwa wejściowego pliku VW: wpisz nazwę pliku zawierającego dane wejściowe. Plik musi być istniejącym plikiem w usłudze Azure Blob Storage, który znajduje się na wcześniej określonym koncie magazynu i w kontenerze. Plik musi zostać przygotowany przy użyciu jednego z obsługiwanych formatów.
Nazwa wyjściowego pliku modelu czytelnego (--readable_model): wpisz nazwę pliku, w którym powinien zostać zapisany wytrenowany model. Plik musi zostać zapisany w ramach tego samego konta magazynu i kontenera co plik wejściowy.
Ten argument odpowiada parametrowi
--readable_model
w wierszu polecenia VW.Nazwa pliku wyjściowego odwróconego skrótu (--invert_hash): wpisz nazwę pliku, w którym ma zostać zapisana funkcja odwróconego skrótu. Plik musi zostać zapisany w ramach tego samego konta magazynu i kontenera co plik wejściowy.
Ten argument odpowiada parametrowi
--invert_hash
w wierszu polecenia VW.Określ typ pliku: określ format używany przez dane szkoleniowe. Vowpal Wabbit obsługuje następujące dwa formaty plików wejściowych:
VW reprezentuje wewnętrzny format używany przez Vowpal Wabbit.
SVMLight to format używany przez inne narzędzia uczenia maszynowego.
Wybierz opcję Użyj buforowanych wyników, jeśli nie chcesz ładować danych z magazynu za każdym razem, gdy eksperyment jest ponownie ładowany. Zakładając, że nie zmieniono żadnych innych parametrów i można znaleźć prawidłową pamięć podręczną, program Studio (klasyczny) używa buforowanej wersji danych.
Jeśli ta opcja jest zaznaczona, moduł zawsze odczytuje dane z magazynu.
Uruchom eksperyment.
Po wygenerowaniu modelu kliknij prawym przyciskiem myszy dane wyjściowe funkcji Train Vowpal Wabbit Version 7-4 (Trenuj Vowpal Wabbit w wersji 7–4 ) i wybierz pozycję Save as trained model (Zapisz jako wytrenowany model), aby później ponownie użyć i ponownie wytrenować model.
Ponowne szkolenie istniejącego modelu Vowpal Wabbit
Vowpal Wabbit obsługuje trenowanie przyrostowe przez dodawanie nowych danych do istniejącego modelu. Istnieją dwa sposoby uzyskania istniejącego modelu do ponownego trenowania:
Użyj danych wyjściowych innego modułu Train Vowpal Wabbit Version 7-4 (Trenowanie Vowpal Wabbit w wersji 7–4 ) w tym samym eksperymencie.
Znajdź zapisany model w grupie Wytrenowane modele w lewym okienku nawigacji programu Studio (wersja klasyczna) i przeciągnij go do eksperymentu.
Dodaj moduł Train Vowpal Wabbit Version 7-4 (Trenowanie aplikacji Vowpal Wabbit w wersji 7-4 ) do eksperymentu.
Połączenie wcześniej wytrenowany model do portu wejściowego szkolenia Vowpal Wabbit w wersji 7-4.
W okienku Właściwości w narzędziu Train Vowpal Wabbit Version 7-4 (Trenowanie aplikacji Vowpal Wabbit w wersji 7–4) określ lokalizację i format nowych danych treningowych.
Określ nazwę pliku wyjściowego modelu czytelnego dla człowieka oraz inną nazwę pliku skrótu skojarzonego ze zaktualizowanym modelem.
Uwaga
Jeśli w określonej lokalizacji istnieje model Vowpal Wabbit lub plik skrótu, pliki są dyskretnie zastępowane przez nowy wytrenowany model. Aby zachować modele pośrednie podczas ponownego trenowania, należy zmienić lokalizację przechowywania lub wykonać lokalną kopię plików modelu.
Uruchom eksperyment.
Kliknij prawym przyciskiem myszy moduł i wybierz polecenie Zapisz jako wytrenowany model, aby zachować zaktualizowany model w Machine Learning roboczym. Jeśli nie określisz nowej nazwy, zaktualizowany model zastąpi istniejący zapisany model.
Przykłady
Przykłady sposobu, w jaki Vowpal Wabbit może być używany w uczeniu maszynowym, zobacz Azure AI Gallery:
-
W tym eksperymencie pokazano prepration danych, trenowanie i operationalization modelu VW.
Zapoznaj się również z tymi zasobami:
Blog opisujący implementację i harmonogram działania usługi Vowpal Wabbit
https://blogs.technet.com/b/machinelearning/archive/2014/10/02/vowpal-wabbit-modules-in-azureml.aspx
Uwagi techniczne
Ta sekcja zawiera szczegóły implementacji, porady i odpowiedzi na często zadawane pytania.
Zalety Vowpal Wabbit
Vowpal Wabbit zapewnia niezwykle szybkie uczenie się na temat funkcji nieliniowych, takich jak n-gramy.
Vowpal Wabbit używa technik uczenia online , takich jak stochastyczny spadek gradientu (SGD, stochastic gradient descent), aby dopasować model po jednym rekordzie na raz. Dzięki temu bardzo szybko iteruje po danych pierwotnych i może opracowywać dobry predyktor szybciej niż większość innych modeli. Takie podejście pozwala również uniknąć konieczności odczytywania wszystkich danych treningowych do pamięci.
Vowpal Wabbit konwertuje wszystkie dane na skróty, nie tylko dane tekstowe, ale także inne zmienne kategorii. Użycie skrótów sprawia, że wyszukiwania wag regresji są bardziej wydajne, co ma kluczowe znaczenie dla efektywnego stochastycznego spadku gradientu.
Podczas trenowania moduł wykonuje wywołania do otoki Vowpal Wabbit opracowanej dla platformy Azure. Dane szkoleniowe są pobierane w blokach z platformy Azure przy użyciu dużej przepustowości między rolami procesu roboczego wykonującego obliczenia a magazynem i są przesyłane strumieniowo do osób uczących się maszyn wirtualnych. Wynikowy model jest zazwyczaj bardzo kompaktowy ze względu na wewnętrzną kompresję wykonywana przez VW. Model jest kopiowany z powrotem do obszaru roboczego eksperymentu, gdzie może być wykorzystywany tak jak inne modele w Machine Learning.
Obsługiwane i nieobsługiwane parametry
Nie można użyć następujących argumentów wiersza polecenia w programie Machine Learning Studio (wersja klasyczna).
Opcje danych wejściowych/wyjściowych określone w https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments
Te właściwości są już konfigurowane automatycznie przez moduł.
Ponadto każda opcja, która generuje wiele danych wyjściowych lub przyjmuje wiele danych wejściowych, jest niedozwolone. Należą do nich
--cbt
,--lda
i--wap
.Obsługiwane są tylko algorytmy uczenia nadzorowanego. W związku z tym te opcje nie są obsługiwane:
–active
,--rank
,--search
itp.
Wszystkie argumenty inne niż opisane powyżej są dozwolone.
Aby uzyskać pełną listę argumentów, użyj strony wiki Vowpal Wabbit.
Ograniczenia
Ponieważ celem usługi jest obsługa doświadczonych użytkowników narzędzia Vowpal Wabbit, dane wejściowe muszą być wcześniej przygotowane przy użyciu natywnego formatu tekstu Vowpal Wabbit, a nie formatu zestawu danych używanego przez inne moduły.
Zamiast korzystać z danych w obszarze roboczym usługi Azure ML, dane szkoleniowe są przesyłane strumieniowo bezpośrednio z platformy Azure, aby uzyskać maksymalną wydajność i minimalny narzut na analizę. Z tego powodu istnieje tylko ograniczone współdziałanie między modułami VW i innymi modułami w usłudze Azure ML.
Parametry modułu
Nazwa | Zakres | Typ | Domyślny | Opis |
---|---|---|---|---|
Nazwa konta usługi Azure Storage | dowolny | Ciąg | brak | Wpisz nazwę konta usługi Azure Storage |
Klucz usługi Azure Storage | dowolny | Securestring | brak | Podaj klucz usługi Azure Storage |
Nazwa kontenera platformy Azure | dowolny | Ciąg | brak | Wpisz nazwę kontenera platformy Azure |
Argumenty VW | dowolny | Ciąg | brak | Określ wszystkie argumenty Vowpal Wabbit. Argument –f nie jest obsługiwany. |
Nazwa wejściowego pliku VW | dowolny | Ciąg | brak | Określ nazwę pliku wejściowego w formacie Vowpal Wabbit |
Nazwa wyjściowego modelu czytelnego (--readable_model) | dowolny | Ciąg | Jeśli zostanie określony, model z czytelnym obrazem zostanie wyprowadzone z powrotem do kontenera platformy Azure. Ten argument jest opcjonalny. |
|
Nazwa pliku wyjściowego odwróconego skrótu (--invert_hash) | dowolny | Ciąg | Jeśli zostanie określony, program wyprowadza plik zawierający funkcję odwróconego skrótu z powrotem do kontenera platformy Azure. Ten argument jest opcjonalny. |
|
Określ typ pliku | VW SVMLight |
typ_danych | VW | Wskaż, czy typ pliku używa formatu SVMLight, czy Vowpal Wabbit. |
Dane wyjściowe
Nazwa | Typ | Opis |
---|---|---|
Wytrenowany model | ILearner, interfejs | Wytrenowany uczony uczony |
Wyjątki
Wyjątek | Opis |
---|---|
Błąd 0001 | Wyjątek występuje, jeśli nie można odnaleźć co najmniej jednej określonej kolumny zestawu danych. |
Błąd 0003 | Wyjątek występuje, jeśli co najmniej jeden z danych wejściowych ma wartość null lub jest pusty. |
Błąd 0004 | Wyjątek występuje, jeśli parametr jest mniejszy lub równy określonej wartości. |
Błąd 0017 | Wyjątek występuje, jeśli co najmniej jedna określona kolumna ma typ nieobsługiwany przez bieżący moduł. |
Aby uzyskać listę błędów specyficznych dla modułów programu Studio (wersja klasyczna), zobacz Machine Learning Kody błędów.
Aby uzyskać listę wyjątków interfejsu API, zobacz Machine Learning API REST Error Codes (Kody błędów interfejsu API REST).
Zobacz też
Analiza tekstu
Tworzenie skrótów funkcji
Rozpoznawanie jednostek nazwanych
Ocena modelu Vowpal Wabbit 7-4
Vowpal Wabbit Train
Lista modułów A–Z