Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS

Visi Amazon Search adalah memungkinkan pelanggan mencari dengan mudah. Koreksi ejaan kami membantu Anda menemukan apa yang Anda inginkan bahkan jika Anda tidak tahu ejaan yang tepat dari kata-kata yang dimaksud. Di masa lalu, kami menggunakan algoritme pembelajaran mesin (ML) klasik dengan rekayasa fitur manual untuk koreksi ejaan. Untuk membuat lompatan generasi berikutnya dalam kinerja koreksi ejaan, kami merangkul sejumlah pendekatan pembelajaran mendalam, termasuk model urutan-ke-urutan. Model deep learning (DL) membutuhkan komputasi intensif baik dalam pelatihan maupun inferensi, dan biaya ini secara historis membuat model DL tidak praktis dalam pengaturan produksi pada skala Amazon. Dalam posting ini, kami menyajikan hasil eksperimen pengoptimalan inferensi di mana kami mengatasi hambatan tersebut dan mencapai kecepatan inferensi 534% untuk Transformer Hugging Face T5 yang populer.

Menantang

Transformator Transfer Teks-ke-Teks (T5, Menjelajahi Batasan Pembelajaran Transfer dengan Transformator Teks-ke-Teks Terpadu, Reffel et al) adalah arsitektur model pemrosesan bahasa alami (NLP) yang canggih. T5 adalah arsitektur yang menjanjikan untuk koreksi ejaan, yang kami temukan berkinerja baik dalam eksperimen kami. Model T5 mudah untuk diteliti, dikembangkan, dan dilatih, berkat kerangka kerja pembelajaran mendalam sumber terbuka dan penelitian akademis dan perusahaan yang berkelanjutan.

Namun, sulit untuk mencapai tingkat produksi, inferensi latensi rendah dengan T5. Misalnya, satu inferensi dengan PyTorch T5 membutuhkan waktu 45 milidetik pada salah satu dari empat GPU NVIDIA V100 Tensor Core yang melengkapi instans p2xlarge Amazon Elastic Compute Cloud (EC3.8). (Semua nomor inferensi yang dilaporkan adalah untuk input 9 token dan output 11 token. Latensi arsitektur T5 sensitif terhadap panjang input dan output.)

Inferensi T5 berlatensi rendah dan hemat biaya pada skala adalah kesulitan yang diketahui yang telah dilaporkan oleh beberapa pelanggan AWS di luar Amazon Search, yang meningkatkan motivasi kami untuk berkontribusi pada postingan ini. Untuk beralih dari pencapaian ilmiah offline ke layanan produksi yang dihadapi pelanggan, Amazon Search menghadapi tantangan berikut:

  • Latensi โ€“ Bagaimana mewujudkan inferensi T5 dalam latensi P50 kurang dari 99 milidetik
  • Throughput โ€“ Bagaimana menangani permintaan inferensi serentak berskala besar
  • Penghematan biaya โ€“ Bagaimana menjaga biaya tetap terkendali

Di sisa posting ini, kami menjelaskan bagaimana tumpukan pengoptimalan inferensi NVIDIA โ€” yaitu NVIDIA TensorRT kompiler dan sumber terbuka Server Inferensi NVIDIA Tritonโ€”menyelesaikan tantangan tersebut. Membaca Siaran pers NVIDIA untuk mempelajari tentang pembaruan.

NVIDIA TensorRT: Mengurangi biaya dan latensi dengan pengoptimalan inferensi

Kerangka kerja pembelajaran yang mendalam nyaman untuk diulang dengan cepat pada sains, dan dilengkapi dengan banyak fungsi untuk pemodelan ilmiah, pemuatan data, dan pengoptimalan pelatihan. Namun, sebagian besar alat tersebut kurang optimal untuk inferensi, yang hanya membutuhkan satu set operator minimal untuk fungsi perkalian dan aktivasi matriks. Oleh karena itu, keuntungan yang signifikan dapat diwujudkan dengan menggunakan aplikasi khusus prediksi saja alih-alih menjalankan inferensi dalam kerangka pengembangan pembelajaran mendalam.

