Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Mencapai throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans Amazon EC2 G5 untuk model NLP dan CV PyTorch

Cloud komputasi elastis Amazon (Amazon EC2) Instans G5 adalah instans pertama dan satu-satunya di cloud yang menampilkan GPU NVIDIA A10G Tensor Core, yang dapat Anda gunakan untuk berbagai kasus penggunaan intensif grafis dan pembelajaran mesin (ML). Dengan instans G5, pelanggan ML mendapatkan kinerja tinggi dan infrastruktur hemat biaya untuk melatih dan menerapkan model yang lebih besar dan lebih canggih untuk pemrosesan bahasa alami (NLP), visi komputer (CV), dan kasus penggunaan mesin pemberi rekomendasi.

Tujuan postingan ini adalah untuk menunjukkan manfaat kinerja instans G5 untuk beban kerja inferensi ML skala besar. Kami melakukan ini dengan membandingkan kinerja harga (diukur sebagai $ per juta inferensi) untuk model NLP dan CV dengan instans G4dn. Kami mulai dengan menjelaskan pendekatan pembandingan kami dan kemudian menyajikan kurva throughput vs. latensi di seluruh ukuran batch dan presisi tipe data. Dibandingkan dengan instans G4dn, kami menemukan bahwa instans G5 memberikan inferensi biaya per juta yang lebih rendah secara konsisten untuk mode presisi penuh dan presisi campuran untuk model NLP dan CV sambil mencapai throughput yang lebih tinggi dan latensi yang lebih rendah.

Pendekatan pembandingan

Untuk mengembangkan studi kinerja harga antara G5 dan G4dn, kita perlu mengukur throughput, latensi, dan biaya per juta inferensi sebagai fungsi ukuran batch. Kami juga mempelajari dampak presisi penuh vs presisi campuran. Baik grafik model dan input dimuat ke CUDA sebelum inferensi.

Seperti yang ditunjukkan dalam diagram arsitektur berikut, pertama-tama kita membuat gambar container dasar masing-masing dengan CUDA untuk instance EC2 yang mendasarinya (G4dn, G5). Untuk membangun gambar wadah dasar, kita mulai dengan Kontainer Pembelajaran Jauh AWS, yang menggunakan image Docker yang sudah dikemas sebelumnya untuk menerapkan lingkungan deep learning dalam hitungan menit. Gambar berisi perpustakaan dan alat PyTorch pembelajaran mendalam yang diperlukan. Anda dapat menambahkan pustaka dan alat Anda sendiri di atas gambar ini untuk tingkat kontrol yang lebih tinggi atas pemantauan, kepatuhan, dan pemrosesan data.

Kemudian kita membangun image container khusus model yang merangkum konfigurasi model, model tracing, dan kode terkait untuk menjalankan forward pass. Semua gambar kontainer dimuat ke dalam ECR Amazon untuk memungkinkan penskalaan horizontal model ini untuk berbagai konfigurasi model. Kita gunakan Layanan Penyimpanan Sederhana Amazon (Amazon S3) sebagai penyimpanan data umum untuk mengunduh konfigurasi dan mengunggah hasil benchmark untuk ringkasan. Anda dapat menggunakan arsitektur ini untuk membuat ulang dan mereproduksi hasil benchmark dan tujuan ulang untuk benchmark berbagai jenis model (seperti model Hugging Face, model PyTorch, model kustom lainnya) di seluruh jenis instans EC2 (CPU, GPU, Inf1).

Dengan pengaturan eksperimen ini, tujuan kami adalah mempelajari latensi sebagai fungsi throughput. Kurva ini penting untuk desain aplikasi untuk sampai pada infrastruktur yang hemat biaya untuk aplikasi target. Untuk mencapai ini, kami mensimulasikan beban yang berbeda dengan mengantrekan kueri dari beberapa utas dan kemudian mengukur waktu pulang pergi untuk setiap permintaan yang diselesaikan. Throughput diukur berdasarkan jumlah permintaan yang diselesaikan per unit waktu jam. Selanjutnya, Anda dapat memvariasikan ukuran batch dan variabel lain seperti panjang urutan dan presisi penuh vs. setengah presisi untuk secara komprehensif menyapu ruang desain untuk sampai pada metrik kinerja indikatif. Dalam penelitian kami, melalui sapuan parametrik ukuran batch dan kueri dari klien multi-utas, kurva throughput vs. latensi ditentukan. Setiap permintaan dapat dikelompokkan untuk memastikan pemanfaatan penuh akselerator, terutama untuk permintaan kecil yang mungkin tidak sepenuhnya menggunakan node komputasi. Anda juga dapat mengadopsi pengaturan ini untuk mengidentifikasi ukuran batch sisi klien untuk kinerja yang optimal.

