Encoder-Einbettungen für Object2Vec - Amazon SageMaker

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.

Encoder-Einbettungen für Object2Vec

Auf der folgenden Seite sind die Eingabeanforderungs- und Ausgabeantwortformate für das Abrufen von Inferenzen zur Encoder-Einbettung aus dem Amazon SageMaker Object2Vec-Modell aufgeführt.

GPUOptimierung: Encoder-Einbettungen

Eine Einbettung ist eine Zuweisung von diskreten Objekten, wie Wörtern, zu Vektoren realer Zahlen.

Aufgrund von GPU Speichermangel kann die INFERENCE_PREFERRED_MODE Umgebungsvariable spezifiziert werden, um zu optimieren, ob das Inferenznetzwerk Datenformate für Object2Vec-Inferenzen oder das Encoder-Inferenznetzwerk geladen wird. GPU Wenn Ihre Inferenz größtenteils Encoder-Einbettungen bestimmt ist, geben Sie INFERENCE_PREFERRED_MODE=embedding an. Im Folgenden finden Sie ein Beispiel für eine Stapeltransformation mit 4 p3.2xlarge-Instances, das die Encoder-Einbettungsinferenz optimiert:

transformer = o2v.transformer(instance_count=4, instance_type="ml.p2.xlarge", max_concurrent_transforms=2, max_payload=1, # 1MB strategy='MultiRecord', env={'INFERENCE_PREFERRED_MODE': 'embedding'}, # only useful with GPU output_path=output_s3_path)

Eingabe: Encoder-Einbettungen

Inhaltstyp: application/json; infer_max_seqlens=< - >, < - > FWD LENGTH BCK LENGTH

Wobei < FWD - LENGTH > und < BCK - LENGTH > ganze Zahlen im Bereich [1.5000] sind und die maximalen Sequenzlängen für den Vorwärts- und Rückwärts-Encoder definieren.

{ "instances" : [ {"in0": [6, 17, 606, 19, 53, 67, 52, 12, 5, 10, 15, 10178, 7, 33, 652, 80, 15, 69, 821, 4]}, {"in0": [22, 1016, 32, 13, 25, 11, 5, 64, 573, 45, 5, 80, 15, 67, 21, 7, 9, 107, 4]}, {"in0": [774, 14, 21, 206]} ] }

Inhaltstyp: application/jsonlines; infer_max_seqlens=< - >, < - > FWD LENGTH BCK LENGTH

Wobei < FWD - LENGTH > und < BCK - LENGTH > ganze Zahlen im Bereich [1.5000] sind und die maximalen Sequenzlängen für den Vorwärts- und Rückwärts-Encoder definieren.

{"in0": [6, 17, 606, 19, 53, 67, 52, 12, 5, 10, 15, 10178, 7, 33, 652, 80, 15, 69, 821, 4]} {"in0": [22, 1016, 32, 13, 25, 11, 5, 64, 573, 45, 5, 80, 15, 67, 21, 7, 9, 107, 4]} {"in0": [774, 14, 21, 206]}

In beiden dieser Formate geben Sie nur einen Eingabetyp an, und zwar entweder “in0” oder “in1.”. Der Inferenzservice ruft dann den entsprechenden Encoder auf und gibt die Einbettungen für jede der Instances aus.

Ausgabe: Encoder-Einbettungen

Inhaltstyp: application/json

{ "predictions": [ {"embeddings":[0.057368703186511,0.030703511089086,0.099890425801277,0.063688032329082,0.026327300816774,0.003637571120634,0.021305780857801,0.004316598642617,0.0,0.003397724591195,0.0,0.000378780066967,0.0,0.0,0.0,0.007419463712722]}, {"embeddings":[0.150190666317939,0.05145975202322,0.098204270005226,0.064249359071254,0.056249320507049,0.01513972133398,0.047553978860378,0.0,0.0,0.011533712036907,0.011472506448626,0.010696629062294,0.0,0.0,0.0,0.008508535102009]} ] }

Inhaltstyp: application/jsonlines

{"embeddings":[0.057368703186511,0.030703511089086,0.099890425801277,0.063688032329082,0.026327300816774,0.003637571120634,0.021305780857801,0.004316598642617,0.0,0.003397724591195,0.0,0.000378780066967,0.0,0.0,0.0,0.007419463712722]} {"embeddings":[0.150190666317939,0.05145975202322,0.098204270005226,0.064249359071254,0.056249320507049,0.01513972133398,0.047553978860378,0.0,0.0,0.011533712036907,0.011472506448626,0.010696629062294,0.0,0.0,0.0,0.008508535102009]}

Die Vektorlänge der vom Inferenzservice ausgegebenen Einbettungen ist gleich dem Wert eines der folgenden Hyperparameter, die Sie zum Trainingszeitpunkt angeben: enc0_token_embedding_dim, enc1_token_embedding_dim oder enc_dim.