NVIDIA TensorRT adalah SDK untuk inferensi pembelajaran mendalam berkinerja tinggi. TensorRT menghadirkan runtime yang dioptimalkan, menggunakan kernel yang dioptimalkan tingkat rendah yang tersedia di GPU NVIDIA, dan grafik model khusus inferensi, yang mengatur ulang komputasi inferensi dalam urutan yang dioptimalkan.

Di bagian berikut, kita akan membicarakan detail yang terjadi di balik TensorRT dan cara mempercepat kinerjanya.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

  1. Mengurangi Presisi memaksimalkan throughput dengan FP16 atau INT8 dengan mengkuantisasi model sambil mempertahankan kebenaran.
  2. Penggabungan Lapisan dan Tensor mengoptimalkan penggunaan memori GPU dan bandwidth dengan menggabungkan node dalam kernel untuk menghindari latensi peluncuran kernel.
  3. Penyetelan Otomatis Kernel memilih lapisan dan algoritme data terbaik berdasarkan platform GPU target dan bentuk kernel data.
  4. Memori Tensor Dinamis meminimalkan jejak memori dengan membebaskan konsumsi memori yang tidak perlu dari hasil antara dan menggunakan kembali memori untuk tensor secara efisien.
  5. Eksekusi Multi-Aliran menggunakan desain yang dapat diskalakan untuk memproses beberapa aliran input secara paralel dengan aliran CUDA khusus.
  6. Penggabungan Waktu mengoptimalkan jaringan saraf berulang dari waktu ke waktu dengan kernel yang dihasilkan secara dinamis.

T5 menggunakan lapisan transformator sebagai blok bangunan untuk arsitekturnya. Rilis terbaru NVIDIA TensorRT 8.2 memperkenalkan pengoptimalan baru untuk model T5 dan GPT-2 untuk inferensi waktu nyata. Pada tabel berikut, kita dapat melihat percepatan dengan TensorRT pada beberapa model T5 publik yang berjalan pada instans Amazon EC2G4dn, yang didukung oleh GPU NVIDIA T4 dan instans EC2 G5, yang didukung oleh GPU NVIDIA A10G.

 

Model Contoh Latensi Pytorch Dasar (md) TensorRT 8.2 Latensi (md) Percepatan vs. garis dasar HF
FP32 FP32 FP16 FP32 FP16
encoder Decoder Ujung ke ujung encoder Decoder Ujung ke ujung encoder Decoder Ujung ke ujung Ujung ke ujung Ujung ke ujung
t5-kecil g4dn.xlarge 5.98 9.74 30.71 1.28 2.25 7.54 0.93 1.59 5.91 407.40% 519.34%
g5.xlarge 4.63 7.56 24.22 0.61 1.05 3.99 0.47 0.80 3.19 606.66% 760.01%
t5-basis g4dn.xlarge 11.61 19.05 78.44 3.18 5.45 19.59 3.15 2.96 13.76 400.48% 569.97%
g5.xlarge 8.59 14.23 59.98 1.55 2.47 11.32 1.54 1.65 8.46 530.05% 709.20%

Untuk informasi lebih lanjut tentang pengoptimalan dan replikasi kinerja terlampir, lihat Mengoptimalkan T5 dan GPT-2 untuk Inferensi Real-Time dengan NVIDIA TensorRT.

Penting untuk dicatat bahwa kompilasi mempertahankan akurasi model, karena beroperasi pada lingkungan inferensi dan penjadwalan komputasi, sehingga ilmu model tidak berubah โ€“ tidak seperti kompresi penghilangan bobot seperti distilasi atau pemangkasan. NVIDIA TensorRT memungkinkan untuk menggabungkan kompilasi dengan kuantisasi untuk keuntungan lebih lanjut. Kuantisasi memiliki manfaat ganda pada perangkat keras NVIDIA terbaru: ini mengurangi penggunaan memori, dan memungkinkan penggunaan NVIDIA Tensor Cores, sel khusus DL yang menjalankan matriks-gandakan-tambahkan dalam presisi campuran.

