Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

BlazingText Algorithmus

Fokusmodus
BlazingText Algorithmus - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Der Amazon SageMaker BlazingText AI-Algorithmus bietet hochoptimierte Implementierungen der Word2VEC- und Textklassifizierungsalgorithmen. Der Word2vec-Algorithmus ist für viele nachgelagerte natürliche Sprachverarbeitungsaufgaben (Natural Language Processing, NLP) wie z. B. Stimmungsanalyse, Erkennung benannter Entitäten und Maschinenübersetzung nützlich. Die Textklassifizierung ist eine wichtige Aufgabe für Anwendungen, die Web-Suchvorgänge, Informationsabrufe, Rangfolgeneinstufungen und Klassifizierung von Dokumenten durchführen.

Der Word2vec-Algorithmus ordnet Wörter hochwertigen verteilten Vektoren zu. Die resultierende Vektordarstellung eines Wortes wird als Worteinbettung bezeichnet. Wörter, die semantisch ähnlich sind, entsprechen Vektoren, die nahe beieinander liegen. Auf diese Weise erfassen Worteinbettungen die semantischen Beziehungen zwischen Wörtern.

Viele Anwendungen mit natürlicher Sprachverarbeitung (NLP, Natural Language Processing) erlernen Worteinbettungen, indem sie mit großen Sammlungen von Dokumenten trainiert werden. Diese vortrainierten Vektordarstellungen liefern Informationen zur Semantik und zu den Wortverteilungen, was in der Regel die Generalisierung anderer Modelle verbessert, die später mit einer eher begrenzten Datenmenge trainiert werden. Die meisten Implementierungen des Word2vec-Algorithmus sind nicht für Multi-Core-CPU-Architekturen optimiert. Auf diese Weise lassen sich große Datensätze nur schwer skalieren.

Mit dem BlazingText Algorithmus können Sie problemlos auf große Datensätze skalieren. Ähnlich wie Word2VEC bietet es die Trainingsarchitekturen Skip-Gram und Continuous bag-of-words (CBOW). BlazingTextDie Implementierung des überwachten Algorithmus zur Klassifizierung von Text mit mehreren Klassen und mehreren Bezeichnungen erweitert den FastText-Textklassifikator um die Verwendung von GPU-Beschleunigung mit benutzerdefinierten CUDA-Kerneln. Sie können ein Modell mit mehr als eine Milliarde Wörter in wenigen Minuten mithilfe einer Multi-Core-CPU oder GPU trainieren. Und Sie erreichen eine Leistung, die mit den Deep-Learning-Textklassifizierungsalgorithmen ebenbürtig ist state-of-the-art.

Der BlazingText Algorithmus ist nicht parallelisierbar. Weitere Informationen zu Trainingsparametern finden Sie unter Docker-Registrierungspfade für SageMaker integrierte Algorithmen.

Die SageMaker BlazingText KI-Algorithmen bieten die folgenden Funktionen:

  • Beschleunigtes Training des FastText-Textklassifikators auf Multi-Core CPUs - oder GPU und Word2Vec bei der GPUs Verwendung hochoptimierter CUDA-Kernel. Weitere Informationen finden Sie unter BlazingText: Skalieren und Beschleunigen von Word2Vec mithilfe von Multiple. GPUs

  • Angereicherte Wortvektoren mit Teilwortinformationen durch Erlernen von Vektordarstellungen für N-Gramm-Zeichen. Dieser Ansatz ermöglicht es BlazingText , aussagekräftige Vektoren für out-of-vocabulary (OOV) -Wörter zu generieren, indem deren Vektoren als Summe der Zeichen-N-Gramm-Vektoren (Teilwort-Vektoren) dargestellt werden.

  • Ein batch_skipgram mode für den Word2Vec-Algorithmus, mit dem schnellere Trainings und verteilte Berechnungen auf mehreren CPU-Knoten möglich sind. Das batch_skipgram mode führt eine Mini-Stapelverarbeitung mithilfe der Strategie des Austauschs von Negativbeispielen zum Konvertieren von BLAS-Operationen der ersten Ebene in BLAS-Operationen der dritten Ebene durch. Damit werden die Anweisungen zum Multiplizieren und Hinzufügen moderner Architekturen effizient genutzt. Weitere Informationen finden Sie unter Parallelizing Word2Vec in Shared und Distributed-Memory.

