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 AI Object2Vec.
Optimisation du GPU : intégrations de l'encodeur
Une intégration est un mappage d'objets discrets, tels que des mots, sur des vecteurs de nombres réels.
La mémoire GPU étant faible, la variable d'environnement INFERENCE_PREFERRED_MODE peut être spécifiée pour déterminer si les Format de données pour l'inférence d'Object2Vec ou le réseau d'inférence d'intégration de l'encodeur doit être chargé dans le 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
Content-type: application/json ; FWD-LENGTH infer_max_seqlens=< >, < > 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]} ] }
Content-type: application/jsonlines ; FWD-LENGTH infer_max_seqlens=< >, < > 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]} ] }
Content-type: 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.