Udostępnij za pośrednictwem


Train Vowpal Wabbit Version 7-10 Model

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).

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–10 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-10 in Machine Learning Studio (classic) (Trenowanie narzędzia Vowpal Wabbit w wersji 7–10) w programie Machine Learning Studio (wersja klasyczna) w celu utworzenia modelu uczenia maszynowego przy użyciu wystąpienia narzędzia Vowpal Wabbit (wersja 7–10).

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–10 struktury Vowpal Wabbit.

Jeśli musisz utworzyć lub wytypować model na podstawie poprzedniej wersji (7-4 lub 7-6), użyj tych modułów: Train Vowpal Wabbit 7-4 Model and Score Vowpal Wabbit 7-4 Model (Trenowanie modelu Vowpal Wabbit 7–4) i Score Vowpal Wabbit 7-4 Model (Trenowanie 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 7-10

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.

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

  1. Dodaj moduł Train Vowpal Wabbit Version 7-10 (Trenowanie aplikacji Vowpal Wabbit w wersji 7-10 ) do eksperymentu.

  2. 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

  3. 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).

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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:

  9. 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.

  10. Uruchom eksperyment.

  11. Po wygenerowaniu modelu kliknij prawym przyciskiem myszy dane wyjściowe i wybierz pozycję Zapisz jako wytrenowany model, aby można było ponownie użyć i ponownie wytrenować model później.

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 8 (Trenowanie Vowpal Wabbit w wersji 8 ) w tym samym eksperymencie.

  • Znajdź zapisany model w grupie Wytrenowane modele w programie Studio (wersja klasyczna) i przeciągnij go do eksperymentu.

  1. Dodaj moduł Train Vowpal Wabbit Version 8 (Trenowanie aplikacji Vowpal Wabbit w wersji 8 ) do eksperymentu.

  2. Połączenie wcześniej wytrenowany model do portu wejściowego szkolenia Vowpal Wabbit w wersji 8:

  3. W okienku Właściwości w narzędziu Train Vowpal Wabbit Version 8 (Trenowanie aplikacji Vowpal Wabbit w wersji 8) określ lokalizację i format nowych danych szkoleniowych.

  4. 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.

  5. Uruchom eksperyment.

  6. 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:

  • Przykład Vowpal Wabbit

    W tym eksperymencie pokazano przygotowywanie danych, trenowanie i operationalization modelu VW.

Zapoznaj się również z tymi zasobami:

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 magazynem a rolami procesu roboczego wykonującego obliczenia 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

W tej sekcji opisano obsługę parametrów wiersza polecenia Vowpal Wabbit w programie Machine Learning Studio (wersja klasyczna).

Nie można użyć następujących argumentów wiersza polecenia w programie Machine Learning Studio (wersja klasyczna).

  • Opcje wejściowe/wyjściowe określone w Vowpal Wabbit Wiki — argumenty wiersza polecenia

    Te właściwości są konfigurowane automatycznie przez moduł .

  • Każda opcja, która generuje wiele danych wyjściowych lub przyjmuje wiele danych wejściowych, jest niedozwolone. Są one następujące:

    --cbt, --lda, --wap

  • Obsługiwane są tylko algorytmy uczenia nadzorowanego. W związku z tym takie opcje nie są obsługiwane:

    –active, --rank, --search

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 Wpisz nazwę konta usługi Azure Storage
Klucz usługi Azure Storage dowolny Securestring Podaj klucz usługi Azure Storage
Nazwa kontenera platformy Azure dowolny Ciąg Wpisz nazwę kontenera platformy Azure
Argumenty VW dowolny Ciąg Określ wszystkie argumenty Vowpal Wabbit.

Argument –f nie jest obsługiwany.
Nazwa wejściowego pliku VW dowolny Ciąg 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
Score Vowpal Wabbit 7-10 Model
Trenowanie modelu Vowpal Wabbit 7-4
Lista modułów A–Z