Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Definisi tugas Amazon ECS untuk AWS Beban kerja pembelajaran mesin neuron
Anda dapat menggunakan Amazon EC2 Trn1
Instans Amazon EC2 Trn1 dan Trn2 didukung oleh chip Trainium. AWS
Instans Amazon EC2 Inf1 dan instans Inf2 didukung oleh chip
Model pembelajaran mesin diterapkan ke wadah menggunakan AWS Neuron
Pertimbangan-pertimbangan
Sebelum Anda mulai menerapkan Neuron di Amazon ECS, pertimbangkan hal berikut:
-
Tergantung pada jenis peluncurannya, cluster Anda dapat berisi campuran Trn1, Trn2, Inf1, Inf2, dan instans lainnya.
-
Anda memerlukan aplikasi Linux dalam wadah yang menggunakan kerangka kerja pembelajaran mesin yang mendukung AWS Neuron.
penting
Aplikasi yang menggunakan kerangka kerja lain mungkin tidak meningkatkan kinerja pada instans Trn1, Trn2, Inf1, dan Inf2.
-
Amazon ECS mendukung dua pendekatan untuk mengonfigurasi akses perangkat Neuron:
-
Alokasi perangkat Neuron Terkelola — Gunakan
resourceRequirementsparameter dengan tipeNeuronDevicedalam definisi wadah Anda. Amazon ECS secara otomatis menemukan dan menetapkan perangkat Neuron ke wadah Anda. Hanya tersedia di Instans Terkelola. Untuk informasi selengkapnya, lihat Alokasi perangkat Neuron Terkelola. -
Spesifikasi perangkat Neuron Manual — Gunakan
linuxParameters.devicesparameter untuk secara eksplisit menentukan jalur perangkat Neuron. Tersedia pada tipe peluncuran EC2 dan Instans Terkelola. Untuk informasi selengkapnya, lihat Spesifikasi perangkat Neuron Manual.
penting
Gunakan hanya satu pendekatan secara konsisten untuk menghindari konflik.
-
Alokasi perangkat Neuron Terkelola
Dengan Instans Terkelola, Anda dapat menggunakan resourceRequirements parameter dalam definisi wadah untuk meminta perangkat Neuron. Amazon ECS secara otomatis menemukan perangkat Neuron pada instans, menugaskannya ke tugas Anda, dan mengonfigurasi wadah dengan akses ke semua perangkat Neuron pada instans. Karena tugas memerlukan akses eksklusif ke semua perangkat, hanya satu tugas Neuron yang berjalan per instance.
catatan
Inf1instance hanya didukung pada jenis peluncuran EC2. Untuk menggunakan instans Inf1, lihatSpesifikasi perangkat Neuron Manual.
Pemilihan instance neuron
Untuk memilih jenis Neuron-enabled instans untuk beban kerja Instans Terkelola Anda, gunakan instanceRequirements objek di template peluncuran penyedia kapasitas. Anda dapat menggunakan atribut berikut untuk memilih Neuron-enabled instance:
-
acceleratorManufacturers— Gunakanamazon-web-servicesuntuk memilih instance dengan AWS akselerator (termasuk Inferentia dan Trainium). -
acceleratorNames— Gunakaninferentia2,trainium, atautrainium2untuk memilih chip akselerator tertentu. -
allowedInstanceTypes— Gunakaninf*dantrn*untuk memilih jenis instance Neuron berdasarkan nama.
Contoh berikut menggunakan allowedInstanceTypes:
{ "instanceRequirements": { "allowedInstanceTypes": ["inf*", "trn*"] } }
Definisi tugas
Untuk meminta perangkat Neuron dalam definisi tugas Anda, tambahkan resourceRequirements entri dengan jenis NeuronDevice dan nilaiALL. Ini memberi wadah akses eksklusif ke semua perangkat Neuron pada instance.
Batasan berikut berlaku:
-
Paling banyak satu definisi wadah dapat ditentukan
NeuronDevicediresourceRequirements. -
Anda tidak dapat menggabungkan
resourceRequirementsdengan tipeNeuronDevicedanlinuxParameters.devicesuntuk perangkat Neuron dalam definisi tugas yang sama.
Setelah tugas dimulai, Anda dapat memverifikasi penugasan perangkat Neuron dengan memanggil operasi DescribeTasks API. Respons menyertakan neuronDeviceIds bidang pada setiap wadah yang menunjukkan ID perangkat Neuron yang ditetapkan. Anda juga dapat memanggil operasi DescribeContainerInstances API untuk melihat NEURON_DEVICES di remainingResources bidang registeredResources dan untuk instance kontainer.
Untuk contoh definisi tugas, lihatContoh definisi tugas neuron.
Spesifikasi perangkat Neuron Manual
Dengan pendekatan ini, Anda secara manual menentukan jalur perangkat AWS Trainium atau AWS Inferentia dalam definisi tugas Anda menggunakan parameter. linuxParameters.devices Pendekatan ini bekerja pada tipe peluncuran EC2 dan Instans Terkelola.
Hanya satu tugas pelatihan inferensi atau inferensi yang dapat dijalankan pada setiap chip AWS Tra
Untuk jenis peluncuran EC2, Anda dapat menggunakan atribut tipe instans saat mengonfigurasi batasan penempatan tugas untuk memastikan bahwa tugas diluncurkan pada jenis instans yang Anda tentukan. Untuk informasi selengkapnya, lihat Cara Amazon ECS Menempatkan Tugas di Instans Kontainer.
Persyaratan ketentuan tugas
Definisi tugas harus spesifik untuk satu jenis instance. Anda harus mengonfigurasi wadah untuk menggunakan perangkat AWS Trainium atau AWS Inferentia tertentu yang tersedia pada instance kontainer 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
|
| trn2.48xbesar | 192 | 2048 | 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 | 4 | 16 | 1 | /dev/neuron0 |
| inf2.8xlarge | 32 | 128 | 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 |
Untuk contoh definisi tugas, lihatContoh definisi tugas neuron.
Instans Terkelola
Instans Terkelola secara otomatis menggunakan AMI yang menyertakan driver Neuron. Tidak diperlukan konfigurasi AMI tambahan.
Jenis peluncuran EC2
Amazon ECS menyediakan AMI yang dioptimalkan Amazon ECS yang didasarkan pada Amazon Linux 2023 untuk beban kerja AWS Trainium dan AWS Inferentia. Muncul dengan driver AWS Neuron dan runtime untuk Docker. AMI ini membuat menjalankan beban kerja inferensi pembelajaran mesin lebih mudah di Amazon ECS.
Sebaiknya gunakan AMI Amazon ECS-optimized Amazon Linux 2023 (Neuron) saat meluncurkan instans Amazon EC2 Trn1, Inf1, dan Inf2 Anda.
Anda dapat mengambil AMI Amazon ECS-optimized Amazon Linux 2023 (Neuron) saat ini menggunakan perintah berikut. AWS CLI
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended