Ein Sprachmodell ist ein mathematisches Modell, das eine menschliche Sprache als Wahrscheinlichkeitsverteilung über ihren Wortschatz beschreibt. Um ein Deep-Studying-Netzwerk zum Modellieren einer Sprache zu trainieren, müssen Sie das Vokabular identifizieren und seine Wahrscheinlichkeitsverteilung lernen. Sie können das Modell nicht aus dem Nichts erstellen. Sie benötigen einen Datensatz, aus dem Ihr Modell lernen kann.

In diesem Artikel erfahren Sie mehr über Datensätze, die zum Trainieren von Sprachmodellen verwendet werden, und wie Sie gängige Datensätze aus öffentlichen Repositorys beziehen.

Fangen wir an.

Datensätze zum Trainieren eines Sprachmodells
Foto von Dan V. Einige Rechte vorbehalten.

Ein guter Datensatz zum Trainieren eines Sprachmodells

Ein gutes Sprachmodell sollte den korrekten Sprachgebrauch erlernen, frei von Vorurteilen und Fehlern. Im Gegensatz zu Programmiersprachen mangelt es menschlichen Sprachen an formaler Grammatik und Syntax. Sie entwickeln sich ständig weiter, sodass es unmöglich ist, alle Sprachvarianten zu katalogisieren. Daher sollte das Modell anhand eines Datensatzes trainiert werden, anstatt anhand von Regeln erstellt zu werden.

Das Einrichten eines Datensatzes für die Sprachmodellierung ist eine Herausforderung. Sie benötigen einen großen, vielfältigen Datensatz, der die Nuancen der Sprache darstellt. Gleichzeitig muss es hochwertig sein und den korrekten Sprachgebrauch wiedergeben. Idealerweise sollte der Datensatz manuell bearbeitet und bereinigt werden, um Störungen wie Tippfehler, Grammatikfehler und nichtsprachliche Inhalte wie Symbole oder HTML-Tags zu entfernen.

Die Erstellung eines solchen Datensatzes von Grund auf ist kostspielig, es sind jedoch mehrere hochwertige Datensätze frei verfügbar. Zu den gängigen Datensätzen gehören:

  • Gemeinsames Kriechen. Ein riesiger, kontinuierlich aktualisierter Datensatz von über 9,5 Petabyte mit vielfältigen Inhalten. Es wird von führenden Modellen wie GPT-3, Llama und T5 verwendet. Da die Quelle jedoch aus dem Web stammt, enthält sie minderwertige und doppelte Inhalte sowie Vorurteile und anstößiges Materials. Um es nutzbar zu machen, sind gründliche Reinigung und Filterung erforderlich.
  • C4 (Colossal Clear Crawled Corpus). Ein 750-GB-Datensatz aus dem Web. Im Gegensatz zu Frequent Crawl wird dieser Datensatz vorbereinigt und gefiltert, was die Verwendung erleichtert. Dennoch müssen Sie mit möglichen Vorurteilen und Fehlern rechnen. Das T5-Modell wurde auf diesem Datensatz trainiert.
  • Wikipedia. Allein der englische Inhalt umfasst etwa 19 GB. Es ist riesig und dennoch überschaubar. Es ist intestine kuratiert, strukturiert und nach Wikipedia-Requirements bearbeitet. Obwohl es ein breites Spektrum an Allgemeinwissen mit hoher sachlicher Genauigkeit abdeckt, sind sein enzyklopädischer Stil und sein Ton sehr spezifisch. Das alleinige Coaching dieses Datensatzes kann dazu führen, dass Modelle zu stark an diesen Stil angepasst werden.
  • WikiText. Ein Datensatz, der aus verifiziert guten und vorgestellten Wikipedia-Artikeln abgeleitet wurde. Es gibt zwei Versionen: WikiText-2 (2 Millionen Wörter aus Hunderten von Artikeln) und WikiText-103 (100 Millionen Wörter aus 28.000 Artikeln).
  • BookCorpus. Ein wenige GB großer Datensatz langformatiger, inhaltsreicher und hochwertiger Buchtexte. Nützlich zum Erlernen kohärenten Geschichtenerzählens und weitreichender Abhängigkeiten. Es sind jedoch Urheberrechtsprobleme und soziale Vorurteile bekannt.
  • Der Haufen. Ein 825 GB großer, kuratierter Datensatz aus mehreren Quellen, einschließlich BookCorpus. Es mischt verschiedene Textgenres (Bücher, Artikel, Quellcode und wissenschaftliche Arbeiten) und bietet so eine breite thematische Abdeckung, die auf multidisziplinäres Denken ausgelegt ist. Diese Vielfalt führt jedoch zu unterschiedlicher Qualität, doppelten Inhalten und inkonsistenten Schreibstilen.

