Train Vowpal Wabbit Version 7-10 Model (Vowpal Wabbit-Modelle der Version 7-10 trainieren)

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Trainiert ein Modell mit version 7-10 des Vowpal Wabbit-Machine Learning-Systems

Kategorie: Textanalyse

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Modul Train Vowpal Wabbit Version 7-10 in Machine Learning Studio (classic) verwenden, um ein Machine Learning-Modell mithilfe einer Instanz von Vowpal Wabbit (Version 7-10) zu erstellen.

Um Vowpal Wabbit für maschinelles Lernen zu verwenden, formatieren Sie Ihre Eingabe gemäß den Vowpal Wabbit-Anforderungen, und speichern Sie die Daten in einem Azure-Blob. Verwenden Sie dieses Modul, um Vowpal Wabbit-Befehlszeilenargumente anzugeben.

Wenn das Experiment ausgeführt wird, wird eine Instanz von Vowpal Wabbit zusammen mit den angegebenen Daten in die Experiment-Laufzeit geladen. Nach Abschluss des Trainings wird das Modell zurück in den Arbeitsbereich serialisiert. Sie können das Modell sofort verwenden, um Daten zu bewerten. Das trainierte Modell wird auch in Azure Storage beibehalten, sodass Sie es später verwenden können, ohne die Trainingsdaten erneut verarbeiten zu müssen.

Um ein vorhandenes Modell inkrementell mit neuen Daten zu trainieren, verbinden Sie ein gespeichertes Modell mit der Eingabe des vortrainierten Modells, und fügen Sie die neuen Daten der anderen Eingabe hinzu.

Hinweis

Machine Learning Studio (klassisch) hostet mehrere Versionen des Vowpal Wabbit-Frameworks. In diesem Modul wird die Version 7-10 des Vowpal Wabbit-Frameworks verwendet.

Wenn Sie ein Modell basierend auf einer früheren Version (7-4 oder 7-6) erstellen oder bewertungsen möchten, verwenden Sie die folgenden Module: Train Vowpal Wabbit 7-4 Model (Vowpal Wabbit 7-4-Modell trainieren) und Score Vowpal Wabbit 7-4 Model (Vowpal Wabbit 7-4-Modell).

Verwenden Sie für die neueste Version Train Vowpal Wabbit Version 8 Model zusammen mit dem Bewertungsmodul Score Vowpal Wabbit 8 Model.

Was ist Vowpal Wabbit?

Vowpal Wabbit (VW) ist ein schnelles paralleles Framework für maschinelles Lernen, das von Yahoo! Research für verteilte Verarbeitung entwickelt und später nach Windows portiert und von John Langford (Microsoft Research) für wissenschaftliche Verarbeitung in Parallelarchitekturen angepasst wurde.

Wichtige Features von Vowpal Wabbit für maschinelles Lernen sind unter anderem stetiges Lernen (Onlinelernen), Verringern der Dimensionalität und interaktives Lernen. Vowpal Wabbit ist auch eine Lösung für Probleme, wenn die Modelldaten nicht in den Arbeitsspeicher passen.

Die hauptbenutzer von Vowpal Wabbit in Machine Learning sind Datenwissenschaftler, die zuvor das Framework für Machine Learning-Aufgaben wie Klassifizierung, Regression, Themenmodellierung oder Matrixfaktorisierung verwendet haben. Der Azure-Wrapper für Vowpal Wabbit verfügt über sehr ähnliche Leistungsmerkmale wie die lokale Version. Das bedeutet, dass Benutzer weiterhin Modelle erstellen, erneut trainieren und mithilfe der leistungsstarken Features und nativen Leistung von Vowpal Wabbit eine Bewertung erstellen können, während sie gleichzeitig die Möglichkeit erhalten, das trainierte Modell einfach als operationalisierten Dienst zu veröffentlichen.

Das Modul Feature Hashing enthält ebenfalls von Vowpal Wabbit bereitgestellte Funktionen, mit denen Sie Textdatasets mithilfe eines Hashalgorithmus in binäre Features umwandeln können.

Konfigurieren des Vowpal Wabbit-Modells (Version 7-10)

In diesem Abschnitt wird erläutert, wie Sie ein neues Modell trainieren und neue Daten zu einem vorhandenen Modell hinzufügen.

Im Gegensatz zu anderen Modulen in Studio (klassisch) gibt dieses Modul sowohl die Modulparameter an als auch trainiert das Modell. Wenn Sie über ein bereits vorhandenes Modell verfügen, können Sie es als optionale Eingabe hinzufügen, um das Modell inkrementell zu trainieren.

Die Verwendung dieses Moduls erfordert die Authentifizierung bei einem Azure-Speicherkonto.

