Freigeben über


Train Vowpal Wabbit Version 7-4 Model (Vowpal Wabbit-Modelle der Version 7-4 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 der Version 7-4 des Machine Learning-Systems von Vowpal Wabbit

Kategorie: Textanalyse

Hinweis

Gilt nur 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-4 in Machine Learning Studio (classic) verwenden, um ein Machine Learning-Modell mithilfe einer Instanz von Vowpal Wabbit (Version 7-4) 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 Experimentlaufzeit 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 im Azure-Speicher 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 Vortrainierten Modelleingabe , 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-4 von Vowpal Wabbit verwendet. Wenn Sie ein Modell mit diesem Modul erstellen, müssen Sie das entsprechende Bewertungsmodul verwenden: Score Vowpal Wabbit 7-4 Model.

Verwenden Sie für die neueste Version Train Vowpal Wabbit Version 8 Model (Vowpal Wabbit Version 8-Modell trainieren) zusammen mit dem Bewertungsmodul Score Vowpal Wabbit 8 Model (Vowpal Wabbit 8-Modell bewerten).

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 primären Benutzer von Vowpal Wabbit in Machine Learning sind Data Scientists, die das Framework zuvor für Machine Learning-Aufgaben wie Klassifizierung, Regression, Themenmodellierung oder Matrixfaktorisierung verwendet haben. Der Azure-Wrapper für Vowpal Wabbit weist sehr ähnliche Leistungsmerkmale wie die lokale Version auf. Dies bedeutet, dass Benutzer weiterhin Modelle erstellen, erneut trainieren und mit den leistungsstarken Features und der nativen Leistung von Vowpal Wabbit trainieren und 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 Version 8-Modells

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 Eingabedataset 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 lediglich, 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, datenexportieren zum direkten Speichern der Eingabedatei in Azure für die Verwendung mit Vowpal Wabbit zu verwenden, da das Format einige zusätzliche Änderungen erfordert. Sie müssen sicherstellen, dass die Daten das richtige Format aufweisen, und dann die Daten in Azure Blob Storage hochladen.

Als Verknüpfung können Sie jedoch das Modul Convert to SVMLight (In SVMLight konvertieren ) 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 so ändern, dass sie den Anforderungen der Vowpal Wabbit-Eingabedatei entspricht.

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-4 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 Azure-Speicherschlüssel den Schlüssel, der für den Zugriff auf das Speicherkonto bereitgestellt wird, und fügen Sie ihn ein.

    Wenn Sie nicht über einen Schlüssel verfügen, finden Sie weitere Informationen unter How to regenerate storage access keys (Neugenerieren 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 z. B. lautet https://myaccount.blob.core.windows.net/vwmodels, sollten Sie nur vwmodelseingeben. 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 ausgabelesbaren Modelldatei (--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 ausgabeinvertierten 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 stellt das interne Format dar, das von Vowpal Wabbit verwendet wird.

    • 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 jedes Mal aus dem Speicher laden möchten, wenn das Experiment erneut hergestellt wird. Wenn keine anderen Parameter geändert wurden und ein gültiger Cache gefunden werden kann, verwendet Studio (klassisch) eine zwischengespeicherte Version der Daten.

    Wenn diese Option deaktiviert ist, liest das Modul immer die Daten 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 von Train Vowpal Wabbit Version 7-4 , und wählen Sie Save as trained model (Als trainiertes Modell speichern) aus, damit Sie das Modell später erneut verwenden und erneut 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 7-4 im gleichen Experiment.

  • Suchen Sie im linken Navigationsbereich von 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 7-4 hinzu.

  2. Verbinden das zuvor trainierte Modell an den Eingabeport von Train Vowpal Wabbit Version 7-4.

  3. Geben Sie im Eigenschaftenbereich von Train Vowpal Wabbit Version 7-4 den Speicherort und das Format der neuen Trainingsdaten an.

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

    Hinweis

    Wenn am angegebenen Speicherort ein Vowpal Wabbit-Modell oder eine Hashdatei vorhanden ist, werden die Dateien automatisch vom neuen trainierten Modell überschrieben. Um zwischengeschaltete Modelle beim erneuten Training beizubehalten, 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 Arbeitsbereich beizubehalten. 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 außerdem 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 aus Azure heruntergeladen, wobei die hohe Bandbreite zwischen den Workerrollen, die die Berechnungen ausführen, und dem Speicher genutzt wird. Sie werden an die VW-Lerner gestreamt. Das resultierende Modell ist aufgrund der internen Komprimierung durch VW im Allgemeinen sehr kompakt. Das Modell wird zurück in den Experimentarbeitsbereich kopiert, wo es wie andere Modelle in Machine Learning verwendet werden kann.

Unterstützte und nicht unterstützte Parameter

Sie können die folgenden Befehlszeilenargumente nicht in Machine Learning Studio (klassisch) verwenden.

  • Die unter https://github.com/JohnLangford/vowpal_wabbit/wiki/Command-line-arguments aufgeführten Eingabe-/Ausgabeoptionen.

    Diese Eigenschaften werden bereits automatisch vom Modul konfiguriert.

  • Außerdem sind alle Optionen, die mehrere Ausgaben generieren oder mehrere Eingaben erfordern, nicht zulässig. Dazu zählen --cbt , --lda und --wap .

  • Nur überwachte Lernalgorithmen werden unterstützt. Daher werden unter anderem die folgenden Optionen 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 gibt es nur eingeschränkte Interoperabilität zwischen den VW-Modulen und anderen Modulen in Azure ML.

Modulparameter

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

Das Argument –f wird nicht unterstützt.
Name of the input VW file any String Keine 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 Zeichenfolge 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
Vowpal Wabbit Train
Modulliste von A bis Z