Zusammenfassend lässt sich sagen, dass die folgenden Modi von BlazingText Instanzen verschiedener Typen unterstützt werden:

Modi

Word2Vec

(Unüberwachtes Lernen)

Textklassifizierung

(Überwachtes Lernen)

Einzelne CPU-Instance

cbow

Skip-gram

Batch Skip-gram

supervised

Einzelne GPU-Instanz (mit einer oder mehreren GPUs)

cbow

Skip-gram

supervised mit einer GPU

Mehrere CPU-Instances

Batch Skip-gram Keine

Weitere Informationen zur Mathematik, die dahinter steckt BlazingText, finden Sie unter BlazingText: Skalieren und Beschleunigen von Word2Vec mit Multiple. GPUs

Eingabe-/Ausgabeschnittstelle für den Algorithmus BlazingText

Der BlazingText Algorithmus erwartet eine einzelne vorverarbeitete Textdatei mit durch Leerzeichen getrennten Token. Jede Zeile in der Datei enthält einen einzelnen Satz. Wenn Sie mehrere Textdateien trainieren, verketten Sie sie in einer Datei und laden Sie die Datei in den jeweiligen Kanal hoch.

Trainings- und Validierungsdatenformat

Trainings- und Validierungsdatenformat für den Word2Vec-Algorithmus

Für Word2Vec-Trainings laden Sie die Datei unter dem train-Kanal hoch. Andere Kanäle werden nicht unterstützt. Die Datei enthält einen einzelnen Trainingssatz pro Zeile.

Trainings- und Validierungsdatenformat für den Textklassifizierungsalgorithmus

Im Rahmen des beaufsichtigten Modus können Sie im Dateimodus oder im erweiterten Manifesttextformat trainieren.

Trainieren im Dateimodus

Im supervised-Modus sollte das Trainings-/Validierungsdatei einen Trainingssatz pro Zeile zusammen mit den Bezeichnungen enthalten. Bezeichnungen sind Wörter, denen die Zeichenfolge __label__ vorangestellt ist. Hier finden Sie ein Beispiel für eine Trainings-/Validierungsdatei:

__label__4 linux ready for prime time , intel says , despite all the linux hype , the open-source movement has yet to make a huge splash in the desktop market . that may be about to change , thanks to chipmaking giant intel corp . __label__2 bowled by the slower one again , kolkata , november 14 the past caught up with sourav ganguly as the indian skippers return to international cricket was short lived .
Anmerkung

Die Reihenfolge der Bezeichnungen innerhalb des Satzes ist unerheblich.

Laden Sie das Trainingsdatei unter dem Trainingskanal hoch. Die Validierungsdatei können Sie optional unter dem Validierungskanal hochladen.

Schulen im erweiterten Manifesttextformat

Der überwachte Modus für CPU-Instances unterstützt auch das erweiterte Manifestformat, mit dem Sie im Pipe-Modus trainieren können, ohne RecordIO-Dateien erstellen zu müssen. Bei der Verwendung dieses Formats muss eine S3-Manifestdatei generiert werden, die die Liste der Sätze und ihre entsprechenden Bezeichnungen enthält. Das Manifestdateiformat sollte im JSON Lines-Format vorliegen, bei dem jede Zeile ein Muster darstellt. Die Sätze werden unter Verwendung des source-Tags angegeben und die Bezeichnung kann mithilfe des label-Tags angegeben werden. Die – sourceund label-Tags sollten beide unter dem AttributeNames-Parameterwert bereitgestellt werden, wie in der Anforderung angegeben.