Vorbereiten der Eingabedaten

Um ein Modell mit diesem Modul zu trainieren, muss das Eingabe-Dataset aus einer einzelnen Textspalte in einem der beiden unterstützten Formate bestehen: LibSVM oder VW.

Dies bedeutet nicht, dass Vowpal Wabbit nur Textdaten analysiert, sondern nur, dass die Features und Werte im erforderlichen Textdateiformat vorbereitet werden müssen.

Die Daten müssen aus Azure Storage gelesen werden. Es ist nicht möglich, daten exportieren zu verwenden, um die Eingabedatei für die Verwendung mit Vowpal Wabbit direkt in Azure zu speichern, da das Format einige zusätzliche Änderungen erfordert. Sie müssen sicherstellen, dass die Daten das richtige Format haben, und dann die Daten in Azure Blob Storage hochladen.

Als Verknüpfung können Sie jedoch das Modul Convert to SVMLight verwenden, um eine SVMLight-Formatdatei zu generieren. Anschließend können Sie entweder die SVMLight-Formatdatei in Azure Blob Storage hochladen und als Eingabe verwenden, oder Sie können die Datei geringfügig ändern, um die Anforderungen der Vowpal Wabbit-Eingabedatei zu erfüllen.

Das Vowpal Wabbit-Datenformat hat den Vorteil, dass es kein Spaltenformat erfordert, wodurch sich Speicherplatz sparen lässt, wenn dünn besetzte Daten verarbeitet werden. Weitere Informationen zu diesem Format finden Sie auf der Vowpal Wabbit-Wikiseite.

Erstellen und Trainieren eines Vowpal Wabbit-Modells

  1. Fügen Sie Ihrem Experiment das Modul Train Vowpal Wabbit Version 7-10 hinzu.

  2. Geben Sie das Konto an, in dem die Trainingsdaten gespeichert werden. Das trainierte Modell und die Hashdatei werden am gleichen Speicherort gespeichert.

    • Geben Sie unter Name des Azure-Speicherkontos den Namen des Azure-Speicherkontos ein.

    • Kopieren Sie für den Azure-Speicherschlüssel den Schlüssel, der für den Zugriff auf das Speicherkonto bereitgestellt wird, und fügen Sie ihn ein.

    Wenn Sie keinen Schlüssel haben, finden Sie weitere Informationen unter Neu generieren von Speicherzugriffsschlüsseln.

  3. Geben Sie unter Azure-Containername den Namen eines einzelnen Containers im angegebenen Azure-Speicherkonto ein, in dem die Modelltrainingsdaten gespeichert sind. Geben Sie weder den Kontonamen noch ein Protokollpräfix ein.

    Wenn der vollständige Containerpfad und -name beispielsweise ist https://myaccount.blob.core.windows.net/vwmodels, sollten Sie nur eingeben vwmodels. Weitere Informationen zu Containernamen finden Sie unter Benennen und Verweisen auf Container, Blobs und Metadaten.

  4. Geben Sie im Textfeld VW arguments (VW-Argumente) die Befehlszeilenargumente für die ausführbare Datei für Vowpal Wabbit an.

    Beispielsweise können Sie –l hinzufügen, um die Lerngeschwindigkeit anzugeben, oder -b , um die Anzahl von Hashingbits anzugeben.

    Weitere Informationen finden Sie im Abschnitt "Parameter ".

  5. Name der VW-Eingabedatei: Geben Sie den Namen der Datei ein, die die Eingabedaten enthält. Die Datei muss eine vorhandene Datei in Azure Blob Storage sein, die sich im zuvor angegebenen Speicherkonto und Container befindet. Die Datei muss mit einem der unterstützten Formate vorbereitet worden sein.

  6. Name der lesbaren Ausgabemodelldatei (--readable_model): Geben Sie den Namen einer Datei ein, in der das trainierte Modell gespeichert werden soll. Die Datei muss im gleichen Speicherkonto und Container wie die Eingabedatei gespeichert werden.

    Dieses Argument entspricht dem Parameter --readable_model in der VW-Befehlszeile.

  7. Name der ausgabevertierten Hashdatei (--invert_hash): Geben Sie den Namen der Datei ein, in der die invertierte Hashfunktion gespeichert werden soll. Die Datei muss im gleichen Speicherkonto und Container wie die Eingabedatei gespeichert werden.

    Dieses Argument entspricht dem Parameter --invert_hash in der VW-Befehlszeile.

  8. Geben Sie den Dateityp an: Geben Sie an, welches Format Ihre Trainingsdaten verwenden. Vowpal Wabbit unterstützt die folgenden beiden Eingabedateiformate:

    • VW ist das von Vowpal Wabbit verwendete interne Format. Ausführliche Informationen finden Sie auf der Vowpal Wabbit-Wikiseite.

    • SVMLight ist ein von einigen anderen Machine-Learning-Tools verwendetes Format.

  9. Wählen Sie die Option Zwischengespeicherte Ergebnisse verwenden aus, wenn Sie die Daten nicht bei jeder Erneutentladung des Experiments aus dem Speicher laden möchten. Wenn sich keine anderen Parameter geändert haben und ein gültiger Cache gefunden werden kann, verwendet Studio (klassisch) eine zwischengespeicherte Version der Daten.

    Wenn diese Option deaktiviert ist, liest das Modul die Daten immer aus dem Speicher.

  10. Führen Sie das Experiment aus.

  11. Nachdem das Modell generiert wurde, klicken Sie mit der rechten Maustaste auf die Ausgabe, und wählen Sie Als trainiertes Modell speichern aus, damit Sie das Modell später erneut verwenden und trainieren können.

