Saat ini, puluhan ribu pelanggan membuat, melatih, dan menerapkan model machine learning (ML) menggunakan Amazon SageMaker untuk memberdayakan aplikasi yang memiliki potensi untuk menemukan kembali bisnis dan pengalaman pelanggan mereka. Model ML ini telah meningkat dalam ukuran dan kompleksitas selama beberapa tahun terakhir, yang menghasilkan akurasi canggih di berbagai tugas dan juga mendorong waktu untuk berlatih dari hari ke minggu. Akibatnya, pelanggan harus menskalakan model mereka di ratusan hingga ribuan akselerator, yang membuatnya lebih mahal untuk dilatih.
SageMaker adalah layanan ML terkelola sepenuhnya yang membantu developer dan data scientist dengan mudah membangun, melatih, dan menerapkan model ML. SageMaker telah memberikan pilihan penawaran komputasi terluas dan terdalam yang menampilkan akselerator perangkat keras untuk pelatihan ML, termasuk G5 (Nvidia A10G) contoh dan P4d (Nvidia A100) contoh.
Kebutuhan komputasi yang terus meningkat menuntut daya pemrosesan yang lebih cepat dan lebih hemat biaya. Untuk semakin mengurangi waktu pelatihan model dan memungkinkan praktisi ML melakukan iterasi lebih cepat, AWS telah berinovasi di seluruh chip, server, dan konektivitas pusat data. Mesin virtual Trn1 baru didukung oleh Pelatihan AWS chip menawarkan kinerja harga terbaik dan pelatihan model ML tercepat di AWS, memberikan biaya hingga 50% lebih rendah untuk melatih model pembelajaran mendalam melalui instans berbasis GPU yang sebanding tanpa penurunan akurasi.
Dalam postingan ini, kami menunjukkan bagaimana Anda dapat memaksimalkan kinerja dan mengurangi biaya menggunakan instans Trn1 dengan SageMaker.
Ikhtisar solusi
Tugas pelatihan SageMaker mendukung instans ml.trn1, didukung oleh chip Trainium, yang dibuat khusus untuk aplikasi pelatihan ML berperforma tinggi di cloud. Anda dapat menggunakan instans ml.trn1 di SageMaker untuk melatih pemrosesan bahasa alami (NLP), computer vision, dan model pemberi rekomendasi di seluruh kumpulan aplikasi yang luas, seperti pengenalan ucapan, rekomendasi, deteksi penipuan, klasifikasi gambar dan video, serta perkiraan. Instans ml.trn1 menampilkan hingga 16 chip Trainium, yang merupakan chip ML generasi kedua yang dibuat oleh AWS setelah Inferensi AWS. Instance ml.trn1 adalah yang pertama Cloud komputasi elastis Amazon (Amazon EC2) dengan bandwidth jaringan hingga 800 Gbps dari Elastic Fabric Adapter (EFA). Untuk paralelisme data dan model yang efisien, setiap instans ml.trn1.32xl memiliki memori bandwidth tinggi sebesar 512 GB, memberikan hingga 3.4 petaflop daya komputasi FP16/BF16, dan dilengkapi NeuronLink, interkoneksi intra-instans, bandwidth tinggi, dan nonblocking .
Trainium tersedia dalam dua konfigurasi dan dapat digunakan di Wilayah AS Timur (Virginia U.) dan AS Barat (Oregon).
Tabel berikut meringkas fitur instans Trn1.
Ukuran Instance | pelatihan Akselerator |
Akselerator Memori (GB) |
vCPU | Contoh Memori (GiB) |
jaringan Bandwidth (Gbps) |
EFA dan RDMA Bantuan |
trn1.2xbesar | 1 | 32 | 8 | 32 | Sampai 12.5 | Tidak |
trn1.32xbesar | 16 | 512 | 128 | 512 | 800 | Yes |
trn1n.32xlarge (segera hadir) | 16 | 512 | 128 | 512 | 1600 | Yes |
Mari pahami cara menggunakan Trainium dengan SageMaker dengan contoh sederhana. Kami akan melatih model klasifikasi teks dengan pelatihan SageMaker dan PyTorch menggunakan Hugging Face Transformers Library.
Kami menggunakan kumpulan data Ulasan Amazon, yang terdiri dari ulasan dari amazon.com. Data mencakup periode 18 tahun, terdiri dari sekitar 35 juta ulasan hingga Maret 2013. Ulasan mencakup informasi produk dan pengguna, peringkat, dan ulasan plaintext. Kode berikut adalah contoh dari AmazonPolarity
set tes:
Untuk posting ini, kami hanya menggunakan bidang konten dan label. Bidang konten adalah ulasan teks bebas, dan bidang label adalah nilai biner yang masing-masing berisi 1 atau 0 untuk ulasan positif atau negatif.
Untuk algoritme kami, kami menggunakan BERT, model transformator yang dilatih sebelumnya pada korpus besar data bahasa Inggris dengan cara yang diawasi sendiri. Model ini terutama ditujukan untuk menyempurnakan tugas-tugas yang menggunakan seluruh kalimat (berpotensi disamarkan) untuk membuat keputusan, seperti klasifikasi urutan, klasifikasi token, atau menjawab pertanyaan.
Detail implementasi
Mari kita mulai dengan melihat lebih dekat berbagai komponen yang terlibat dalam pelatihan model:
- Pelatihan AWS โ Pada intinya, masing-masing Contoh Trainium memiliki perangkat Trainium yang terpasang di dalamnya. Trn1.2xlarge memiliki 1 perangkat Trainium, dan Trn1.32xlarge memiliki 16 perangkat Trainium. Setiap perangkat Trainium terdiri dari komputasi (2 NeuronCore-v2), memori perangkat HBM 32 GB, dan NeuronLink untuk komunikasi antar perangkat yang cepat. Setiap NeuronCore-v2 terdiri dari unit komputasi heterogen yang sepenuhnya independen dengan mesin terpisah (Tensor/Vektor/Skalar/GPSIMD). GPSIMD adalah prosesor tujuan umum yang sepenuhnya dapat diprogram yang dapat Anda gunakan untuk mengimplementasikan operator khusus dan menjalankannya langsung di mesin NeuronCore.
- Pelatihan Amazon SageMaker โ SageMaker memberikan pengalaman pelatihan yang terkelola sepenuhnya untuk melatih model dengan mudah tanpa harus mengkhawatirkan infrastruktur. Saat Anda menggunakan Pelatihan SageMaker, SageMaker menjalankan semua yang diperlukan untuk tugas pelatihan, seperti kode, penampung, dan data, dalam infrastruktur komputasi yang terpisah dari lingkungan pemanggilan. Hal ini memungkinkan kami menjalankan eksperimen secara paralel dan melakukan iterasi dengan cepat. SageMaker menyediakan a SDK Python untuk meluncurkan pekerjaan pelatihan. Contoh dalam postingan ini menggunakan SageMaker Python SDK untuk memicu tugas pelatihan menggunakan Trainium.
- Neuron AWS โ Karena Trainium NeuronCore memiliki mesin komputasinya sendiri, kami memerlukan mekanisme untuk mengkompilasi kode pelatihan kami. Itu Neuron AWS compiler mengambil kode yang ditulis dalam Pytorch/XLA dan mengoptimalkannya untuk berjalan di perangkat Neuron. Compiler Neuron terintegrasi sebagai bagian dari Deep Learning Container yang akan kita gunakan untuk melatih model kita.
- PyTorch/XLA - ini Paket python menggunakan kompiler pembelajaran mendalam XLA untuk menghubungkan kerangka pembelajaran mendalam PyTorch dan akselerator cloud seperti Trainium. Membangun jaringan PyTorch baru atau mengonversi yang sudah ada untuk dijalankan di perangkat XLA hanya memerlukan beberapa baris kode khusus XLA. Kami akan melihat untuk kasus penggunaan kami perubahan apa yang perlu kami lakukan.
- Pelatihan yang didistribusikan โ Untuk menjalankan pelatihan secara efisien di beberapa NeuronCore, kami memerlukan mekanisme untuk mendistribusikan pelatihan ke NeuronCore yang tersedia. SageMaker mendukung torchrun dengan instans Trainium, yang dapat digunakan untuk menjalankan beberapa proses yang setara dengan jumlah NeuronCore dalam klaster. Ini dilakukan dengan meneruskan parameter distribusi ke estimator SageMaker sebagai berikut, yang memulai pelatihan terdistribusi paralel data di mana model yang sama dimuat ke NeuronCore berbeda yang memproses kumpulan data terpisah:
Perubahan skrip diperlukan untuk dijalankan di Trainium
Mari kita lihat perubahan kode yang diperlukan untuk mengadopsi skrip PyTorch berbasis GPU reguler untuk dijalankan di Trainium. Pada level tinggi, kita perlu melakukan perubahan berikut:
- Ganti perangkat GPU dengan perangkat Pytorch/XLA. Karena kita menggunakan distribusi torch, kita perlu menginisialisasi pelatihan dengan perangkat XLA sebagai berikut:
- Kami menggunakan backend terdistribusi PyTorch/XLA untuk menjembatani API terdistribusi PyTorch ke semantik komunikasi XLA.
- Kami menggunakan PyTorch/XLA MpDeviceLoader untuk pipeline penyerapan data. MpDeviceLoader membantu meningkatkan performa dengan menggabungkan tiga langkah: pelacakan, kompilasi, dan pemuatan kumpulan data ke perangkat. Kita perlu membungkus pemuat data PyTorch dengan MpDeviceDataLoader sebagai berikut:
- Jalankan langkah pengoptimalan menggunakan API yang disediakan XLA seperti yang ditunjukkan pada kode berikut. Ini mengkonsolidasikan gradien antara inti dan mengeluarkan perhitungan langkah perangkat XLA.
- Petakan API CUDA (jika ada) ke API PyTorch umum.
- Ganti pengoptimal gabungan CUDA (jika ada) dengan alternatif PyTorch umum.
Seluruh contoh, yang melatih model klasifikasi teks menggunakan SageMaker dan Trainium, tersedia berikut ini GitHub repo. Berkas buku catatan Sempurnakan Transformer untuk model klasifikasi bangunan menggunakan SageMaker dan Trainium.ipynb adalah titik masuk dan berisi petunjuk langkah demi langkah untuk menjalankan pelatihan.
Tes tolok ukur
Dalam pengujian, kami menjalankan dua tugas pelatihan: satu di ml.trn1.32xlarge, dan satu lagi di ml.p4d.24xlarge dengan ukuran batch, data pelatihan, dan hyperparameter lainnya yang sama. Selama tugas pelatihan, kami mengukur waktu yang dapat ditagih dari tugas pelatihan SageMaker, dan menghitung kinerja harga dengan mengalikan waktu yang diperlukan untuk menjalankan tugas pelatihan dalam jam dengan harga per jam untuk jenis instans. Kami memilih hasil terbaik untuk setiap jenis instans dari beberapa tugas yang dijalankan.
Tabel berikut merangkum temuan tolok ukur kami.
Model | Jenis Mesin Virtual | Harga (per node * jam) | Throughput (iterasi/dtk) | Akurasi Validasi | Waktu yang Dapat Ditagih (detik) | Biaya Pelatihan dalam $ |
klasifikasi dasar BERT | ml.trn1.32xbesar | 24.725 | 6.64 | 0.984 | 6033 | 41.47 |
klasifikasi dasar BERT | ml.p4d.24xbesar | 37.69 | 5.44 | 0.984 | 6553 | 68.6 |
Hasil menunjukkan bahwa biaya instans Trainium lebih murah daripada instans P4d, memberikan throughput dan akurasi yang serupa saat melatih model yang sama dengan input data dan parameter pelatihan yang sama. Ini berarti instans Trainium memberikan kinerja harga yang lebih baik daripada instans P4D berbasis GPU. Dengan contoh sederhana seperti ini, kita dapat melihat Trainium menawarkan waktu pelatihan sekitar 22% lebih cepat dan biaya hingga 50% lebih rendah dibandingkan instans P4d.
Terapkan model yang dilatih
Setelah kami melatih model, kami dapat menerapkannya ke berbagai jenis instans seperti CPU, GPU, atau AWS Inferentia. Hal utama yang perlu diperhatikan adalah model yang dilatih tidak bergantung pada perangkat keras khusus untuk menerapkan dan membuat inferensi. SageMaker menyediakan mekanisme untuk menerapkan model terlatih menggunakan mekanisme real-time atau batch. Contoh notebook di repo GitHub berisi kode untuk menerapkan model yang dilatih sebagai titik akhir real-time menggunakan instans ml.c5.xlarge (berbasis CPU).
Kesimpulan
Dalam postingan ini, kita melihat cara menggunakan Trainium dan SageMaker untuk menyiapkan dan melatih model klasifikasi dengan cepat yang memberikan penghematan biaya hingga 50% tanpa mengorbankan akurasi. Anda dapat menggunakan Trainium untuk berbagai kasus penggunaan yang melibatkan prapelatihan atau penyempurnaan model berbasis Transformer. Untuk informasi lebih lanjut tentang dukungan berbagai arsitektur model, lihat Pedoman Kecocokan Arsitektur Model.
Tentang Penulis
Arun Kumar Lokanatha adalah Arsitek Solusi ML Senior dengan tim Layanan Amazon SageMaker. Dia berfokus untuk membantu pelanggan membuat, melatih, dan memigrasikan beban kerja produksi ML ke SageMaker dalam skala besar. Dia berspesialisasi dalam Deep Learning khususnya di bidang NLP dan CV. Di luar pekerjaan, dia menikmati Lari dan hiking.
Mark Yu adalah Insinyur Perangkat Lunak di AWS SageMaker. Dia berfokus pada membangun sistem pelatihan terdistribusi berskala besar, mengoptimalkan kinerja pelatihan, dan mengembangkan perangkat keras pelatihan ml berperforma tinggi, termasuk SageMaker trainium. Mark juga memiliki pengetahuan mendalam tentang pengoptimalan infrastruktur pembelajaran mesin. Di waktu luangnya, ia menikmati hiking, dan berlari.
Omri Fuchs adalah Manajer Pengembangan Perangkat Lunak di AWS SageMaker. Dia adalah pemimpin teknis yang bertanggung jawab atas platform pekerjaan pelatihan SageMaker, berfokus pada pengoptimalan kinerja pelatihan SageMaker, dan meningkatkan pengalaman pelatihan. Dia memiliki hasrat untuk teknologi ML dan AI yang mutakhir. Di waktu luangnya, dia suka bersepeda, dan hiking.
Gal Oshri adalah Manajer Produk Senior di tim Amazon SageMaker. Dia memiliki 7 tahun pengalaman bekerja pada alat, kerangka kerja, dan layanan Machine Learning.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/maximize-performance-and-reduce-your-deep-learning-training-cost-with-aws-trainium-and-amazon-sagemaker/
- :adalah
- $NAIK
- 1
- 100
- 7
- 8
- a
- A100
- Tentang Kami
- akselerator
- ketepatan
- di seluruh
- mengambil
- Setelah
- AI
- algoritma
- memungkinkan
- sudah
- alternatif
- Amazon
- Amazon EC2
- Amazon SageMaker
- Amazon.com
- dan
- api
- Lebah
- aplikasi
- sekitar
- arsitektur
- ADALAH
- DAERAH
- AS
- At
- tersedia
- AWS
- Inferensi AWS
- Backend
- Buruk
- Bandwidth
- mendasarkan
- BE
- karena
- mulai
- makhluk
- patokan
- TERBAIK
- Lebih baik
- antara
- Luar
- Besar
- Black
- Book
- JEMBATAN
- membangun
- Bangunan
- dibangun di
- bisnis
- by
- dihitung
- Panggilan
- CAN
- kasus
- kasus
- CD
- pusat
- Perubahan
- keping
- Keripik
- pilihan
- klasifikasi
- lebih dekat
- awan
- Kelompok
- kode
- COM
- kedatangan
- Coming Soon
- Komunikasi
- sebanding
- kompleksitas
- komponen
- kompromi
- komputasi
- menghitung
- komputer
- Visi Komputer
- konfigurasi
- Terhubung
- Konektivitas
- Konsolidasi
- Wadah
- mengandung
- Konten
- Core
- Biaya
- penghematan biaya
- hemat biaya
- Biaya
- CPU
- adat
- pelanggan
- pelanggan
- canggih
- data
- Data Center
- Hari
- keputusan
- mendalam
- belajar mendalam
- terdalam
- memberikan
- tergantung
- menyebarkan
- penggelaran
- GURUN
- Deteksi
- pengembang
- berkembang
- Pengembangan
- alat
- Devices
- berbeda
- langsung
- mendistribusikan
- didistribusikan
- pelatihan terdistribusi
- distribusi
- Menjatuhkan
- selama
- setiap
- mudah
- Timur
- efisien
- efisien
- aktif
- diaktifkan
- Titik akhir
- Mesin
- insinyur
- Mesin
- Inggris
- Seluruh
- Lingkungan Hidup
- Setara
- terutama
- Eter (ETH)
- segala sesuatu
- contoh
- ada
- mahal
- pengalaman
- Pengalaman
- kain
- Menghadapi
- Fashion
- FAST
- lebih cepat
- tercepat
- Fitur
- Fitur
- Menampilkan
- wanita
- beberapa
- bidang
- Fields
- File
- Pertama
- cocok
- berfokus
- berfokus
- berikut
- berikut
- Untuk
- Kerangka
- kerangka
- penipuan
- deteksi penipuan
- Gratis
- dari
- sepenuhnya
- lebih lanjut
- tujuan umum
- generasi
- GitHub
- memberikan
- baik
- GPU
- gradien
- besar
- Perangkat keras
- Memiliki
- memiliki
- membantu
- membantu
- Tersembunyi
- High
- kinerja tinggi
- mendaki
- JAM
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTML
- http
- HTTPS
- Ratusan
- i
- gambar
- melaksanakan
- memperbaiki
- meningkatkan
- in
- secara mendalam
- memasukkan
- Termasuk
- meningkatkan
- independen
- informasi
- Infrastruktur
- berinovasi
- memasukkan
- contoh
- instruksi
- terpadu
- melibatkan
- terlibat
- masalah
- IT
- NYA
- Pekerjaan
- Jobs
- jpg
- kunci
- Membunuh
- pengetahuan
- label
- bahasa
- besar
- besar-besaran
- Terakhir
- jalankan
- pemimpin
- pengetahuan
- Dipimpin
- Tingkat
- Perpustakaan
- Hidup
- 'like'
- baris
- pemuatan
- melihat
- tampak
- cinta
- mesin
- Mesin belajar
- terbuat
- membuat
- MEMBUAT
- berhasil
- manajer
- March
- tanda
- hal
- Maksimalkan
- cara
- mekanisme
- Memori
- bermigrasi
- juta
- ML
- model
- model
- suasana hati
- lebih
- beberapa
- mengalikan
- Alam
- Bahasa Alami
- Pengolahan Bahasa alami
- Perlu
- dibutuhkan
- negatif
- jaringan
- New
- nLP
- simpul
- buku catatan
- jumlah
- Nvidia
- of
- menawarkan
- Penawaran
- Penawaran
- Tua
- on
- ONE
- operator
- optimasi
- Mengoptimalkan
- mengoptimalkan
- Oregon
- Lainnya
- di luar
- sendiri
- Paralel
- parameter
- parameter
- bagian
- Lewat
- gairah
- prestasi
- periode
- Teks biasa
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- Bermain
- Titik
- positif
- Pos
- potensi
- berpotensi
- kekuasaan
- didukung
- harga pompa cor beton mini
- terutama
- proses
- proses
- pengolahan
- Memproses Daya
- prosesor
- Produk
- manajer produk
- Produksi
- menyediakan
- menyediakan
- tujuan
- Mendorong
- Ular sanca
- pytorch
- pertanyaan
- segera
- HUJAN
- jarak
- peringkat
- real-time
- pengakuan
- Rekomendasi
- menurunkan
- daerah
- reguler
- wajib
- Persyaratan
- membutuhkan
- tanggung jawab
- mengakibatkan
- Hasil
- ulasan
- Review
- Run
- berjalan
- s
- pembuat bijak
- sama
- Tabungan
- mengatakan
- Skala
- ilmuwan
- SDK
- SEC
- terpilih
- semantik
- senior
- putusan pengadilan
- terpisah
- Urutan
- Server
- layanan
- Layanan
- set
- Menunjukkan
- ditunjukkan
- mirip
- Sederhana
- Ukuran
- Perangkat lunak
- pengembangan perangkat lunak
- Software Engineer
- Solusi
- Segera
- rentang
- khusus
- spesialisasi
- pidato
- Speech Recognition
- dimulai
- state-of-the-art
- Langkah
- Tangga
- Masih
- seperti itu
- mendukung
- Mendukung
- sistem
- tabel
- Dibutuhkan
- pengambilan
- tugas
- tim
- Teknis
- Teknologi
- uji
- Klasifikasi Teks
- bahwa
- Grafik
- Daerah
- mereka
- Mereka
- Ini
- hal
- ribuan
- tiga
- keluaran
- waktu
- kali
- Judul
- untuk
- token
- alat
- obor
- jiplakan
- Pelatihan VE
- terlatih
- Pelatihan
- kereta
- transformer
- memicu
- jenis
- memahami
- satuan
- us
- menggunakan
- gunakan case
- Pengguna
- nilai
- berbagai
- Video
- virginia
- penglihatan
- SUARA
- minggu
- Barat
- Apa
- yang
- putih
- SIAPA
- lebar
- Rentang luas
- akan
- dengan
- tanpa
- Kerja
- kerja
- membungkus
- tertulis
- tahun
- muda
- Anda
- zephyrnet.dll