{"source":"linux ready for prime time , intel says , despite all the linux hype", "label":1} {"source":"bowled by the slower one again , kolkata , november 14 the past caught up with sourav ganguly", "label":2}

Multi-Label-Training wird auch durch die Angabe eines JSON-Arrays von Labels unterstützt.

{"source":"linux ready for prime time , intel says , despite all the linux hype", "label": [1, 3]} {"source":"bowled by the slower one again , kolkata , november 14 the past caught up with sourav ganguly", "label": [2, 4, 5]}

Weitere Informationen zu erweiterten Manifestdateien finden Sie unter Erweiterte Manifestdateien für Schulungsjobs.

Modellartefakte und Inferenz

Modellartefakte für den Word2Vec-Algorithmus

Für das Word2Vec-Training bestehen die Modellartefakte aus vectors.txt, die words-to-vectors Mapping enthält, und vectors.bin, einer Binärdatei, die von BlazingText für Hosting, Inferenz oder beides verwendet wird. vectors.txt speichert die Vektoren in einem Format, das mit anderen Tools wie Gensim und Spacy kompatibel ist. Beispiel: Ein Gensim-Benutzer kann die folgenden Befehle zum Laden der Datei vectors.txt ausführen:

from gensim.models import KeyedVectors word_vectors = KeyedVectors.load_word2vec_format('vectors.txt', binary=False) word_vectors.most_similar(positive=['woman', 'king'], negative=['man']) word_vectors.doesnt_match("breakfast cereal dinner lunch".split())

Wenn der Auswertungsparameter auf True festgelegt ist, wird eine zusätzliche Datei, eval.json, erstellt. Diese Datei enthält die Ergebnisse der Ähnlichkeitsauswertung (unter Verwendung der Rangkorrelationskoeffizienten von Spearman) im WS-353-Datensatz. Die Anzahl der Wörter aus dem WS-353-Datensatz, die im Trainingsdatensatz nicht vorhanden waren, werden gemeldet.

Für Inferenzanforderungen akzeptiert das Modell eine JSON-Datei mit einer Liste von Zeichenfolgen und gibt eine Liste der Vektoren zurück. Wenn das Wort im Vokabular nicht gefunden wird, gibt die Inferenz einen Vektor mit Nullen zurück. Wenn Teilwörter True während des Trainings auf eingestellt sind, ist das Modell in der Lage, Vektoren für out-of-vocabulary (OOV-) Wörter zu generieren.

JSON-Beispielanfrage

Mime-Typ: application/json

{ "instances": ["word1", "word2", "word3"] }

Modellartefakte für den Textklassifizierungsalgorithmus

Beim Training mit überwachten Ausgaben wird eine Datei model.bin erstellt, die vom BlazingText Hosting verwendet werden kann. Als Inferenz akzeptiert das BlazingText Modell eine JSON-Datei, die eine Liste von Sätzen enthält, und gibt eine Liste der entsprechenden vorhergesagten Bezeichnungen und Wahrscheinlichkeitswerte zurück. Jeder Satz muss eine Zeichenfolge mit durch Leerzeichen getrennten Token, Wörtern oder beidem sein.

JSON-Beispielanfrage

Mime-Typ: application/json

{ "instances": ["the movie was excellent", "i did not like the plot ."] }

Standardmäßig gibt der Server nur eine Voraussage zurück, und zwar die mit der höchsten Wahrscheinlichkeit. Zum Abrufen der top k-Voraussagen können Siek in der Konfiguration wie folgt festlegen:

{ "instances": ["the movie was excellent", "i did not like the plot ."], "configuration": {"k": 2} }

Denn BlazingText die accept Parameter content-type und müssen gleich sein. Für die Stapeltransformation müssen beide application/jsonlines lauten. Wenn sie sich voneinander unterscheiden, wird das Feld Accept ignoriert. Das Format für die Eingabe lautet wie folgt:

