- Einleitung
- Einrichten Ihres Kontos
- Ausgewogenheit
- Cluster
- Konzeptabweichung
- Abdeckung
- Datasets
- Allgemeine Felder
- Beschriftungen (Vorhersagen, Konfidenzniveaus, Beschriftungshierarchie und Beschriftungsstimmung)
- Modelle
- Streams
- Modellbewertung
- Projekte
- Präzision
- Rückruf
- Nachrichten mit und ohne Anmerkungen
- Extraktionsfelder
- Quellen
- Taxonomien
- Training
- „True“ und „false“ positive und negative Vorhersagen
- Validierung
- Messages
- Zugriffssteuerung und Administration
- Verwalten Sie Quellen und Datasets
- Verstehen der Datenstruktur und -berechtigungen
- Erstellen oder Löschen einer Datenquelle in der GUI
- Vorbereiten von Daten für den CSV-Upload
- Hochladen einer CSV-Datei in eine Quelle
- Ein Dataset wird erstellt
- Mehrsprachige Quellen und Datasets
- Aktivieren der Stimmung für ein Dataset
- Ändern der Dataset-Einstellungen
- Löschen einer Nachricht
- Löschen eines Datasets
- Exportieren eines Datasets
- Verwenden von Exchange-Integrationen
- Modelltraining und -wartung
- Grundlegendes zu Beschriftungen, allgemeinen Feldern und Metadaten
- Beschriftungshierarchie und Best Practices
- Vergleichen von Anwendungsfällen für Analyse und Automatisierung
- Konvertieren Ihrer Ziele in Bezeichnungen
- Übersicht über den Modelltrainingsprozess
- Generative Anmerkung
- Der Status des Datasets
- Best Practice für Modelltraining und Anmerkungen
- Training mit aktivierter Beschriftungs-Stimmungsanalyse
- Grundlegendes zu Datenanforderungen
- Trainieren
- Einführung in Verfeinerung
- Erläuterungen zu Präzision und Rückruf
- Präzision und Rückruf
- So funktioniert die Validierung
- Verstehen und Verbessern der Modellleistung
- Gründe für die geringe durchschnittliche Beschriftungsgenauigkeit
- Training mit Beschriftung „Überprüfen“ und Beschriftung „Verpasst“.
- Training mit der Bezeichnung „Teach“ (Verfeinern)
- Training mit der Suche (verfeinern)
- Verstehen und Erhöhen der Abdeckung
- Verbesserung des Abgleichs und Verwendung des Abgleichs
- Wann das Training Ihres Modells beendet werden soll
- Verwenden von allgemeinen Feldern
- Generative Extraktion
- Verwenden von Analyse und Überwachung
- Automations and Communications Mining™
- Entwickler (Developer)
- Verwenden der API
- API-Tutorial
- Quellen
- Datasets
- Anmerkungen
- Anhänge (Attachments)
- Vorhersagen
- Erstellen Sie einen Stream
- Aktualisieren Sie einen Stream
- Rufen Sie einen Stream nach Namen ab
- Rufen Sie alle Streams ab
- Löschen Sie einen Stream
- Ergebnisse aus Stream abrufen
- Kommentare aus einem Stream abrufen (Legacy)
- Bringen Sie einen Stream vor
- Einen Stream zurücksetzen
- Kennzeichnen Sie eine Ausnahme
- Entfernen Sie das Tag einer Ausnahme
- Prüfungsereignisse
- Alle Benutzer abrufen
- Hochladen von Daten
- Herunterladen von Daten
- Exchange Integration mit einem Azure-Dienstbenutzer
- Exchange-Integration mit der Azure-Anwendungsauthentifizierung
- Exchange-Integration mit Azure Application Authentication und Graph
- Migrationsanleitung: Exchange Web Services (EWS) zur Microsoft Graph-API
- Abrufen von Daten für Tableau mit Python
- Elasticsearch-Integration
- Allgemeine Feldextraktion
- Selbst gehostete Exchange-Integration
- UiPath® Automatisierungs-Framework
- Offizielle UiPath®-Aktivitäten
- Wie Maschinen lernen, Wörter zu verstehen: eine Anleitung zu Einbettungen in NLP
- Eingabeaufforderungsbasiertes Lernen mit Transformers
- Ef Robots II: Wissensdegesterration und Feinabstimmung
- Effiziente Transformer I: Warnmechanismen
- Tief hierarchische, nicht überwachte Absichtsmodellierung: Nutzen ohne Trainingsdaten
- Beheben von Anmerkungsverzerrungen mit Communications Mining™
- Aktives Lernen: Bessere ML-Modelle in weniger Zeit
- Auf Zahlen kommt es an – Bewertung der Modellleistung mit Metriken
- Darum ist Modellvalidierung wichtig
- Vergleich von Communications Mining™ und Google AutoML für Conversation Data Intelligence
- Lizenzierung
- Häufige Fragen und mehr