Singkatnya, kita dapat merepresentasikan masalah ini secara matematis sebagai: (Throughput, Latency) = fungsi (Batch Size, Number of threads, Precision).

Ini berarti, mengingat ruang yang luas, jumlah eksperimen bisa banyak. Untungnya, setiap eksperimen dapat dijalankan secara independen. Kami merekomendasikan menggunakan Batch AWS untuk melakukan benchmarking skala horizontal ini dalam waktu terkompresi tanpa peningkatan biaya benchmarking dibandingkan dengan pendekatan linear untuk pengujian. Kode untuk mereplikasi hasil ada di Repositori GitHub disiapkan untuk AWS Re:Invent 2021. Repositori ini komprehensif untuk melakukan tolok ukur pada akselerator yang berbeda. Anda dapat merujuk ke aspek kode GPU untuk membuat wadah (Dockerfile-gpu) dan kemudian lihat kode di dalamnya Container-Root untuk contoh spesifik untuk BERT dan ResNet50.

Kami menggunakan pendekatan sebelumnya untuk mengembangkan studi kinerja di dua jenis model: Bert-base-uncased (110 juta parameter, NLP) dan ResNet50 (25.6 juta parameter, CV). Tabel berikut merangkum detail model.

Tipe model Model Rincian
NLP twmkn9/bert-base-uncased-squad2 110 juta parameter Panjang urutan = 128
CV ResNet50 25.6 juta parameter

Selain itu, untuk melakukan benchmark antar tipe data (penuh, setengah presisi), kami menggunakan torch.cuda.amp, yang menyediakan metode mudah untuk menangani presisi campuran di mana beberapa operasi menggunakan torch.float32 (mengambang) tipe data dan penggunaan operasi lainnya torch.float16 (setengah). Misalnya, operator seperti lapisan linier dan konvolusi jauh lebih cepat dengan float16, sedangkan yang lain seperti pengurangan sering memerlukan rentang dinamis float32. Presisi campuran otomatis mencoba mencocokkan setiap operator dengan tipe data yang sesuai untuk mengoptimalkan runtime dan jejak memori jaringan.

Hasil benchmark

Untuk perbandingan yang adil, kami memilih G4dn.4xbesar dan G5.4xbesar instance dengan atribut serupa, seperti yang tercantum dalam tabel berikut.

Contoh GPU Memori GPU (GiB) vCPU Memori (GiB) Penyimpanan Instans (GB) Kinerja Jaringan (Gbps) Bandwidth EBS (Gbps) Harga Sesuai Permintaan Linux (kami-timur-1)
G5.4xbesar 1 24 16 64 1x600 NVMe SSD sampai dengan 25 8 $ 1.204 / jam
G4dn.4xbesar 1 16 16 64 1x225 NVMe SSD sampai dengan 25 4.75 $ 1.624 / jam

Di bagian berikut, kami membandingkan kinerja inferensi ML dari model BERT dan RESNET50 dengan pendekatan penyapuan grid untuk ukuran batch tertentu (32, 16, 8, 4, 1) dan presisi tipe data (presisi penuh dan setengah) untuk mencapai throughput vs. kurva latensi. Selain itu, kami menyelidiki pengaruh throughput vs. ukuran batch untuk presisi penuh dan setengah. Terakhir, kami mengukur biaya per juta kesimpulan sebagai fungsi dari ukuran batch. Hasil konsolidasi di seluruh eksperimen ini dirangkum nanti dalam posting ini.

Throughput vs. latensi

Gambar berikut membandingkan instans G4dn dan G5 untuk beban kerja NLP dan CV pada presisi penuh dan setengah. Dibandingkan dengan instans G4dn, instans G5 memberikan throughput sekitar lima kali lebih tinggi (presisi penuh) dan sekitar 2.5 kali lebih tinggi (setengah presisi) untuk model dasar BERT, dan sekitar 2โ€“2.5 kali lebih tinggi untuk model ResNet50. Secara keseluruhan, G5 adalah pilihan yang lebih disukai, dengan peningkatan ukuran batch untuk kedua model untuk presisi penuh dan campuran dari perspektif kinerja.

Grafik berikut membandingkan throughput dan latensi P95 pada presisi penuh dan setengah untuk BERT.

Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Grafik berikut membandingkan throughput dan latensi P95 pada presisi penuh dan setengah untuk ResNet50.

Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Throughput dan latensi vs. ukuran batch