Dalam kasus eksperimen Amazon Search dengan model Hugging Face T5, mengganti PyTorch dengan TensorRT untuk inferensi model meningkatkan kecepatan sebesar 534%.

NVIDIA Triton: Latensi rendah, penyajian inferensi throughput tinggi

Solusi penyajian model modern dapat mengubah model terlatih offline menjadi produk yang didukung ML yang berorientasi pada pelanggan. Untuk mempertahankan biaya yang wajar pada skala seperti itu, penting untuk tetap melayani overhead rendah (penanganan HTTP, prapemrosesan dan pascapemrosesan, komunikasi CPU-GPU), dan sepenuhnya memanfaatkan kemampuan pemrosesan paralel GPU.

NVIDIA Triton adalah perangkat lunak penyajian inferensi yang menawarkan dukungan luas untuk runtime model (NVIDIA TensorRT, ONNX, PyTorch, XGBoost antara lain) dan backend infrastruktur, termasuk GPU, CPU dan Inferensi AWS.

Praktisi ML menyukai Triton karena berbagai alasan. Kemampuan batching dinamisnya memungkinkan untuk mengakumulasi permintaan inferensi selama penundaan yang ditentukan pengguna dan dalam ukuran batch maksimal yang ditentukan pengguna, sehingga inferensi GPU dikelompokkan, mengamortisasi overhead komunikasi CPU-GPU. Perhatikan bahwa pengelompokan dinamis terjadi di sisi server dan dalam kerangka waktu yang sangat singkat, sehingga klien yang meminta masih memiliki pengalaman pemanggilan yang hampir real-time sinkron. Pengguna Triton juga menikmati kapasitas eksekusi model bersamaan. GPU adalah multitasker andal yang unggul dalam mengeksekusi beban kerja intensif komputasi secara paralel. Triton memaksimalkan pemanfaatan dan throughput GPU dengan menggunakan aliran CUDA untuk menjalankan beberapa instans model secara bersamaan. Instance model ini dapat berupa model yang berbeda dari kerangka kerja yang berbeda untuk kasus penggunaan yang berbeda, atau salinan langsung dari model yang sama. Ini berarti peningkatan throughput langsung ketika Anda memiliki cukup memori GPU idle. Juga, karena Triton tidak terikat pada kerangka pengembangan DL tertentu, ini memungkinkan ilmuwan untuk sepenuhnya mengekspresikan diri, dalam alat pilihan mereka.

Dengan Triton di AWS, Amazon Search berharap dapat melayani dengan lebih baik Amazon.com pelanggan dan memenuhi persyaratan latensi dengan biaya rendah. Integrasi yang erat antara runtime TensorRT dan server Triton memfasilitasi pengalaman pengembangan. Menggunakan infrastruktur cloud AWS memungkinkan untuk meningkatkan atau menurunkan dalam hitungan menit berdasarkan persyaratan throughput, sambil mempertahankan standar tinggi atau keandalan dan keamanan.

Bagaimana AWS menurunkan hambatan masuk

Sementara Amazon Search melakukan eksperimen ini pada infrastruktur Amazon EC2, layanan AWS lainnya ada untuk memfasilitasi pengembangan, pelatihan, dan hosting solusi pembelajaran mendalam yang canggih.

Misalnya, AWS dan NVIDIA telah berkolaborasi untuk merilis implementasi terkelola dari Triton Inference Server di Amazon SageMaker ; untuk informasi lebih lanjut, lihat Terapkan AI yang cepat dan skalabel dengan Server Inferensi NVIDIA Triton di Amazon SageMaker. AWS juga berkolaborasi dengan Hugging Face untuk mengembangkan integrasi terkelola dan dioptimalkan antara Amazon SageMaker dan Hugging Face Transformers, kerangka kerja sumber terbuka yang menjadi sumber model Amazon Search T5 ; baca selengkapnya di https://aws.amazon.com/machine-learning/hugging-face/.