content-type: application/jsonlines {"source": "source_0"} {"source": "source_1"} if you need to pass the value of k for top-k, then you can do it in the following way: {"source": "source_0", "k": 2} {"source": "source_1", "k": 3}

Das Format für die Ausgabe lautet wie folgt:

accept: application/jsonlines {"prob": [prob_1], "label": ["__label__1"]} {"prob": [prob_1], "label": ["__label__1"]} If you have passed the value of k to be more than 1, then response will be in this format: {"prob": [prob_1, prob_2], "label": ["__label__1", "__label__2"]} {"prob": [prob_1, prob_2], "label": ["__label__1", "__label__2"]}

Sowohl im überwachten Modus (Textklassifizierung) als auch im unbeaufsichtigten Modus (Word2Vec) BlazingText können die von erstellten Binärdateien (*.bin) von FastText übergreifend konsumiert werden und umgekehrt. Sie können von FastText BlazingText erstellte Binärdateien verwenden. Ebenso können Sie die mit FastText erstellten Modellbinärdateien mithilfe von hosten. BlazingText

Hier ist ein Beispiel für die Verwendung eines BlazingText mit FastText generierten Modells:

#Download the model artifact from S3 aws s3 cp s3://<YOUR_S3_BUCKET>/<PREFIX>/model.tar.gz model.tar.gz #Unzip the model archive tar -xzf model.tar.gz #Use the model archive with fastText fasttext predict ./model.bin test.txt

Die Binärdateien werden jedoch nur beim Training auf CPU und einer einzigen GPU unterstützt; das Training auf mehreren GPUs erzeugt keine Binärdateien.

EC2 Instanzempfehlung für den Algorithmus BlazingText

Für cbow und skipgram Modi, BlazingText unterstützt einzelne CPU- und einzelne GPU-Instanzen. Beide Modi unterstützen das Erlernen von subwords-Einbettungen. Um die höchste Geschwindigkeit ohne Genauigkeitseinbußen zu erzielen, empfehlen wir die Verwendung einer ml.p3.2xlarge-Instance.

Für batch_skipgram den Modus werden einzelne oder mehrere CPU-Instanzen BlazingText unterstützt. Wenn Sie auf mehreren Instanzen trainieren, legen Sie den Wert des S3DataDistributionType Felds des S3DataSourceObjekts fest, an das Sie CreateTrainingJobübergebenFullyReplicated. BlazingTextkümmert sich um die Verteilung der Daten auf die Maschinen.

Im überwachten Textklassifizierungsmodus wird eine C5-Instance empfohlen, wenn der Trainingsdatensatz kleiner ist als 2 GB. Verwenden Sie für größere Datensätze eine Instanz mit einer einzigen GPU. BlazingText unterstützt P2-, P3-, G4dn- und G5-Instanzen für Training und Inferenz.

BlazingText Beispiel-Notizbücher

Ein Beispielnotizbuch, das den SageMaker BlazingText KI-Algorithmus zur Generierung von Wortvektoren trainiert und einsetzt, finden Sie unter Word2Vec-Wortdarstellungen lernen mit. BlazingText Anweisungen zum Erstellen und Zugreifen auf Jupyter-Notebook-Instanzen, mit denen Sie das Beispiel in KI ausführen können, finden Sie unter. SageMaker Amazon SageMaker Notebook-Instances Nachdem Sie eine Notebook-Instanz erstellt und geöffnet haben, wählen Sie den Tab SageMaker KI-Beispiele, um eine Liste aller KI-Beispiele zu sehen. SageMaker Die Beispiel-Notebooks für die Themenmodellierung, die Blazing Text verwenden, befinden sich im Abschnitt Introduction to Amazon algorithms. Zum Öffnen eines Notebooks wählen Sie die Registerkarte Use (Verwenden) und dann Create copy (Kopie erstellen).

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.