Intégrations de l'encodeur pour Object2Vec - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Intégrations de l'encodeur pour Object2Vec

La page suivante répertorie les formats de demande d'entrée et de réponse de sortie permettant d'obtenir l'inférence d'intégration d'un encodeur à partir du modèle Amazon SageMaker Object2Vec.

GPUoptimisation : Encoder Embeddings

Une intégration est un mappage d'objets discrets, tels que des mots, sur des vecteurs de nombres réels.

En raison de GPU la rareté de la mémoire, la variable d'INFERENCE_PREFERRED_MODEenvironnement peut être spécifiée pour optimiser le chargement du réseau d'inférence Format de données pour l'inférence d'Object2Vec ou de l'encodeur incorporant le réseau d'inférence. GPU Si la majeure partie de votre inférence est destinée aux intégrations de l'encodeur, spécifiez INFERENCE_PREFERRED_MODE=embedding. Voici un exemple Batch Transform d'utilisation de 4 instances p3.2xlarge optimisé pour l'inférence d'intégration de l'encodeur :

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)

Entrée : intégrations de l'encodeur

Type de contenu : application/json ; FWD infer_max_seqlens=< ->, < - > LENGTH BCK LENGTH

Où < FWD - LENGTH > et < BCK - LENGTH > sont des nombres entiers compris dans la plage [1 5000] et définissent les longueurs de séquence maximales pour les encodeurs avant et arrière.

{ "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]} ] }

Type de contenu : application/jsonlines ; FWD infer_max_sealens=< ->, < - > LENGTH BCK LENGTH

Où < FWD - LENGTH > et < BCK - LENGTH > sont des nombres entiers compris dans la plage [1 5000] et définissent les longueurs de séquence maximales pour les encodeurs avant et arrière.

{"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]}

Dans ces deux formats, vous spécifiez un seul type d'entrée, “in0” ou “in1.” Le service d'inférence appelle alors l'encodeur correspondant et génère les intégrations de chacune des instances.

Sortie : intégrations de l'encodeur

Content-type : 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]} ] }

Type de contenu : 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]}

La longueur du vecteur de la sortie des intégrations par le service d'inférence est égale à la valeur de l'un des hyperparamètres, que vous spécifiez au moment de l'entraînement : enc0_token_embedding_dim, enc1_token_embedding_dim ou enc_dim.