Workflow für benutzerdefinierte Modelle
Das Erstellen eines benutzerdefinierten Modells umfasst in der Regel fünf Schritte.
- Trainings-Dataset vorbereiten
- Modell trainieren
- Modell bewerten
- Modell bereitstellen
- Text analysieren
Nachdem Sie das Modell im 3. Schritt ausgewertet haben, wiederholen Sie die Schritte 1 bis 3, bis Sie zufriedenstellende Metriken erhalten haben, und stellen Sie dann das Modell bereit.
Trainings-Dataset vorbereiten
Zum Trainieren eines benutzerdefinierten Modells geben Sie bezeichnete Daten an. Informationen hierzu finden Sie unter Informationen zum Data Labeling.
Beispiel: Um ein Textklassifizierungsmodell zu erstellen, geben Sie dem Modell viele Beispiele für Textdatensätze an und kennzeichnen sie mit der Klasse, zu der sie gehören. Das Modell lernt die Eigenschaften der beschrifteten Datensätze. Dann kann das trainierte Modell die Klasse für neue Datensätze inferenzieren.
Trainingsdaten müssen beschriftet werden. Beispiel: Um ein Textklassifizierungsmodell zu erstellen, geben Sie dem Modell repräsentative Beispiele für Textdatensätze mit einem Label für jeden Datensatz an. Diese Beispiele ermöglichen es dem Modell, Beispiele zu lernen und vorherzusagen, die von einem Modell nicht gesehen werden. Um Daten zu beschriften, wird empfohlen, die OCI-CLI für den Data Labeling-Service zu verwenden.
- Dataset-Empfehlungen für benutzerdefinierte Modelle
-
Befolgen Sie die Richtlinien in der folgenden Tabelle, um Schulungs-Datasets vorzubereiten. Wenn keine Datensätze für die Validierung und den Test vorhanden sind, werden zufällige 60% der Elemente für das Training, 20% für die Validierung und 20% für den Test verwendet.
Wenn Sie kein Validierungs- oder Test-Dataset angeben, werden zufällige 20% der Samples vom Service ausgewählt.
Schulungsset Validierungsset Testset Benutzerdefinierte Named Entity Recognition
-
Minimum: 10 Instanzen pro Entity.
-
Empfohlen: 50 Instanzen pro Entity.
-
Minimum: 5 Instanz pro Entity oder 20% der Trainingsinstanzen, je nachdem, welcher Wert höher ist.
-
Empfohlen: 20 Instanzen pro Entity.
-
Minimum: 5 Instanz pro Entity oder 20% der Trainingsinstanzen, je nachdem, welcher Wert höher ist.
-
Empfohlen: 20 Instanzen pro Entity.
Benutzerdefinierte Textklassifizierung
-
Mindestens 10 Dokumente pro Klasse.
-
Empfohlen: 100 Dokumente pro Klasse.
-
Empfohlen: 20 Dokumente pro Klasse.
-
Empfohlen: 20 Dokumente pro Klasse.
-
-
Beschriften Sie die Schulungsbeispiele korrekt. Die Qualität des Modells hängt von der Qualität der Daten ab. Wenn Sie ein Modell trainieren und ein Typ von Klasse oder Entity nicht wie erwartet funktioniert, fügen Sie weitere Beispiele für diese Klasse oder Entity hinzu. Stellen Sie außerdem sicher, dass die Entity bei jedem Vorkommen im Trainingsset mit Anmerkungen versehen wird. Trainingsdaten mit geringer Qualität führen zu schlechten Trainingskennzahlen und liefern ungenaue Ergebnisse.
-
Haben Sie genug Trainingsproben für Modelle. Mehr Daten sind immer besser, um die Modellperformance zu steigern. Es wird empfohlen, das Modell mit einem kleinen Dataset zu trainieren, die Modelltrainingsmetriken zu prüfen und bei Bedarf weitere Trainingsproben hinzuzufügen.
Modell trainieren
Training ist der Prozess, bei dem das Modell aus den beschrifteten Daten lernt. Die Weiterbildungsdauer und -ergebnisse hängen von der Größe des Datasets, der Größe jedes Records und der Anzahl der aktiven Weiterbildungsjobs ab.
Modell bewerten
Nachdem ein Modell trainiert wurde, können Sie Auswertungsmetriken abrufen, die die Qualität des Modells beschreiben oder wie wahrscheinlich es ist, dass das Modell korrekt vorhergesagt wird. Der Service wendet das Modell auf das Testset an und vergleicht die vorhergesagten Labels mit den erwarteten Labels. Die Metriken basieren darauf, wie genau das Modell das Testset vorhersagt.
Mit der Konsole erhalten Sie eine Gruppe von Bewertungsmetriken auf Modellebene und auf Klassenebene (oder Entityebene für NER-Modelle), die im folgenden Abschnitt aufgeführt sind.
Mit der Konsole erhalten Sie die folgenden Typen von Auswertungsmetriken:
- Kennzahlen auf Klassenebene
- Metriken auf Modellebene
- Metriken auf Entityebene für NER-Modelle
- Konfusionsmatrix
Mit der API können Sie einen umfassenderen Satz von Metriken erhalten, einschließlich Mikro-, Makro- und gewichteter durchschnittlicher Wiederholungsgenauigkeit und F-1-Bewertungen.
Klassenmetriken
Klassenmetriken sind Metriken auf Entityebene.
- Genauigkeit
-
Das Verhältnis zwischen True Positives (die korrekt vorhergesagten Beispiele) und allen Beispielen der jeweiligen Klasse.
Es wird beschrieben, wie viele der vorhergesagten Beispiele korrekt vorhergesagt werden. Der Wert liegt zwischen 0 und 1. Höhere Werte sind besser.
- Abrufen
-
Das Verhältnis zwischen True Positives (die richtig vorhergesagten Beispiele) und allen vorhergesagten Beispielen.
Es wird beschrieben, wie viele korrekte Beispiele vorhergesagt werden. Der Wert liegt zwischen 0 und 1. Höhere Werte sind besser.
- F1-Score
-
Der F1-Score ist das harmonische Mittel für Präzision und Rückruf und gibt Ihnen einen einzigen Wert, um das Modell zu bewerten. Der Wert liegt zwischen 0 und 1. Höhere Werte sind besser.
Modellmetriken
Modellmetriken sind Metriken auf Modellebene für Modelle mit mehreren Klassen. Metriken auf Modellebene beschreiben die Gesamtqualität eines Modells. Präzisions-, Rückruf- und F-1-Werte werden auf Makro-, Mikro- und gewichtetem Durchschnittsniveau dargestellt.
- Makrodurchschnitte
-
Ein Makrodurchschnitt ist der Durchschnitt der Metrikwerte aller Klassen.
Beispiel: Die Makrogenauigkeit wird berechnet, wenn die Summe aller Klassengenauigkeitswerte durch die Anzahl der Klassen dividiert wird.
- Durchschnittliche Mikrobiologie
-
Ein Mikrodurchschnitt aggregiert die Beiträge aller Beispiele, um die Durchschnittsmetrik zu berechnen.
- Gewichtete Durchschnittswerte
-
Wird berechnet, indem die Anzahl der Instanzen jeder Klasse berücksichtigt wird.
Beispiel: Ein gewichteter F1-Score wird als Summe (F1-Score der Klasse * Support-Anteil der Klasse) berechnet.
- Genauigkeit
-
Ein Bruchteil aller korrekt vorhergesagten und nicht vorhergesagten Beispiele. Der Bruch wird als Verhältnis zwischen korrekt vorhergesagten und nicht vorhergesagten Klassen (wahr positiv + wahr negativ) und allen Beispielen berechnet.
- Konfusionsmatrix
-
Eine Tabelle zur Visualisierung der wahren und Vorhersageergebnisse jeder Klasse.
Modell bereitstellen
Nachdem Modellmetriken die Erwartungen erfüllt haben, können Sie das Modell in Produktion setzen und mit dem Modell Text analysieren. Um das Modell in Produktion zu nehmen, erstellen Sie einen Endpunkt. Ein Endpunkt weist dedizierte Compute-Ressourcen zur Inferenzierung (Textanalyse) für benutzerdefinierte Modelle zu.
Benutzerdefinierte Modellendpunkte sind privat, und Sie müssen ein Compartment für das Deployment des Endpunkts angeben. Sie können mehrere Endpunkte für ein Modell erstellen. Sie können Endpunkte erstellen oder löschen, ohne ein Modell zu löschen.
Text analysieren
Nachdem Sie einen Modellendpunkt erstellt haben, können Sie das Modell bereitstellen und Text mit einem benutzerdefinierten Modell analysieren. Sie können ein Modell auf folgende Weise für einen Endpunkt bereitstellen:
- Konsole
- REST-API
- SDK (Python, Java, C#, JavaScript und Ruby)
- CLI