Kami mendorong pelanggan dengan aplikasi penyajian pembelajaran dalam CPU dan GPU yang peka terhadap latensi untuk mempertimbangkan NVIDIA TensorRT dan Triton di AWS. Beri tahu kami apa yang Anda bangun!

Tertarik dengan pembelajaran mendalam dan membangun solusi berbasis pembelajaran mendalam untuk Amazon Search? Lihat kami halaman karir.


Tentang Penulis

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.RJ adalah seorang insinyur di tim Search M5 yang memimpin upaya membangun sistem pembelajaran mendalam skala besar untuk pelatihan dan inferensi. Di luar pekerjaan ia menjelajahi berbagai masakan makanan dan bermain olahraga raket.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Hemant Pugaliya adalah Ilmuwan Terapan di Search M5. Dia berupaya menerapkan pemrosesan bahasa alami terbaru dan penelitian pembelajaran mendalam untuk meningkatkan pengalaman pelanggan berbelanja Amazon di seluruh dunia. Minat penelitiannya meliputi pemrosesan bahasa alami dan sistem pembelajaran mesin skala besar. Di luar pekerjaan, ia menikmati hiking, memasak, dan membaca.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.andi matahari adalah Insinyur Perangkat Lunak dan Pimpinan Teknis untuk Koreksi Ejaan Penelusuran. Minat penelitiannya termasuk mengoptimalkan latensi inferensi pembelajaran mendalam, dan membangun platform eksperimen cepat. Di luar pekerjaan, ia menikmati pembuatan film, dan akrobat.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Le Cai adalah Insinyur Perangkat Lunak di Amazon Search. Dia berupaya meningkatkan kinerja Koreksi Ejaan Penelusuran untuk membantu pelanggan dengan pengalaman berbelanja mereka. Dia berfokus pada inferensi online berkinerja tinggi dan pengoptimalan pelatihan terdistribusi untuk model pembelajaran mendalam. Di luar pekerjaan, ia menikmati ski, hiking, dan bersepeda.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Anton Ko saat ini bekerja sebagai insinyur perangkat lunak di Search M5 Palo Alto, CA. Dia bekerja untuk membangun alat dan produk untuk penerapan model dan pengoptimalan inferensi. Di luar pekerjaan, ia menikmati memasak dan bermain olahraga raket.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Olivier Cruchant adalah Arsitek Solusi Spesialis Pembelajaran Mesin di AWS, yang berbasis di Prancis. Olivier membantu pelanggan AWS โ€“ mulai dari perusahaan rintisan kecil hingga perusahaan besar โ€“ mengembangkan dan menerapkan aplikasi pembelajaran mesin tingkat produksi. Di waktu luangnya, ia senang membaca makalah penelitian dan menjelajahi alam liar bersama teman dan keluarga.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Anish Mohan adalah Arsitek Pembelajaran Mesin di NVIDIA dan pemimpin teknis untuk interaksi ML dan DL dengan pelanggannya di wilayah Seattle yang lebih luas.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Jia Hong Liu adalah Arsitek Solusi di tim Penyedia Layanan Cloud di NVIDIA. Dia membantu klien dalam mengadopsi pembelajaran mesin dan solusi AI yang memanfaatkan komputasi akselerasi NVIDIA untuk mengatasi tantangan pelatihan dan inferensi mereka. Di waktu senggang, ia menikmati origami, proyek DIY, dan bermain basket.

Bagaimana Amazon Search mencapai inferensi T5 latensi rendah dan throughput tinggi dengan NVIDIA Triton di AWS PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.Eliut Triana adalah Manajer Hubungan Pengembang di NVIDIA. Dia menghubungkan pemimpin produk, pengembang, dan ilmuwan Amazon dan AWS dengan teknologi dan pemimpin produk NVIDIA untuk mempercepat beban kerja Amazon ML/DL, produk EC2, dan layanan AI AWS. Selain itu, Eliuth adalah pengendara sepeda gunung, pemain ski, dan pemain poker yang bersemangat.

Stempel Waktu:

Lebih dari Pembelajaran Mesin AWS