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, Amazon EC2 Trn2
Instans Amazon EC2 Trn1 dan Trn2 didukung oleh chip Trainium.AWS
Instans Amazon EC2 Inf1 dan instans Inf2 didukung oleh chip AWS Inferentia. Instans ini memberikan kinerja tinggi dan inferensi
Model pembelajaran mesin digunakan ke wadah menggunakan AWS Neuron
Pertimbangan-pertimbangan
Sebelum Anda mulai menerapkan Neuron di Amazon ECS, pertimbangkan hal berikut:
-
Bergantung pada jenis peluncuran, cluster Anda dapat berisi campuran Trn1, Trn2, 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, Trn2, Inf1, dan Inf2.
-
Amazon ECS mendukung dua pendekatan untuk mengonfigurasi akses perangkat Neuron:
-
Alokasi perangkat Neuron Terkelola — Gunakan
resourceRequirementsparameter dengan tipeNeuronDevicedalam definisi kontainer 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 container untuk meminta perangkat Neuron. Amazon ECS secara otomatis menemukan perangkat Neuron pada instans, menetapkannya ke tugas Anda, dan mengonfigurasi wadah dengan akses ke semua perangkat Neuron pada instance. Karena tugas tersebut memerlukan akses eksklusif ke semua perangkat, hanya satu tugas Neuron yang berjalan per instance.
catatan
Inf1instance hanya didukung pada tipe peluncuran EC2. Untuk menggunakan instance Inf1, lihat. Spesifikasi perangkat Neuron manual
Pemilihan contoh neuron
Untuk memilih jenis Neuron-enabled instans untuk beban kerja Instans Terkelola, gunakan instanceRequirements objek dalam templat 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 kontainer dapat menentukan
NeuronDevicediresourceRequirements. -
Anda tidak dapat menggabungkan
resourceRequirementsdengan tipeNeuronDevicedanlinuxParameters.devicesuntuk perangkat Neuron dalam definisi tugas yang sama.
Setelah tugas dimulai, Anda dapat memverifikasi penetapan perangkat Neuron dengan memanggil operasi DescribeTasks API. Respons mencakup neuronDeviceIds bidang pada setiap wadah yang menunjukkan ID perangkat Neuron yang ditetapkan. Anda juga dapat memanggil operasi DescribeContainerInstances API untuk melihat NEURON_DEVICES di registeredResources dan remainingResources bidang untuk instance container.
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 inferensi atau pelatihan inferensi yang dapat dijalankan pada setiap chip AWS Trainium
Untuk tipe 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 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
|
| trn2.48xlarge | 192 | 1536 | 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 |
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 Amazon ECS yang dioptimalkan yang didasarkan pada Amazon Linux 2023 untuk beban kerja AWS Trainium dan Inferentia. AWS 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 AWS CLI perintah berikut.
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2023/neuron/recommended