Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Definizioni delle attività di Amazon ECS per i carichi di lavoro di machine learning di AWS Neuron
Puoi registrare le istanze Amazon EC2 Trn1
Le istanze Trn1 di Amazon EC2 si basano su chip AWS Trainium
Le istanze Inf1 e Inf2 di Amazon EC2 si basano sui chip AWS Inferentia
I modelli di machine learning vengono implementati in container utilizzando AWS Neuron
Considerazioni
Prima di iniziare a implementare Neuron su Amazon ECS, tieni presente quanto segue:
-
I cluster possono contenere una combinazione di istanze Trn1, Inf1, Inf2 e altre.
-
È necessaria un'applicazione Linux in un contenitore che utilizza un framework di apprendimento automatico che supporti Neuron. AWS
Importante
Le applicazioni che utilizzano altri framework potrebbero non avere prestazioni migliorate sulle istanze Trn1, Inf1 e Inf2.
-
Puoi eseguire soltanto un'attività di inferenza o di addestramento all'inferenza su ogni chip AWS Trainium
o AWS Inferentia . Per Inf1, ogni chip ne ha 4. NeuronCores Per Trn1 e Inf2 ogni chip ne ha 2. NeuronCores Puoi eseguire tante attività quanti sono i chip per ciascuna istanza Trn1, Inf1 e Inf2. -
Durante l'esecuzione di un servizio o di un'attività autonoma, puoi utilizzare gli attributi del tipo di istanza quando configuri i vincoli di posizionamento dell'attività. Ciò garantisce che l'attività venga avviata sull'istanza di container specificata. In questo modo puoi ottimizzare l'utilizzo complessivo delle risorse e garantire che le attività per i carichi di lavoro di inferenza si trovino nelle istanze Trn1, Inf1 e Inf2. Per ulteriori informazioni, consulta In che modo Amazon ECS colloca le attività sulle istanze di container.
Nell'esempio seguente viene eseguita un'attività su una istanza
Inf1.xlarge
sul clusterdefault
.aws ecs run-task \ --cluster default \ --task-definition ecs-inference-task-def \ --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == Inf1.xlarge"
-
I requisiti di risorse Neuron non possono essere definiti in una definizione di attività. Invece, configuri un contenitore per utilizzare chip AWS Trainium o AWS Inferentia specifici disponibili sull'istanza del contenitore host. Puoi farlo usando il parametro
linuxParameters
e specificando i dettagli del dispositivo. Per ulteriori informazioni, consulta Requisiti di definizione di attività.
Usa l'AMI Amazon Linux 2023 (Neuron) ottimizzata per Amazon ECS
Amazon ECS fornisce un'AMI ottimizzata per Amazon ECS basata su Amazon Linux 2023 per carichi di lavoro AWS Trainium e AWS Inferentia. Viene fornito con i driver AWS Neuron e il runtime per Docker. Questa AMI semplifica l'esecuzione dei carichi di lavoro di inferenza di machine learning su Amazon ECS.
Ti consigliamo di utilizzare l'AMI Amazon Linux 2023 (Neuron) ottimizzata per Amazon ECS all'avvio delle istanze Amazon EC2 Trn1, Inf1 e Inf2.
Puoi recuperare l'attuale AMI Amazon Linux 2023 (Neuron) ottimizzata per Amazon ECS AWS CLI utilizzando il comando seguente.
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended
L'AMI Amazon Linux 2023 (Neuron) ottimizzata per Amazon ECS è supportata nelle seguenti regioni:
-
Stati Uniti orientali (Virginia settentrionale)
-
Stati Uniti orientali (Ohio)
-
Stati Uniti occidentali (California settentrionale)
-
Stati Uniti occidentali (Oregon)
-
Asia Pacifico (Mumbai)
-
Asia Pacific (Osaka)
-
Asia Pacific (Seul)
-
Asia Pacifico (Tokyo)
-
Asia Pacifico (Singapore)
-
Asia Pacifico (Sydney)
-
Canada (Centrale)
-
Europa (Francoforte)
-
Europa (Irlanda)
-
Europe (London)
-
Europe (Paris)
-
Europa (Stoccolma)
-
Sud America (San Paolo)
Usa l'AMI Amazon Linux 2 (Neuron) ottimizzata per Amazon ECS
Amazon ECS fornisce un'AMI ottimizzata per Amazon ECS basata su Amazon Linux 2 per carichi di lavoro AWS Trainium e AWS Inferentia. Viene fornito con i driver AWS Neuron e il runtime per Docker. Questa AMI semplifica l'esecuzione dei carichi di lavoro di inferenza di machine learning su Amazon ECS.
Ti consigliamo di utilizzare l'AMI Amazon Linux 2 (Neuron) ottimizzata per Amazon ECS quando avvii le istanze Trn1, Inf1 e Inf2 di Amazon EC2.
Puoi recuperare l'attuale AMI Amazon Linux 2 (Neuron) ottimizzata per Amazon ECS utilizzando il comando AWS CLI seguente.
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/inf/recommended
L'AMI Amazon Linux 2 (Neuron) ottimizzata per Amazon ECS è supportata nelle seguenti regioni:
-
Stati Uniti orientali (Virginia settentrionale)
-
Stati Uniti orientali (Ohio)
-
Stati Uniti occidentali (California settentrionale)
-
Stati Uniti occidentali (Oregon)
-
Asia Pacifico (Mumbai)
-
Asia Pacific (Osaka)
-
Asia Pacific (Seul)
-
Asia Pacifico (Tokyo)
-
Asia Pacifico (Singapore)
-
Asia Pacifico (Sydney)
-
Canada (Centrale)
-
Europa (Francoforte)
-
Europa (Irlanda)
-
Europe (London)
-
Europe (Paris)
-
Europa (Stoccolma)
-
Sud America (San Paolo)
Requisiti di definizione di attività
Per distribuire Neuron su Amazon ECS, la definizione dell'attività deve contenere la definizione del contenitore per un contenitore predefinito che serve il modello di inferenza per. TensorFlow È fornito da AWS Deep Learning Containers. Questo contenitore contiene il runtime AWS Neuron e l'applicazione TensorFlow Serving. All'avvio, questo contenitore recupera il modello da Amazon S3, avvia TensorFlow Neuron Serving con il modello salvato e attende le richieste di previsione. Nell'esempio seguente, l'immagine del contenitore ha 1.15 e Ubuntu 18.04. TensorFlow È disponibile un elenco completo di Deep Learning Containers predefiniti ottimizzati per Neuron. GitHub Per ulteriori informazioni, consulta Using AWS TensorFlow Neuron Serving.
763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference-neuron:1.15.4-neuron-py37-ubuntu18.04
In alternativa, puoi creare la tua immagine di container sidecar di Neuron. Per ulteriori informazioni, consulta Tutorial: Neuron TensorFlow Serving
La definizione di attività deve essere specifica per il tipo di istanza. È necessario configurare un contenitore per utilizzare dispositivi AWS Trainium o AWS Inferentia specifici disponibili sull'istanza del contenitore host. Puoi farlo usando il parametro linuxParameters
. Nella tabella seguente vengono descritti in dettaglio i chip specifici per ogni tipo di istanza.
Tipo di istanza | vCPU | RAM (GiB) | AWS Chip acceleratori ML | Percorsi dispositivi |
---|---|---|---|---|
trn1.2xlarge | 8 | 32 | 1 | /dev/neuron0 |
trn1.32xlarge | 128 | 512 | 16 |
/dev/neuron0 , /dev/neuron1 ,
/dev/neuron2 , /dev/neuron3 ,
/dev/neuron4 , /dev/neuron5 ,
/dev/neuron6 , /dev/neuron7 ,
/dev/neuron8 , /dev/neuron9 ,
/dev/neuron10 , /dev/neuron11 ,
/dev/neuron12 , /dev/neuron13 ,
/dev/neuron14 , /dev/neuron15
|
inf1.xlarge | 4 | 8 | 1 | /dev/neuron0 |
inf1.2xlarge | 8 | 16 | 1 | /dev/neuron0 |
inf1.6xlarge | 24 | 48 | 4 | /dev/neuron0 , /dev/neuron1 ,
/dev/neuron2 , /dev/neuron3 |
inf1.24xlarge | 96 | 192 | 16 |
/dev/neuron0 , /dev/neuron1 ,
/dev/neuron2 , /dev/neuron3 ,
/dev/neuron4 , /dev/neuron5 ,
/dev/neuron6 , /dev/neuron7 ,
/dev/neuron8 , /dev/neuron9 ,
/dev/neuron10 , /dev/neuron11 ,
/dev/neuron12 , /dev/neuron13 ,
/dev/neuron14 , /dev/neuron15
|
inf2.xlarge | 8 | 16 | 1 | /dev/neuron0 |
inf2.8xlarge | 32 | 64 | 1 | /dev/neuron0 |
inf2.24xlarge | 96 | 384 | 6 | /dev/neuron0 , /dev/neuron1 ,
/dev/neuron2 , /dev/neuron3 ,
/dev/neuron4 , /dev/neuron5 , |
inf2.48xlarge | 192 | 768 | 12 | /dev/neuron0 , /dev/neuron1 ,
/dev/neuron2 , /dev/neuron3 ,
/dev/neuron4 , /dev/neuron5 ,
/dev/neuron6 , /dev/neuron7 ,
/dev/neuron8 , /dev/neuron9 ,
/dev/neuron10 , /dev/neuron11 |