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
.