Definisi ECS tugas Amazon untuk beban kerja pembelajaran mesin AWS Neuron - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Definisi ECS tugas Amazon untuk beban kerja pembelajaran mesin AWS Neuron

Anda dapat mendaftarkan instans Amazon EC2 Trn1, Amazon EC2 Inf1, dan Amazon EC2 Inf2 ke cluster Anda untuk beban kerja pembelajaran mesin.

Instans Amazon EC2 Trn1 didukung oleh AWS chip Trainium. Instans ini memberikan pelatihan berkinerja tinggi dan biaya rendah untuk pembelajaran mesin di cloud. Anda dapat melatih model inferensi pembelajaran mesin menggunakan kerangka pembelajaran mesin dengan AWS Neuron pada instance Trn1. Kemudian, Anda dapat menjalankan model pada instance Inf1, atau instance Inf2 untuk menggunakan akselerasi chip AWS Inferentia.

Instans Amazon EC2 Inf1 dan instans Inf2 didukung oleh chip AWS Inferentia. Instans ini memberikan kinerja tinggi dan inferensi biaya terendah di cloud.

Model pembelajaran mesin digunakan ke wadah menggunakan AWS Neuron, yang merupakan Kit Pengembang Perangkat Lunak khusus (SDK). SDKIni terdiri dari kompiler, runtime, dan alat profil yang mengoptimalkan kinerja pembelajaran mesin chip pembelajaran AWS mesin. AWS Neuron mendukung kerangka kerja pembelajaran mesin populer seperti TensorFlow, PyTorch, dan MXNet Apache.

Pertimbangan

Sebelum Anda mulai menerapkan Neuron di AmazonECS, pertimbangkan hal berikut:

  • Cluster Anda dapat berisi campuran Trn1, Inf1, Inf2, dan instance lainnya.

  • Anda memerlukan aplikasi Linux dalam wadah yang menggunakan kerangka pembelajaran mesin yang mendukung AWS Neuron.

    penting

    Aplikasi yang menggunakan kerangka kerja lain mungkin tidak meningkatkan kinerja pada instance Trn1, Inf1, dan Inf2.

  • Hanya satu tugas inferensi atau pelatihan inferensi yang dapat dijalankan pada setiap chip AWS Trainium atau Inferentia.AWS Untuk Inf1, setiap chip memiliki 4 NeuronCores. Untuk Trn1 dan Inf2 setiap chip memiliki 2. NeuronCores Anda dapat menjalankan tugas sebanyak mungkin karena ada chip untuk setiap instans Trn1, Inf1, dan Inf2 Anda.

  • Saat membuat layanan atau menjalankan tugas mandiri, Anda dapat menggunakan atribut tipe instance saat mengonfigurasi batasan penempatan tugas. Ini memastikan bahwa tugas diluncurkan pada instance kontainer yang Anda tentukan. Melakukannya dapat membantu Anda mengoptimalkan pemanfaatan sumber daya secara keseluruhan dan memastikan bahwa tugas untuk beban kerja inferensi ada di instans Trn1, Inf1, dan Inf2 Anda. Untuk informasi selengkapnya, lihat Bagaimana Amazon ECS menempatkan tugas pada instance kontainer.

    Dalam contoh berikut, tugas dijalankan pada Inf1.xlarge instance di default cluster Anda.

    aws ecs run-task \ --cluster default \ --task-definition ecs-inference-task-def \ --placement-constraints type=memberOf,expression="attribute:ecs.instance-type == Inf1.xlarge"
  • Persyaratan sumber daya neuron tidak dapat didefinisikan dalam definisi tugas. Sebagai gantinya, Anda mengonfigurasi wadah untuk menggunakan chip AWS Trainium atau AWS Inferentia tertentu yang tersedia di instance wadah host. Lakukan ini dengan menggunakan linuxParameters parameter dan menentukan detail perangkat. Untuk informasi selengkapnya, lihat Persyaratan ketentuan tugas.

Gunakan Amazon Linux 2023 (Neuron) yang ECS dioptimalkan Amazon AMI

Amazon ECS menyediakan Amazon AMI yang ECS dioptimalkan berdasarkan Amazon Linux 2023 untuk beban kerja AWS Trainium dan AWS Inferentia. Muncul dengan driver AWS Neuron dan runtime untuk Docker. Ini AMI membuat menjalankan beban kerja inferensi pembelajaran mesin lebih mudah di Amazon. ECS

