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.
Sie können Amazon EC2 Trn1-, Amazon Inf1
Amazon EC2 Trn1-Instances werden mit AWS Trainium-Chips
Die Amazon EC2 Inf1-Instances und Inf2-Instances werden von AWS Inferentia-Chips
Machine-Learning-Modelle werden auf Containern mit AWS Neuron
Überlegungen
Berücksichtigen Sie Folgendes, bevor Sie mit der Bereitstellung von Neuron auf Amazon ECS beginnen:
-
Ihre Cluster können eine Mischung aus Trn1-, Inf1-, Inf2- und anderen Instances enthalten.
-
Sie benötigen eine Linux-Anwendung in einem Container, der ein Framework für maschinelles Lernen verwendet, das AWS Neuron unterstützt.
Wichtig
Anwendungen, die andere Frameworks verwenden, haben möglicherweise keine verbesserte Leistung auf Trn1-, Inf1 und Inf2-Instances.
-
Auf jedem AWS Trainium
- oder AWS Inferentia -Chip kann nur eine Inferenz- oder Inferenztrainingsaufgabe ausgeführt werden. Für Inf1 hat jeder Chip 4. NeuronCores Für Trn1 und Inf2 hat jeder Chip 2. NeuronCores Sie können so viele Aufgaben ausführen, wie Chips für jede Ihrer Trn1-, Inf1- und Inf2-Instances vorhanden sind. -
Wenn Sie eine eigenständige Aufgabe ausführen oder einen Service erstellen, können Sie beim Konfigurieren der Aufgabenplatzierungbedingungen Attribute des Instance-Typs verwenden. Dadurch wird sichergestellt, dass die Aufgabe auf der von Ihnen angegebenen Container-Instance gestartet wird. Das hilft dabei, die allgemeine Ressourcenauslastung zu optimieren und sicherzustellen, dass sich Aufgaben für Inferenz-Workloads auf Ihren Trn1-, Inf1 oder Inf2-Instances befinden. Weitere Informationen finden Sie unter Wie Amazon ECS Aufgaben auf Container-Instances platziert.
Im folgenden Beispiel wird eine Aufgabe auf einer
Inf1.xlarge
-Instance auf Ihremdefault
-Cluster ausgeführt.aws ecs run-task \ --cluster default \ --task-definition ecs-inference-task-def \ --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == Inf1.xlarge"
-
Ressourcenanforderungen für Neuron können in einer Aufgabendefinition nicht definiert werden. Stattdessen konfigurieren Sie einen Container so, dass er bestimmte AWS Trainium- oder AWS Inferentia-Chips verwendet, die auf der Host-Container-Instance verfügbar sind. Nutzen Sie dazu den
linuxParameters
-Parameter und geben Sie die Geräteinformationen an. Weitere Informationen finden Sie unter Anforderungen an die Aufgabendefinition.
Verwenden Sie das Amazon ECS-optimierte Amazon Linux 2023 (Neuron) AMI
Amazon ECS bietet ein für Amazon ECS optimiertes AMI, das auf Amazon Linux 2023 für AWS Trainium- und AWS Inferentia-Workloads basiert. Es wird mit den AWS Neuron-Treibern und der Laufzeit für Docker geliefert. Dieses AMI erleichtert das Ausführen von Machine Learning Inferenz-Workloads auf Amazon ECS.
Wir empfehlen, das Amazon ECS-optimierte Amazon Linux 2023 (Neuron) AMI zu verwenden, wenn Sie Ihre Amazon EC2 Trn1-, Inf1- und Inf2-Instances starten.
Sie können das aktuelle Amazon ECS-optimierte Amazon Linux 2023 (Neuron) AMI AWS CLI mit dem folgenden Befehl abrufen.
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended
Das Amazon ECS-optimierte Amazon Linux 2023 (Neuron) AMI wird in den folgenden Regionen unterstützt:
-
USA Ost (Nord-Virginia)
-
USA Ost (Ohio)
-
USA West (Nordkalifornien)
-
USA West (Oregon)
-
Asien-Pazifik (Mumbai)
-
Asien-Pazifik (Osaka)
-
Asien-Pazifik (Seoul)
-
Asien-Pazifik (Tokio)
-
Asien-Pazifik (Singapur)
-
Asien-Pazifik (Sydney)
-
Kanada (Zentral)
-
Europe (Frankfurt)
-
Europa (Irland)
-
Europa (London)
-
Europe (Paris)
-
Europa (Stockholm)
-
Südamerika (São Paulo)
Verwenden Sie das für Amazon ECS optimierte Amazon Linux 2 (Neuron) AMI
Amazon ECS bietet ein für Amazon ECS optimiertes AMI, das auf Amazon Linux 2 für AWS Trainium- und AWS Inferentia-Workloads basiert. Es wird mit den AWS Neuron-Treibern und der Laufzeit für Docker geliefert. Dieses AMI erleichtert das Ausführen von Machine Learning Inferenz-Workloads auf Amazon ECS.
Wir empfehlen, das für Amazon ECS optimierte Amazon Linux 2 (Neuron) AMI zu verwenden, wenn Sie Ihre Amazon EC2 Trn1-, Inf1- und Inf2-Instances starten.
Sie können das aktuelle Amazon ECS-optimierte Amazon Linux 2 (Neuron) AMI AWS CLI mit dem folgenden Befehl abrufen.
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/inf/recommended
Das für Amazon ECS optimierte Amazon Linux 2 (Neuron) AMI wird in den folgenden Regionen unterstützt:
-
USA Ost (Nord-Virginia)
-
USA Ost (Ohio)
-
USA West (Nordkalifornien)
-
USA West (Oregon)
-
Asien-Pazifik (Mumbai)
-
Asien-Pazifik (Osaka)
-
Asien-Pazifik (Seoul)
-
Asien-Pazifik (Tokio)
-
Asien-Pazifik (Singapur)
-
Asien-Pazifik (Sydney)
-
Kanada (Zentral)
-
Europe (Frankfurt)
-
Europa (Irland)
-
Europa (London)
-
Europe (Paris)
-
Europa (Stockholm)
-
Südamerika (São Paulo)
Anforderungen an die Aufgabendefinition
Um Neuron auf Amazon ECS bereitzustellen, muss Ihre Aufgabendefinition die Container-Definition für einen vorgefertigten Container enthalten, für den das Inferenzmodell verwendet wird. TensorFlow Es wird von AWS Deep Learning Containers bereitgestellt. Dieser Container enthält die AWS Neuron-Runtime und die TensorFlow Serving-Anwendung. Beim Start ruft dieser Container Ihr Modell von Amazon S3 ab, startet Neuron TensorFlow Serving mit dem gespeicherten Modell und wartet auf Vorhersageanfragen. Im folgenden Beispiel hat das Container-Image TensorFlow 1.15 und Ubuntu 18.04. Eine vollständige Liste vorgefertigter Deep Learning Containers, die für Neuron optimiert sind, wird auf geführt. GitHub Weitere Informationen finden Sie unter AWS Neuron TensorFlow Serving verwenden.
763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference-neuron:1.15.4-neuron-py37-ubuntu18.04
Alternativ können Sie Ihr eigenes Neuron Seitenwagen Container-Image erstellen. Weitere Informationen finden Sie unter Tutorial: Neuron TensorFlow Serving
Die Aufgabendefinition muss für den einzelnen Instance-Typ spezifisch sein. Sie müssen einen Container so konfigurieren, dass er bestimmte AWS Trainium- oder AWS Inferentia-Geräte verwendet, die auf der Host-Container-Instance verfügbar sind. Dazu können Sie den linuxParameters
-Parameter verwenden. In der folgenden Tabelle sind die Chips aufgeführt, die für jeden Instance-Typ spezifisch sind.
Instance-Typ | v CPUs | RAM (GiB) | AWS ML-Beschleunigerchips | Gerätepfade |
---|---|---|---|---|
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 |