Neutrainieren eines vorhandenen Vowpal Wabbit-Modells

Vowpal Wabbit unterstützt inkrementelles Training durch Hinzufügen neuer Daten zu einem vorhandenen Modell. Es gibt zwei Möglichkeiten, ein vorhandenes Modell zum Neutrainieren zu erhalten:

  • Verwenden Sie die Ausgabe eines anderen Moduls Train Vowpal Wabbit Version 8 im gleichen Experiment.

  • Suchen Sie in Studio (klassisch) in der Gruppe Trainierte Modelle nach einem gespeicherten Modell, und ziehen Sie es in Ihr Experiment.

  1. Fügen Sie Ihrem Experiment das Modul Train Vowpal Wabbit Version 8 hinzu.

  2. Verbinden sie das zuvor trainierte Modell an den Eingabeport von Train Vowpal Wabbit Version 8( Trainieren von Vowpal Wabbit Version 8):

  3. Geben Sie im Bereich Eigenschaften von Train Vowpal Wabbit Version 8 den Speicherort und das Format der neuen Trainingsdaten an.

  4. Geben Sie einen Namen für die lesbare Modellausgabedatei und einen anderen Namen für die Hashdatei an, die dem aktualisierten Modell zugeordnet ist.

    Hinweis

    Wenn am angegebenen Speicherort ein vorhandenes Vowpal Wabbit-Modell oder eine Hashdatei vorhanden ist, werden die Dateien vom neuen trainierten Modell automatisch überschrieben. Um Zwischenmodelle beim erneuten Training zu erhalten, müssen Sie den Speicherort ändern oder eine lokale Kopie der Modelldateien erstellen.

  5. Führen Sie das Experiment aus.

  6. Klicken Sie mit der rechten Maustaste auf das Modul, und wählen Sie Als trainiertes Modell speichern aus, um das aktualisierte Modell in Ihrem Machine Learning erhalten. Wenn Sie keinen neuen Namen angeben, wird das vorhandene gespeicherte Modell durch das aktualisierte Modell überschrieben.

Beispiele

Beispiele für die Verwendung von Vowpal Wabbit in Machine Learning finden Sie im Azure KI-Katalog:

  • Vowpal Wabbit-Beispiel

    Dieses Experiment veranschaulicht die Datenvorbereitung, das Training und die Operationalisierung eines VW-Modells.

Sehen Sie sich auch die folgenden Ressourcen an:

Technische Hinweise

Dieser Abschnitt enthält Implementierungsdetails, Tipps und Antworten auf häufig gestellte Fragen.

Vorteile von Vowpal Wabbit

Vowpal Wabbit bietet äußerst schnelles Lernen mithilfe von nichtlinearen Features wie N-Grammen.

Das Framework verwendet Techniken für Onlinelernen, z. B. den stochastischen Gradientenabstieg (Stochastic Gradient Descent, SGD), um ein Modell datensatzweise anzupassen. Daher durchläuft Vowpal Wabbit Rohdaten sehr schnell und kann schneller einen guten Prädiktor entwickeln als die meisten anderen Modelle. Mit diesem Ansatz wird außerdem vermieden, dass alle Trainingsdaten in den Arbeitsspeicher gelesen werden müssen.

Vowpal Wabbit konvertiert alle Daten in Hashes, d. h. nicht nur Textdaten, sondern auch andere Kategorievariablen. Die Verwendung von Hashes macht Suchvorgänge für Regressionsgewichtungen effizienter, was für einen effektiven stochastischen Gradientenabstieg unverzichtbar ist.