Sebaiknya gunakan Amazon Linux 2023 (Neuron) yang ECS dioptimalkan Amazon AMI saat meluncurkan instans Amazon EC2 Trn1, Inf1, dan Inf2 Anda.

Anda dapat mengambil Amazon ECS Linux 2023 (Neuron) yang dioptimalkan Amazon saat ini AMI menggunakan perintah AWS CLI berikut.

aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended

Amazon yang ECS dioptimalkan Amazon Linux 2023 (Neuron) AMI didukung di Wilayah berikut:

  • AS Timur (N. Virginia)

  • AS Timur (Ohio)

  • AS Barat (California Utara)

  • AS Barat (Oregon)

  • Asia Pasifik (Mumbai)

  • Asia Pasifik (Osaka)

  • Asia Pasifik (Seoul)

  • Asia Pasifik (Tokyo)

  • Asia Pasifik (Singapura)

  • Asia Pacific (Sydney)

  • Kanada (Pusat)

  • Eropa (Frankfurt)

  • Eropa (Irlandia)

  • Eropa (London)

  • Eropa (Paris)

  • Eropa (Stockholm)

  • Amerika Selatan (Sao Paulo)

Gunakan Amazon Linux 2 (Neuron) yang ECS dioptimalkan Amazon AMI

Amazon ECS menyediakan Amazon yang ECS dioptimalkan AMI yang didasarkan pada Amazon Linux 2 untuk beban kerja AWS Trainium dan AWS Inferentia. Muncul dengan driver AWS Neuron dan runtime untuk Docker. Ini AMI membuat menjalankan beban kerja inferensi pembelajaran mesin lebih mudah di Amazon. ECS

Sebaiknya gunakan Amazon Linux 2 (Neuron) yang ECS dioptimalkan Amazon AMI saat meluncurkan instans Amazon EC2 Trn1, Inf1, dan Inf2 Anda.

Anda dapat mengambil Amazon Linux 2 (Neuron) yang ECS dioptimalkan Amazon saat ini AMI AWS CLI menggunakan perintah berikut.

aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/inf/recommended

Amazon Linux 2 (Neuron) AMI yang ECS dioptimalkan Amazon didukung di Wilayah berikut:

  • AS Timur (N. Virginia)

  • AS Timur (Ohio)

  • AS Barat (California Utara)

  • AS Barat (Oregon)

  • Asia Pasifik (Mumbai)

  • Asia Pasifik (Osaka)

  • Asia Pasifik (Seoul)

  • Asia Pasifik (Tokyo)

  • Asia Pasifik (Singapura)

  • Asia Pacific (Sydney)

  • Kanada (Pusat)

  • Eropa (Frankfurt)

  • Eropa (Irlandia)

  • Eropa (London)

  • Eropa (Paris)

  • Eropa (Stockholm)

  • Amerika Selatan (Sao Paulo)

Persyaratan ketentuan tugas

Untuk menerapkan Neuron di AmazonECS, definisi tugas Anda harus berisi definisi penampung untuk wadah bawaan yang menyajikan model inferensi. TensorFlow Ini disediakan oleh AWS Deep Learning Containers. Wadah ini berisi runtime AWS Neuron dan aplikasi TensorFlow Serving. Saat startup, penampung ini mengambil model Anda dari Amazon S3, meluncurkan Penyajian TensorFlow Neuron dengan model yang disimpan, dan menunggu permintaan prediksi. Dalam contoh berikut, gambar kontainer memiliki TensorFlow 1.15 dan Ubuntu 18.04. Daftar lengkap Deep Learning Containers pra-bangun yang dioptimalkan untuk Neuron GitHub dipertahankan. Untuk informasi lebih lanjut, lihat Menggunakan TensorFlow Penyajian AWS Neuron.

763104351884.dkr.ecr.us-east-1.amazonaws.com/tensorflow-inference-neuron:1.15.4-neuron-py37-ubuntu18.04

Atau, Anda dapat membangun sendiri citra kontainer Neuron sespan. Untuk informasi lebih lanjut, lihat Tutorial: TensorFlow Penyajian Neuron di Panduan AWS Deep Learning AMIs Pengembang.

Definisi tugas harus spesifik untuk satu jenis instance. Anda harus mengonfigurasi wadah untuk menggunakan perangkat AWS Trainium atau AWS Inferentia tertentu yang tersedia di instance wadah host. Anda dapat melakukannya dengan menggunakan linuxParameters parameter. Tabel berikut merinci chip yang spesifik untuk setiap jenis instance.

Tipe Instans vCPUs RAM(GiB) AWS Chip akselerator mL Jalur Perangkat
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