AWS Neuron

SDK mengoptimalkan inferensi machine learning pada chip AWS Inferentia

AWS Neuron merupakan kit pengembangan perangkat lunak (SDK) untuk menjalankan inferensi machine learning menggunakan chip AWS Inferentia. AWS Neuron terdiri dari alat pengompilasi, waktu aktif, dan pembuat profil yang memungkinkan developer menjalankan inferensi latensi rendah dan berperforma tinggi menggunakan instans Inf1 Amazon EC2 berbasis AWS Inferentia. Dengan Neuron, developer bisa dengan mudah melatih model machine learning mereka pada kerangka kerja populer seperti TensorFlow, PyTorch, dan MXNet, dan menjalankannya secara optimal di instans Inf1 Amazon EC2. Anda bisa terus menggunakan kerangka kerja ML yang sama dengan yang digunakan saat ini dan memigrasikan perangkat lunak Anda ke instans Inf1 dengan perubahan kode minimal dan tanpa terikat dengan solusi khusus vendor.

Cara termudah dan tercepat untuk mulai menggunakan instans Inf1 adalah Amazon SageMaker, layanan terkelola penuh yang memungkinkan ilmuwan dan developer data untuk membangun, melatih, dan men-deploy model machine learning. Developer yang lebih suka mengelola alur kerja machine learning mereka sendiri akan menganggap bahwa AWS Neuron mudah diintegrasikan ke dalam alur kerja mereka yang ada dan yang akan datang karena terintegrasi secara native dengan kerangka kerja populer yang mencakup TensorFlow, PyTorch, dan MXNet. Neuron telah diinstal sebelumnya di AMI Deep Learning AWS serta di AWS Deep Learning Containers. Pelanggan yang menggunakan aplikasi terkontainer bisa men-deploy Neuron menggunakan Amazon ECS, Amazon EKS, atau mesin penampung native pilihan mereka.

Manfaat

Mudah digunakan

AWS Neuron SDK terintegrasi dengan kerangka kerja populer seperti TensorFlow, PyTorch, dan MXNet. AWS Neuron SDK ini telah diinstal sebelumnya di AMI Amazon Deep Learning dan Amazon Deep Learning Containers agar pelanggan bisa segera memulai menjalankan inferensi berperforma tinggi dan hemat biaya pada instans Inf1 Amazon EC2, yang menyertakan chip AWS Inferentia.

Performa optimal

AWS Neuron SDK memungkinkan pemrograman dan akses waktu aktif yang efisien ke chip Inferentia. AWS Neuron SDK menyediakan kemampuan lanjutan seperti Auto Casting, yang secara otomatis mengubah model FP32 (32-bit floating point) yang dioptimalkan untuk akurasi ke bfloat 16-bit untuk memaksimalkan throughput pemrosesan. Developer bisa lebih meningkatkan performa dengan memanfaatkan fitur Neuron seperti model paralelisme, batching, atau Grup NeuronCore, memungkinkan paralelisme data dari model yang sama atau berbeda berjalan secara paralel untuk throughput maksimum.

Fleksibilitas dan pilihan

Karena Neuron terintegrasi dengan kerangka kerja machine learning umum, developer men-deploy model yang ada ke instans Inf1 EC2 dengan sedikit perubahan kode. Ini memberi kebebasan untuk mempertahankan portabilitas perangkat keras dan memanfaatkan teknologi terbaru tanpa terikat dengan pustaka perangkat lunak khusus vendor. Dengan menggunakan Neuron, developer bisa men-deploy banyak model machine learning yang umum digunakan seperti single shot detector (SSD) dan ResNet untuk pengenalan/klasifikasi gambar serta Transformer dan BERT untuk pemrosesan dan terjemahan bahasa alami. Selain itu, dukungan untuk repositori model HuggingFace di Neuron memberi pelanggan kemampuan untuk menyusun dan menjalankan inferensi menggunakan model yang dilatih sebelumnya – atau bahkan yang disetel, dengan mudah, cukup dengan mengubah satu baris kode.

Fitur

Penyekatan Cerdas

AWS Neuron secara otomatis mengoptimalkan komputasi neural-net untuk menjalankan tugas intensif di Inferentia dan tugas lain di CPU untuk meningkatkan performa secara keseluruhan. 

FP32 Autocasting

AWS Neuron mengambil model terlatih FP32 presisi tinggi dan meng-autocast model ke BF16 untuk inferensi throughput tinggi dengan biaya lebih rendah dan kecepatan lebih tinggi dari tipe data 16-bit. 

Alur NeuronCore

Alur NeuronCore memungkinkan paralelisme model throughput tinggi untuk aplikasi yang sensitif terhadap latensi seperti pemrosesan bahasa alami dengan membagi grafik komputasi di beberapa NeuronCore, menyimpan parameter model di memori on-chip setiap inti, kemudian mengalirkan permintaan inferensi di seluruh inti melalui alur. 

Grup NeuronCore

Grup NeuronCore memungkinkan developer untuk secara bersamaan men-deploy beberapa model untuk memanfaatkan sumber daya perangkat keras secara optimal dengan menjalankan berbagai model berbeda pada setiap grup.

Batching yang Dioptimalkan

AWS Neuron mengoptimalkan beban kerja pada chip Inferentia untuk mencapai pemanfaatan maksimal pada batch kecil, yang memungkinkan performa tinggi untuk aplikasi yang memiliki persyaratan waktu respons yang ketat.

Cara kerjanya

Chip AWS Inferentia

AWS Inferentia adalah chip intereferensi machine learning yang dirancang dan dibuat oleh AWS untuk menghasilkan kinerja tinggi berbiaya rendah. Setiap chip AWS Inferentia memiliki 4 Core Neuron dan mendukung jenis data FP16, BF16, dan INT8. Chip AWS Inferentia mengunggulkan sejumlah besar memori pada chip yang bisa digunakan untuk membuat cache model besar, yang secara khusus bermanfaat untuk model yang sering memerlukan akses memori.

Pelajari selengkapnya »

Instans Inf1 Amazon EC2

Instans Inf1 Amazon EC2 berbasis pada chip AWS Inferentia menghasilkan throughput 2,3x lebih tinggi dan biaya per inferensi hingga 70% lebih rendah daripada instans Amazon EC2 berbasis GPU generasi saat ini yang sebanding. Instans Inf1 menyertakan hingga 16 chip AWS Inferentia, prosesor Intel® Xeon® Scalable generasi ke-2 kustom yang terbaru, dan jaringan hingga 100 Gbps untuk memungkinkan inferensi throughput yang tinggi.

Pelajari selengkapnya »

Memulai

Rujuk ke dokumentasi untuk tutorial, panduan praktis, catatan aplikasi, dan panduan (roadmap).
Untuk bantuan lebih lanjut, forum developer tersedia melalui konsol AWS atau di: https://forums.aws.amazon.com/forum.jspa?forumID=355