View a markdown version of this page

Definisi tugas Amazon ECS untuk AWS Beban kerja pembelajaran mesin 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 tugas Amazon ECS untuk AWS Beban kerja pembelajaran mesin neuron

Anda dapat menggunakan Amazon EC2 Trn1, Amazon EC2 Trn2, Amazon EC2 Inf1 (Inf1 hanya didukung pada tipe peluncuran EC2), dan instans Amazon EC2 Inf2 dengan cluster Anda untuk beban kerja pembelajaran mesin.

Instans Amazon EC2 Trn1 dan Trn2 didukung oleh chip Trainium.AWS 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 atau Trn2. Kemudian, Anda dapat menjalankan model pada instance Inf1 (Inf1 hanya didukung pada tipe peluncuran EC2), atau instance Inf2 untuk menggunakan akselerasi chip Inferentia. AWS

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 (SDK) khusus. SDK terdiri dari compiler, runtime, dan alat profiling yang mengoptimalkan kinerja machine learning chip machine learning. AWS AWS Neuron mendukung kerangka kerja pembelajaran mesin populer seperti TensorFlow, PyTorch, dan Apache MXNet.

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 resourceRequirements parameter dengan tipe NeuronDevice dalam 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.devices parameter 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— Gunakan amazon-web-services untuk memilih instance dengan AWS akselerator (termasuk Inferentia dan Trainium).

  • acceleratorNames— Gunakaninferentia2,trainium, atau trainium2 untuk memilih chip akselerator tertentu.

  • allowedInstanceTypes— Gunakan inf* dan trn* 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 NeuronDevice diresourceRequirements.

  • Anda tidak dapat menggabungkan resourceRequirements dengan tipe NeuronDevice dan linuxParameters.devices untuk 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 atau Inferentia.AWS Anda dapat menjalankan tugas sebanyak mungkin karena ada chip pada instance dengan menetapkan perangkat yang berbeda untuk setiap tugas.

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