Grafik berikut menunjukkan throughput sebagai fungsi dari ukuran batch. Pada ukuran batch rendah, akselerator tidak berfungsi dengan kapasitas penuhnya dan saat ukuran batch meningkat, throughput meningkat dengan biaya latensi. Kurva throughput asimtot ke nilai maksimum yang merupakan fungsi dari kinerja akselerator. Kurva memiliki dua fitur yang berbeda: bagian naik dan bagian datar asimtotik. Untuk model tertentu, akselerator berkinerja (G5) mampu meregangkan bagian naik ke ukuran batch yang lebih tinggi daripada G4dn dan asimtot pada throughput yang lebih tinggi. Juga, ada trade-off linier antara latensi dan ukuran batch. Oleh karena itu, jika aplikasi terikat dengan latensi, kita dapat menggunakan latensi P95 vs. ukuran batch untuk menentukan ukuran batch yang optimal. Namun, jika tujuannya adalah untuk memaksimalkan throughput pada latensi terendah, lebih baik untuk memilih ukuran batch yang sesuai dengan "lutut" antara bagian yang naik dan yang asimtotik, karena setiap peningkatan lebih lanjut dalam ukuran batch akan menghasilkan throughput yang sama pada a latensi yang lebih buruk. Untuk mencapai rasio harga-kinerja terbaik, menargetkan throughput yang lebih tinggi pada latensi terendah, Anda lebih baik menskalakan secara horizontal optimal ini melalui beberapa server inferensi daripada hanya meningkatkan ukuran batch.

Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Biaya vs. ukuran batch

Pada bagian ini, kami menyajikan hasil komparatif dari biaya inferensi ($ per juta inferensi) versus ukuran batch. Dari gambar berikut, kita dapat dengan jelas mengamati bahwa biaya (diukur sebagai $ per juta inferensi) secara konsisten lebih rendah dengan G5 vs. G4dn keduanya (presisi penuh dan setengah).

Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.

Tabel berikut merangkum perbandingan throughput, latensi, dan biaya ($ per juta inferensi) untuk model BERT dan RESNET50 di kedua mode presisi untuk ukuran batch tertentu. Terlepas dari biaya per instans yang lebih tinggi, G5 secara konsisten mengungguli G4dn di semua aspek latensi inferensi, throughput, dan biaya ($ per juta inferensi), untuk semua ukuran batch. Menggabungkan metrik yang berbeda menjadi biaya ($ per juta kesimpulan), model BERT (ukuran 32 batch, presisi penuh) dengan G5 3.7 kali lebih menguntungkan daripada G4dn, dan dengan model ResNet50 (ukuran batch 32, presisi penuh), ini adalah 1.6 kali lebih menguntungkan daripada G4dn.

Model Ukuran Batch Ketelitian

Throughput

(Ukuran batch X Permintaan/dtk)

Latensi (mdtk)

$/juta

Inferensi (Sesuai Permintaan)

Manfaat Biaya

(G5 atas G4dn)

. . . G5 G4dn G5 G4dn G5 G4dn
Bert-base-tanpa casing 32 Penuh 723 154 44 208 $0.6 $2.2 3.7X
Campur 870 410 37 79 $0.5 $0.8 1.6X
16 Penuh 651 158 25 102 $0.7 $2.1 3.0X
Campur 762 376 21 43 $0.6 $0.9 1.5X
8 Penuh 642 142 13 57 $0.7 $2.3 3.3X
Campur 681 350 12 23 $0.7 $1.0 1.4X
. 1 Penuh 160 116 6 9 $2.8 $2.9 1.0X
Campur 137 102 7 10 $3.3 $3.3 1.0X
ResNet50 32 Penuh 941 397 34 82 $0.5 $0.8 1.6X
Campur 1533 851 21 38 $0.3 $0.4 1.3X
16 Penuh 888 384 18 42 $0.5 $0.9 1.8X
Campur 1474 819 11 20 $0.3 $0.4 1.3X
8 Penuh 805 340 10 24 $0.6 $1.0 1.7X
Campur 1419 772 6 10 $0.3 $0.4 1.3X
. 1 Penuh 202 164 5 6 $2.2 $2 0.9X
Campur 196 180 5 6 $2.3 $1.9 0.8X

Tolok ukur inferensi tambahan

