- Versionshinweise
- Erste Schritte
- Benachrichtigungen
- Projekte
- Datasets
- Data Labeling
- ML-Pakete
- Sofort einsetzbare Pakete
- Pipelines
- ML-Skills
- ML-Protokolle
- Document UnderstandingTM im AI Center
- AI Center-API
- Lizenzierung
- Vorlagen für AI Solutions
- Anleitungen zu …
- Grundlegende Anleitung zur Fehlerbehebung
AI Center
Englischsprachige Textklassifizierung
OS-Pakete > Sprachanalyse > EnglishTextClassification
Dies ist ein generisches, erneut trainierbares Modell für die englische Klassifizierung. Dieses ML-Paket muss erneut trainiert werden. Wenn es zuerst ohne Training bereitgestellt wird, schlägt die Bereitstellung mit einem Fehler fehl, der angibt, dass das Modell nicht trainiert ist.
Dieses Modell ist eine Deep Learning-Architektur für die Sprachklassifizierung. Sie basiert auf RoBERTa, einer selbstbeaufsichtigten Methode zum Vortraining von Systemen zur Verarbeitung natürlicher Sprache. Eine GPU kann sowohl zur Ausgabezeit als auch zur Trainingszeit verwendet werden. Eine GPU liefert eine ~5–10-fache Verbesserung der Geschwindigkeit. Das Modell ist ein Open-Source-Projekt von Facebook AI Research
Alle drei Pipelinetypen (Vollständiges Training, Training und Auswertung) werden von diesem Paket unterstützt.
Für die meisten Anwendungsfälle müssen keine Parameter angegeben werden, das Modell verwendet erweiterte Techniken, um ein performantes Modell zu finden. In nachfolgenden Trainings nach dem ersten verwendet das Modell inkrementelles Lernen (das heißt, am Ende eines Trainingslaufs wird die zuvor trainierte Version verwendet).
Lesen mehrerer Dateien
Standardmäßig liest dieses Modell alle Dateien mit einer .csv- und .json- Erweiterung (rekursiv) im bereitgestellten Verzeichnis.
CSV-Dateiformat:
Jede CSV-Datei kann eine beliebige Anzahl von Spalten haben, nur zwei werden vom Modell verwendet. Diese Spalten werden von den Parametern input_column (wenn nicht festgelegt, wird standardmäßig „input“ verwendet) und target_column (wenn nicht festgelegt, wird standardmäßig „target“ verwendet) angegeben.
Beispielsweise sieht eine einzelne CSV-Datei folgendermaßen aus:
input,target
I like this movie,positive
I hated the acting,negative
input,target
I like this movie,positive
I hated the acting,negative
In der obigen Beispieldatei kann jede Art von Pipeline getriggert werden, ohne zusätzliche Parameter hinzuzufügen. Im folgenden Beispiel müssen die Spalten explizit angegeben werden:
review,sentiment
I like this movie,positive
I hated the acting,negative
review,sentiment
I like this movie,positive
I hated the acting,negative
Alle Dateien, die nicht die in input_column und target_column angegebenen Spalten haben, werden übersprungen. Darüber hinaus kann das Trennzeichen, das zum Analysieren der Datei verwendet wird, durch Konfigurieren der csv_delimiter-Parameter definiert werden. Wenn Ihre Datei beispielsweise durch Tabstopp getrennt ist, speichern Sie sie mit der Erweiterung .csv und legen Sie den Parameter csv_delimiter auf ** ** fest.
JSON-Dateiformat:
Jede JSON-Datei kann für einen einzelnen Datenpunkt oder eine Liste von Datenpunkten bestimmt sein. Das heißt, jede JSON-Datei kann eines von zwei Formaten haben: Einzelner Datenpunkt in einer JSON-Datei:
{
"input": "I like this movie",
"target": "positive"
}
{
"input": "I like this movie",
"target": "positive"
}
Mehrere Datenpunkte in einer JSON-Datei:
[
{
"input": "I like this movie",
"target": "positive"
},
{
"input": "I hated the acting",
"target": "negative"
}
]
[
{
"input": "I like this movie",
"target": "positive"
},
{
"input": "I hated the acting",
"target": "negative"
}
]
Wenn die Parameter input_column und target_column für die CSV-Datei festgelegt sind, überschreibt das Format „input“ mit input_column und „target“ mit target_column.
Alle gültigen Dateien (alle CSV-Dateien und JSON-Dateien, die dem oben genannten Format entsprechen) werden gruppiert.
Lesen einer einzelnen Datei
In einigen Fällen kann es nützlich sein, eine einzelne Datei zu verwenden (auch wenn Ihr Verzeichnis viele Dateien hat). In diesem Fall kann der Parameter csv_name verwendet werden. Wenn diese Option festgelegt ist, liest die Pipeline nur diese Datei. Wenn dieser Parameter festgelegt ist, sind zwei weitere zusätzliche Parameter aktiviert:
- csv_start_index, mit dem der Benutzer die Zeile angeben kann, in der mit dem Lesen begonnen werden soll.
- csv_end_index, womit der Benutzer die Zeile angeben kann, in der das Lesen beendet wird.
Beispielsweise haben Sie möglicherweise eine große Datei mit 20.000 Zeilen, möchten aber möglicherweise schnell sehen, wie eine Trainingsausführung mit einer Teilmenge von Daten aussehen würde. In diesem Fall können Sie den Dateinamen angeben und csv_end_index auf einen Wert festlegen, der viel niedriger als 20.000 ist.
- input_column: Ändern Sie diesen Wert so, dass er mit dem Namen der Dataset-Eingabespalte übereinstimmt (der Standard ist „input“)
- target_column: Ändern Sie diesen Wert, um dem Namen der Dataset-Eingabespalte (Standard ist „target“) zu entsprechen.
- evaluation_metric: Ändern Sie mit diesem Wert, welche Metrik von der Auswertungsfunktion zurückgegeben und in der UI angezeigt wird. Dieser Parameter kann auf einen der folgenden Werte festgelegt werden: „accuracy“ (Standard), „auroc“ (Bereich unter der ROC-Kurve), „precision“, „recall“, „matthews correlation“ (Matthews-Korrelationskoeffizient), „fscore“.
- csv_name: Verwenden Sie diese Variable, wenn Sie eine eindeutige CSV-Datei angeben möchten, die aus dem Dataset gelesen werden soll.
- csv_start_index: Ermöglicht das Angeben der Zeile, in der mit dem Lesen begonnen wird. In Kombination mit csv_name zu verwenden.
- csv_end_index: Ermöglicht das Angeben der Zeile, in der das Lesen beendet wird. In Kombination mit csv_name zu verwenden.
Die Trainingsfunktion erzeugt drei Artefakte:
- train.csv - Die Daten, die zum Trainieren des Modells verwendet wurden, die hier zur Governance und Nachverfolgbarkeit gespeichert wurden.
- validation.csv - Die Daten, die zum Validieren des Modells verwendet wurden.
learning-rate-finder.png
– Darüber müssen sich die meisten Benutzer nie Gedanken machen. Für erfahrene Benutzer ist dies möglicherweise hilfreich (siehe erweiterten Abschnitt). - train-report.pdf - Ein Bericht, der zusammenfassende Informationen dieser Ausführung enthält. Der erste Abschnitt enthält alle Parameter, die vom Benutzer angegeben wurden. Der zweite Abschnitt enthält Statistiken über die Daten (die Anzahl der Datenpunkte für Training, Validierung und die Prüfsumme jeder Datei). Der letzte Abschnitt enthält zwei Diagramme:
- Verlustdiagramm – Dies beschreibt den Trainings- und Validierungsverlust als Funktion für die Anzahl der Epochen. Die Ausgabeversion des ML-Pakets ist immer die Version, die den minimalen Validierungsverlust hatte (nicht das Modell in der letzten Epoche).
- Metrikendiagramm – Dies zeichnet eine Reihe von Metriken auf, die auf der Validierung berechnet wurden, die am Ende jeder Epoche festgelegt wurde.
Die Funktion „Auswerten“ erzeugt zwei Artefakte:
- evaluation.csv - Die Daten, die zum Auswerten des Modells verwendet wurden.
- evaluation-report.pdf – Ein Bericht, der zusammenfassende Informationen dieser Ausführung enthält. Der erste Abschnitt enthält alle Parameter, die vom Benutzer angegeben wurden. Der zweite Abschnitt enthält Statistiken über die Daten (die Anzahl der Datenpunkte für die Auswertung und Prüfsumme der Datei). Der dritte Abschnitt enthält Statistiken zu dieser Auswertung (bei mehreren Klassen werden die Metriken gewichtet). Der letzte Abschnitt enthält eine Darstellung der Konfusionsmatrix und eine Berechnung von Richtigkeit, Präzision, Wiedererkennung und Unterstützung pro Klasse sowie deren Durchschnittswerte.
RoBERTa: „A Robustly Optimized BERT Pretraining Approach“ (dt. „Ein robust optimierter BERT-Vortrainingsansatz“) von Yinhan Liu, Myle Ott, et al.