Communications Mining-Benutzerhandbuch
Ef Robots II: Wissensdegesterration und Feinabstimmung
Dieser zweiteilige Beitrag befasst sich mit der Frage, wie Sie State-of-the-Art-NLP effizienter gestalten, indem Sie Änderungen an den beliebten, aber rechenintensiven Transformer-basierten Sprachmodellierungstechniken erkunden.
Der vorherige Beitrag:
- Es wurde erklärt, warum der Self-Attention-Mechanismus des Transformers einen hohen Rechenaufwand aufweist.
- Präsentation alternativer Überwachungsmechanismen, die effizienter in der Ausführung sind, ohne die Leistung erheblich zu beeinträchtigen.
Dieser Beitrag wird:
- Erkunden Sie Methoden, die kleine Modelle trainieren, um die Ausgaben großer Modelle zu reproduzieren.
- Erläutern Sie, wie Sprachmodelle effizient angepasst werden können.
- Geben Sie unsere Empfehlungen für Szenarien ab, in denen die verschiedenen effizienten Transformer-Ansätze verwendet werden sollten.
Der vorherige Beitrag enthielt einen kurzen Verlauf des Lernens der semantischen Darstellung in NLP und einen Überblick über die Funktionsweise des Selbstattended-Mechanismus des Transformers. Wir empfehlen, zuerst diese Abschnitte für Leser zu lesen, die möglicherweise noch nicht vertraut sind. In diesem Beitrag werden auch einige der im vorherigen Beitrag eingeführten Notationen verwendet.
Wissensdegesterierung
Die Wissensdeklaration ist ein Forschungsbereich zu effizienteren Transformer, der kleine Modelle (Studenten) trainiert, indem sie dazu aufgefordert werden, die Ausgaben großer Modelle (Lehrer) zu reproduzieren. Es handelt sich dabei um eine Technik, die zunächst bei Klassifizierungsaufgaben in der Computer Vision immer bekannt wurde, aber erfolgreich in mehreren Domains, einschließlich NLP, eingesetzt wurde. Der typische Workflow ist:
- Trainieren Sie ein großes Modell mit generischen beschrifteten Daten.
- Trainieren Sie ein kleines Modell, um das große Modell mithilfe von aufgabenspezifischen Daten ohne Anmerkungen (und aufgabenspezifischer Daten mit Anmerkungen, falls verfügbar) zu imitieren.
Obwohl dieser Prozess immer noch das Training eines großen Modells beinhaltet, sind dies einmalige Kosten. Die häufigere Aufgabe, Vorhersagen zu treffen, wird das kleine Modell übernehmen, das deutlich effizienter in der Ausführung ist. Daher ist die Wissensdegesterierung eine besonders beliebte Technik für die Ausführung von Machine Learning in Umgebungen mit eingeschränkter Hardware, z. B. auf Mobilgeräten.
Es ist zu bedenken, dass ein kleines Modell einfach auf den gleichen Daten trainiert werden könnte, die zum Trainieren des großen Modells verwendet werden. Das kleine Modell ist jedoch möglicherweise nicht in der Lage, Darstellungen von der gleichen Qualität wie das große Modell zu lernen. Das kleine Modell lernt aus den vorhergesagten Wahrscheinlichkeiten des großen Modells, die in der Regel mehr Informationen als die Klassenbeschriftung codieren. Dadurch kann das kleine Modell umfangreichere Darstellungen und in vielen Szenarien lernen, was bedeutet, dass das kleine Modell eine bessere Vorhersageleistung hat, als wenn es von Grund auf trainiert würde.
Betrachten wir ein Dokument x und eine Klassenbeschriftung y, wobei die Klassenbeschriftung zu einer von C Kategorien gehört (d. h y∈{{1,2,…,C}). Geben Sie die Wahrscheinlichkeit an, mit der ein großes Modell f vorhersagt, dass Dokument x die Klassenbeschriftung y=c als p(c;f(x)) hat. Diese Wahrscheinlichkeit wird normalerweise mit einer Funktion des Formats berechnet:

wobei f(x) die Ausgabe eines neuronalen Netzwerks (z. B. eines Transformers ist, das x als Eingabe verwendet. Das große Modell wird mit dem folgenden Ziel der maximalen Wahrscheinlichkeit trainiert:

wobei I(c;y)=1, wenn y=c, andernfalls 0.
Das kleine Modell g kann trainiert werden, um die vom großen Modell f vorhergesagten Wahrscheinlichkeiten zu reproduzieren, indem Sie ein Ziel der Form verwenden:

Beispiele für Zielfunktionen:
-
Ein Ziel im Stil der maximalen Wahrscheinlichkeit:
- Dies entspricht der Minimierung der KL-Abweichung zwischen p(c;f) und p(c;g).
-
Der negative mittlere Fehler (MSE) zwischen Protokollen:

Wenn beim Training des kleinen Modells aufgabenspezifische Daten mit Anmerkungen verfügbar sind, werden das überwachte Ziel und das Deaktivierungsziel mit einem gewichteten Durchschnitt kombiniert:

Aufgabenspezifische Deaktivierung
Das biLSTM-SOFT- Modell führt eine aufgabenspezifische Delegierung durch, indem versucht wird, die Vorhersagen eines bereits feinabgestimmten BERT- Modells für Klassifizierungsaufgaben zu reproduzieren. Für das Studentenmodell wird ein bidirektionales LSTM verwendet. Obwohl es sich um ein wiederkehrendes Modell handelt, ist es schnell auszuführen, da es nur eine Ebene hat.
Das Deaktivierungsziel ist die negative MSE zwischen den Protokollen des Lernenden und des Dozenten. Die Ausführung ist über 400-mal schneller als das BERT-Modell, aus dem es extrahiert wurde, aber die Genauigkeit/F1-Punkte sind um 4–7 Punkte schlechter (je nach Aufgabe).
Delegierung während des Vortrainings
Bisher wurde die Wissensdeklaration im Kontext von überwachtem Lernen dargestellt, da sie in diesem Zusammenhang am häufigsten verwendet wird. DistilBERT führt jedoch die Wissensdeklaration sowohl in der Phase vor dem Sprachmodell als auch in der Feinabstimmungsphase durch.
Wie im Abschnitt „Hintergrund“ des vorherigen Beitrags erläutert, wird BERT mit maskierter Sprachmodellierung vortrainiert. DistilBERT behandelt die fehlenden Wörter als Klassenbeschriftungen und verwendet die Zielfunktion für die Deaktivierung im Stil der maximalen Wahrscheinlichkeit. Es verwendet die vorhergesagten Wahrscheinlichkeitsverteilungen von BERT für die fehlenden Wörter als qualitative Ziele für das Deklarationsziel. Die Autoren fügen auch ein Cosinus-Einbettungsziel hinzu, das das kleine Modell dazu veranlasst, die Richtungen seiner Einbettungen an die von BERT erzeugten auszurichten.
DisstilBERT verwendet die gleiche grundlegende Architektur wie BERT, hat aber halb so viele Ebenen und ist etwa 38 % schneller in der Ausführung. Wenn es nur während des Vortrainings deklariert wird, behält es 97 % der Leistung von BERT bei. Die Verfasser stellten auch fest, dass die aufgabenspezifische Deaktivierung während der Feinabstimmung (mit einem BERT-Modell, das ebenfalls für dieselbe Aufgabe optimiert wurde) die Leistung zusätzlich steigerte.
Ausnutzen der Transformer-Architektur
Setzen Setzen Sie sich jedoch direkt Informationen aus Zwischendarstellungen von BERT (nicht nur aus den endgültigen Ausgaben) hinzu, indem speziell Funktionen der Transformer-Architektur genutzt werden.
Wie bei DistilBERT verwendet BoobT die gleiche Architektur wie BERT, aber mit weniger Schichten. Zunächst wird eine Zuordnung von jeder Ebene des Lerner-Modells zu einer Ebene des Master-Modells definiert, d. h. jede Studio-Ebene wird einer Assistant-Ebene zugeordnet. Dann wird je nach Teilnehmerebene eine von drei Deaktivierungszielfunktionen verwendet:
- Einbetten von Ebenen
- Minimiert die MSE zwischen den Einbettungsmatrizen des Lernenden und des Dozenten.
- Achtung-Ebenen
- Minimiert die MSE zwischen den Aufmerksamkeitsmatrizen des Studenten und des Lehrers (A in Gleichung (4) im vorherigen Beitrag) sowie die MSE zwischen den Ausgaben des Studenten und des Lehrers der Feedforward-Ebenen, die dem Selbstattended-Vorgang folgen.
- Letzte Ebene (Vorhersage).
- Verwendet das Deaktivierungsziel der maximalen Wahrscheinlichkeit, um zu versuchen, den vorhergesagten Wahrscheinlichkeiten des Teilnehmers und des Dozenten zu entsprechen. Dies ist dasselbe wie DisstilBERT.
Im Vergleich zu dem BERT-Modell, aus dem es extrahiert wurde, ist WinyBERT 2- bis 9-mal schneller in der Ausführung (abhängig von der Anzahl der Ebenen und den Größen der ausgeblendeten Zustände). Es übertrifft DisstilBERT bei einer Vielzahl von Aufgaben durchgängig, was darauf hinweist, dass die Deinstallationsziele auf jeder Ebene im Vergleich zur letzten Ebene hilfreich sind.
Feinabstimmung
Wie im Abschnitt Hintergrund des vorherigen Beitrags beschrieben, besteht der letzte Schritt beim Training großer Sprachmodelle in der Regel darin, sie auf die gewünschte Aufgabe abzustimmen. Obwohl diese Phase relativ schnell durchgeführt werden kann, umfasst sie im Allgemeinen immer noch die Aktualisierung aller Parameter des Modells. Dies bedeutet, dass die Hardwareanforderungen die gleichen wie für die Vortrainingsphasen sind. Da die Feinabstimmung in der Regel für jede Aufgabe separat ausgeführt wird, ist dies immer noch eine kostspielige Phase des Trainingsprozesses. Daher versucht eine andere Forschungsarbeit, die Anzahl der Parameter zu reduzieren, die bei der Feinabstimmung aktualisiert werden müssen.
Feinabstimmung einer Teilmenge der Gewichtungen
Eine Möglichkeit, zu vermeiden, dass alle Parameter des Modells aktualisiert werden müssen, besteht darin, einfach einige der Ebenen zu sichern. Arten führen Sie eine Empirische Studie zur Effektivität dieses Ansatzes durch. Sie stellen bei einem 12-schichtigen BERT-Modell fest, dass das Einfrieren der ersten 9 Ebenen und nur die Feinabstimmung der letzten 3 mindestens 90 % der Leistung der vollständigen Feinabstimmung für die meisten Aufgaben erreicht. Das gesamte Sprachmodell einzufrieren und einfach die endgültige Vorhersageebene zu trainieren, ist bei allen Aufgaben erheblich schlechter.
Aktualisieren nur der Bias-Terms
Die meisten Operationen in den meisten Neuralnetzwerkarchitekturen erfordern die Multiplikation einer Eingabe mit einer Matrix und das anschließende Hinzufügen eines Bias-Terms. Die Art und Weise, wie diese Vorgänge zusammengesetzt sind, definiert die Architektur.
In Transformers machen die Verzerrungsausdrücke (z. B. die b- Ausdrücke in den Gleichungen (1)–(3) im vorherigen Beitrag) weniger als 0,1 % der Gesamtparameter aus. Daher schlägt BitIt vor, diese nur während der Feinabstimmung zu aktualisieren und die restlichen Parameter einzufrieren. Bei begrenzten Trainingsdaten mit Anmerkungen ist BitIT wettbewerbsintensiv, wenn es um die Feinabstimmung des gesamten Modells geht. Bei großen Trainings-Datasets ist die Leistung nur geringfügig schlechter als bei der vollständigen Feinabstimmung.
Einfügen kleiner trainierbarer Netzwerke in den Transformer
Ein weiterer Satz von parametereffizienten Feinabstimmungsmethoden friert das gesamte vortrainierte Sprachmodell ein, führt jedoch einen kleinen Satz zusätzlicher Parameter ein, die für die gewünschte Aufgabe trainiert werden. Adapter fügen dazu zwei 2-schichtige Feedforward-Netzwerke innerhalb jeder der Transformer-Ebenen ein. Sie werden direkt vor und nach dem vorhandenen Feedforward-Netzwerk eingefügt, das dem Selbstattended-Mechanismus folgt. Die 2 Ebenen führen die folgenden Vorgänge durch:
- Die erste Ebene projiziert den ausgeblendeten Zustand des Transformers auf einen niedrigdimensionalen Roboter und wendet eine Nichtlinearität an.
- Die zweite Ebene projiziert den niedrigdimensionalen Symbol zurück auf die Größe des ausgeblendeten Zustands des Transformers.
Die Idee dahinter ist, dass das Einfügen von lernfähigen Parametern in die gesamte Transformer-Architektur (statt nur das Training der letzten Vorhersageebene) es dem Modell ermöglicht, seine internen Darstellungen auf die gleiche Weise wie bei der Feinabstimmung anzupassen, aber auf eine viel effizientere Weise. Die Adapterabstimmung ist nur ca. 0,4 % schlechter als die vollständige Feinabstimmung, mit nur 3,6 % der trainierten Parameter.
Empfehlungen
Diese beiden Beiträge haben mehrere verschiedene effiziente Transformer-Methoden behandelt. Wann könnte es angemessen sein, sie zu verwenden?
- Wenn Sie mit besonders langen Dokumenten arbeiten, empfehlen wir die Verwendung eines effizienten Warnmechanismus, wie z. B. die im vorherigen Beitrag behandelten. Dadurch werden sowohl die Vortrainings- als auch die Inferenzzeiten reduziert. Die Leistung kann sogar besser sein als die Verwendung von voller Aufmerksamkeit.
- Wenn Ihr Engpass im Arbeitsspeicher liegt (d. h. selbst ein Batch von kurzen Dokumenten verursacht Fehler außerhalb des Arbeitsspeichers), versuchen Sie es mit einem dedizierten Modell (z. B kleineBERT). Mit weniger Ebenen und niedrigerdimensionalen Darstellungen wird der Speicherbedarf des Modells reduziert und gleichzeitig schneller zu trainieren sein.
- Denken Sie jedoch daran, dass deklarierte Modelle immer noch ein vortrainiertes Modell in voller Größe erfordern, von dem Sie lernen können, und dass sie im Allgemeinen besser funktionieren, wenn sie sowohl während des Vortrainings als auch bei der Feinabstimmung deklariert werden.
- Wenn Sie in der Phase der Feinabstimmung nur begrenzte mit Anmerkungen versehene Daten haben, können Sie eine Feinabstimmungsmethode verwenden, bei der die meisten/alle Sprachmodellparameter eingefroren werden (z. B Adapter) verringert das Risiko einer Überanpassung und sollte in der Regel besser funktionieren als die Feinabstimmung des gesamten Modells.
- Wenn Sie viele überwachte nachgelagerte Aufgaben haben, empfehlen wir die Verwendung einer effizienten Feinabstimmungsmethode. Dadurch wird die Anzahl der Parameter reduziert, die für jede Aufgabe trainiert und gespeichert werden müssen.
- Obwohl die effizienten Feinabstimmungsmethoden möglicherweise schneller zu trainieren sind als die vollständige Feinabstimmung, verbessern sie im Allgemeinen nicht die Inferenzgeschwindigkeit (d. h Abrufen von Vorhersagen von einem trainierten Modell). Tatsächlich können einige von ihnen aufgrund des Einfügens zusätzlicher Ebenen für die Inferenz etwas langsamer sein.
Zusammenfassung
In dieser zweiteiligen Serie geht es darum, wie man moderne Verarbeitung natürlicher Sprache (Natural Language Processing) allgemein zugänglich machen kann, indem effiziente Alternativen zu den beliebten aber rechenintensiven Transformer-basierten Sprachmodellierungstechniken erkundet werden.
Der vorherige Beitrag:
- Es wurde erklärt, warum der Self-Attention-Mechanismus des Transformers einen hohen Rechenaufwand aufweist.
- Präsentation alternativer Überwachungsmechanismen, die effizienter in der Ausführung sind, ohne die Leistung erheblich zu beeinträchtigen.
Dieser Beitrag:
- Es wurden Techniken zur Wissensdegesterierung erörtert, die kleine, effiziente Modelle trainieren, indem sie dazu angeregt werden, die Ausgaben ihrer größeren Pendants zu reproduzieren.
- Es wurden effiziente Methoden zur Feinabstimmung von Sprachmodellen erkundet, indem die Anzahl der zu aktualisierenden Parameter reduziert wurde.
- Bereitstellung unserer Empfehlungen für Szenarien, in denen die verschiedenen effizienten Transformer-Ansätze zu verwenden sind.
Wenn Sie Communications Mining in Ihrem Unternehmen ausprobieren möchten, registrieren Sie sich für eine Testversion oder sehen Sie sich eine Demo an .