Selain basis BERT dan hasil ResNet50 di bagian sebelumnya, kami menyajikan hasil pembandingan tambahan untuk model NLP dan CV besar lainnya yang umum digunakan di PyTorch. Manfaat kinerja G5 dibandingkan G4dn telah disajikan untuk model BERT Large pada berbagai presisi, dan model Yolo-v5 untuk berbagai ukuran. Untuk kode untuk mereplikasi benchmark, lihat Contoh Deep Learning NVIDIA untuk Tensor Cores. Hasil ini menunjukkan manfaat penggunaan G5 dibandingkan G4dn untuk berbagai tugas inferensi yang mencakup berbagai jenis model.

Model Ketelitian Ukuran Batch Panjang Urutan Throughput (terkirim/dtk) Hasil: G4dn Mempercepat Lebih dari G4dn
BERT-besar FP16 1 128 93.5 40.31 2.3
BERT-besar FP16 4 128 264.2 87.4 3.0
BERT-besar FP16 8 128 392.1 107.5 3.6
BERT-besar FP32 1 128 68.4 22.67 3.0
BERT-besar 4 128 118.5 32.21 3.7
BERT-besar 8 128 132.4 34.67 3.8
Model GFLOPS Jumlah Parameter Prapemrosesan (ms) Inferensi (md) Inferensi (Penekanan non-maks) (NMS/gambar)
YOLOv5s 16.5 7.2M 0.2 3.6 4.5
YOLOv5m 49.1 21M 0.2 6.5 4.5
YOLOv5l 109.3 46M 0.2 9.1 3.5
YOLOv5x 205.9 86M 0.2 14.4 1.3

Kesimpulan

Dalam posting ini, kami menunjukkan bahwa untuk inferensi dengan model NLP dan CV PyTorch besar, instans EC2 G5 adalah pilihan yang lebih baik dibandingkan dengan instans G4dn. Meskipun biaya per jam sesuai permintaan untuk instans G5 lebih tinggi daripada instans G4dn, kinerjanya yang lebih tinggi dapat mencapai 2โ€“5 kali throughput pada presisi apa pun untuk model NLP dan CV, yang membuat biaya per juta inferensi 1.5โ€“3.5 kali lebih menguntungkan daripada instans G4dn. Bahkan untuk aplikasi terikat latensi, G5 2.5โ€“5 kali lebih baik daripada G4dn untuk model NLP dan CV.

Singkatnya, instans AWS G5 adalah pilihan yang sangat baik untuk kebutuhan inferensi Anda dari perspektif kinerja dan biaya per inferensi. Universalitas kerangka kerja CUDA serta skala dan kedalaman kumpulan instans G5 di AWS memberi Anda kemampuan unik untuk melakukan inferensi dalam skala besar.


Tentang penulis

Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Ankur Srivastava adalah Sr. Solutions Architect di ML Frameworks Team. Dia berfokus untuk membantu pelanggan dengan pelatihan terdistribusi yang dikelola sendiri dan inferensi dalam skala besar di AWS. Pengalamannya meliputi pemeliharaan prediktif industri, kembar digital, optimisasi desain probabilistik dan telah menyelesaikan studi doktoralnya dari Teknik Mesin di Rice University dan penelitian pasca-doktoral dari Massachusetts Institute of Technology.

Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Sundar Ranganathan adalah Kepala Pengembangan Bisnis, Kerangka ML di tim Amazon EC2. Dia berfokus pada beban kerja ML skala besar di seluruh layanan AWS seperti Amazon EKS, Amazon ECS, Adaptor Fabric Elastis, AWS Batch, dan Amazon SageMaker. Pengalamannya mencakup peran kepemimpinan dalam manajemen produk dan pengembangan produk di NetApp, Micron Technology, Qualcomm, dan Mentor Graphics.

Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai.Mahadewa Balasubramaniam adalah Arsitek Solusi Utama untuk Komputasi Otonom dengan pengalaman hampir 20 tahun di bidang pembelajaran mendalam yang diresapi fisika, membangun, dan menerapkan kembar digital untuk sistem industri dalam skala besar. Mahadevan memperoleh gelar PhD di bidang Teknik Mesin dari Massachusetts Institute of Technology dan memiliki lebih dari 25 paten dan publikasi.

Raih throughput inferensi ML empat kali lebih tinggi dengan biaya per inferensi tiga kali lebih rendah dengan instans G2 Amazon EC5 untuk model NLP dan CV PyTorch PlatoBlockchain Data Intelligence. Pencarian Vertikal. Ai. Amr Ragab adalah Arsitek Solusi Utama untuk EC2 Accelerated Platforms untuk AWS, yang ditujukan untuk membantu pelanggan menjalankan beban kerja komputasi dalam skala besar. Di waktu luangnya, dia suka bepergian dan menemukan cara baru untuk mengintegrasikan teknologi ke dalam kehidupan sehari-hari.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS