

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
<a name="object2vec-encoder-embeddings"></a>

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
<a name="object2vec-inference-gpu-optimize-encoder-embeddings"></a>

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](object2vec-inference-formats.md) 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
<a name="object2vec-in-encoder-embeddings-data"></a>

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
<a name="object2vec-out-encoder-embeddings-data"></a>

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`.