Während des Trainings ruft das Modul einen für Azure entwickelten Vowpal Wabbit-Wrapper auf. Die Trainingsdaten werden in Blöcken von Azure heruntergeladen und nutzen dabei die hohe Bandbreite zwischen dem Speicher und den Workerrollen, die die Berechnungen ausführen, und werden an die VW-Lerner gestreamt. Das resultierende Modell ist aufgrund der internen Komprimierung durch VW in der Regel sehr kompakt. Das Modell wird zurück in den Experimentarbeitsbereich kopiert, wo es wie andere Modelle in der Machine Learning.

Unterstützte und nicht unterstützte Parameter

In diesem Abschnitt wird die Unterstützung für Vowpal Wabbit-Befehlszeilenparameter in Machine Learning Studio (klassisch) beschrieben.

Die folgenden Befehlszeilenargumente können in Machine Learning Studio (klassisch) nicht verwendet werden.

  • Die in Vowpal Wabbit Wiki – Befehlszeilenargumente angegebenen Eingabe-/Ausgabeoptionen

    Diese Eigenschaften werden automatisch vom Modul konfiguriert.

  • Jede Option, die mehrere Ausgaben generiert oder mehrere Eingaben verwendet, ist nicht möglich. Dazu gehören:

    --cbt, --lda, --wap

  • Nur überwachte Lernalgorithmen werden unterstützt. Daher werden Optionen wie diese nicht unterstützt:

    –active, --rank, --search

Alle anderen Argumente als die oben beschriebenen sind zulässig.

Eine vollständige Liste der Argumente finden Sie auf der Vowpal Wabbit-Wikiseite.

Beschränkungen

Da das Ziel des Diensts ist, erfahrene Benutzer von Vowpal Wabbit zu unterstützen, müssen die Eingabedaten vorab im nativen Vowpal Wabbit-Textformat vorbereitet werden statt in von anderen Modulen verwendeten Datasetformaten.

Anstatt Daten im Azure ML-Arbeitsbereich zu verwenden, werden die Trainingsdaten direkt aus Azure gestreamt, um maximale Leistung und minimalen Analyseaufwand zu erzielen. Aus diesem Grund ist die Interoperabilität zwischen den VW-Modulen und anderen Modulen in Azure ML.

Modulparameter

Name Range type Standard Beschreibung
Azure-Speicherkontoname any Zeichenfolge Geben Sie den Namen des Azure-Speicherkontos ein.
Azure-Speicherschlüssel any SecureString Geben Sie den Azure-Speicherschlüssels an.
Azure container name any Zeichenfolge Geben Sie den Namen der Azure-Containers ein.
VW arguments any Zeichenfolge Geben Sie die jeweiligen Vowpal Wabbit- Argumente an.

Das Argument –f wird nicht unterstützt.
Name of the input VW file any String Geben Sie den Namen einer Eingabedatei an, die im Vowpal Wabbit-Format vorliegt.
Name of the output readable model (--readable_model) file any Zeichenfolge Ist ein Name angegeben, wird ein lesbares Modell in den Azure-Container ausgegeben.

Dieses Argument ist optional.
Name of the output inverted hash (--invert_hash) file any String Ist ein Name angegeben, wird eine Datei, die die invertierte Hashfunktion enthält, in den Azure-Container ausgegeben.

Dieses Argument ist optional.
Please specify file type VW

SVMLight
DataType VW Geben Sie an, ob der Dateityp das SVMLight-Format oder das Vowpal Wabbit-Format verwendet.

Ausgaben

Name Type BESCHREIBUNG
Trainiertes Modell ILearner-Schnittstelle Trainiertes Lernmodul

Ausnahmen

Ausnahme Beschreibung
Fehler 0001 Eine Ausnahme tritt auf, wenn eine oder mehrere angegebene Spalten des Datasets nicht gefunden werden konnten.
Fehler 0003 Eine Ausnahme tritt auf, wenn mindestens eine Eingabe NULL oder leer ist.
Fehler 0004 Eine Ausnahme tritt auf, wenn der Parameter kleiner als oder gleich dem bestimmten Wert ist.
Fehler 0017 Die Ausnahme tritt auf, wenn eine oder mehrere angegebene Spalten einen Typ aufweisen, der im aktuellen Modul nicht unterstützt wird.

Eine Liste der Fehler, die für Studio-Module (klassisch) spezifisch sind, finden Sie unter Machine Learning Fehlercodes.

Eine Liste der API-Ausnahmen finden Sie unter Machine Learning REST-API-Fehlercodes.

Siehe auch

Textanalyse
Feature Hashing
Erkennung benannter Entitäten
Bewerten des Vowpal Wabbit 7–4-Modells
Bewerten des Vowpal Wabbit 7–10-Modells
Trainieren des Vowpal Wabbit 7-4-Modells
Modulliste von A bis Z