Abrufen der Datensätze

Sie können on-line nach diesen Datensätzen suchen und sie als komprimierte Dateien herunterladen. Sie müssen jedoch das Format jedes Datensatzes verstehen und benutzerdefinierten Code schreiben, um ihn zu lesen.

Alternativ können Sie im Hugging Face-Repository unter nach Datensätzen suchen https://huggingface.co/datasets. Dieses Repository stellt eine Python-Bibliothek bereit, mit der Sie Datensätze in Echtzeit in einem standardisierten Format herunterladen und lesen können.

Hugging Face Datasets Repository

Laden wir den WikiText-2-Datensatz von Hugging Face herunter, einen der kleinsten Datensätze, die zum Aufbau eines Sprachmodells geeignet sind:

Die Ausgabe könnte so aussehen:

Falls Sie dies noch nicht getan haben, installieren Sie die Hugging Face-Datensatzbibliothek:

Wenn Sie diesen Code zum ersten Mal ausführen, load_dataset() lädt den Datensatz auf Ihren lokalen Laptop herunter. Stellen Sie sicher, dass Sie über ausreichend Speicherplatz verfügen, insbesondere bei großen Datensätzen. Standardmäßig werden Datensätze heruntergeladen ~/.cache/huggingface/datasets.

Alle Hugging Face-Datensätze folgen einem Standardformat. Der dataset Das Objekt ist ein iterierbares Objekt, wobei jedes Ingredient als Wörterbuch fungiert. Für das Sprachmodelltraining enthalten Datensätze normalerweise Textzeichenfolgen. In diesem Datensatz wird Textual content unter gespeichert "textual content" Schlüssel.

Der obige Code probiert einige Elemente aus dem Datensatz. Sie sehen Klartextzeichenfolgen unterschiedlicher Länge.

Nachbearbeitung der Datensätze

Bevor Sie ein Sprachmodell trainieren, möchten Sie möglicherweise den Datensatz nachbearbeiten, um die Daten zu bereinigen. Dazu gehört die Neuformatierung von Textual content (Abschneiden langer Zeichenfolgen, Ersetzen mehrerer Leerzeichen durch einzelne Leerzeichen), das Entfernen nichtsprachlicher Inhalte (HTML-Tags, Symbole) und das Entfernen unerwünschter Zeichen (zusätzliche Leerzeichen um Satzzeichen). Die spezifische Verarbeitung hängt vom Datensatz und davon ab, wie Sie dem Modell Textual content präsentieren möchten.

Wenn Sie beispielsweise ein kleines Modell im BERT-Stil trainieren, das nur Kleinbuchstaben verarbeitet, können Sie die Vokabulargröße reduzieren und den Tokenizer vereinfachen. Hier ist eine Generatorfunktion, die nachbearbeiteten Textual content bereitstellt:

Eine gute Nachbearbeitungsfunktion zu erstellen ist eine Kunst. Es sollte das Sign-Rausch-Verhältnis des Datensatzes verbessern, um dem Modell zu helfen, besser zu lernen, und gleichzeitig die Fähigkeit bewahren, unerwartete Eingabeformate zu verarbeiten, auf die ein trainiertes Modell möglicherweise stößt.

Weitere Lektüre

Nachfolgend finden Sie einige Ressourcen, die für Sie nützlich sein könnten:

Zusammenfassung

In diesem Artikel haben Sie etwas über Datensätze erfahren, die zum Trainieren von Sprachmodellen verwendet werden, und darüber, wie Sie allgemeine Datensätze aus öffentlichen Repositorys beziehen. Dies ist nur ein Ausgangspunkt für die Erkundung von Datensätzen. Erwägen Sie die Nutzung vorhandener Bibliotheken und Instruments, um die Ladegeschwindigkeit von Datensätzen zu optimieren, damit diese nicht zu einem Engpass in Ihrem Trainingsprozess werden.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert