Beberapa tahun terakhir telah melihat pertumbuhan pesat di bidang pemrosesan bahasa alami (NLP) menggunakan transformator arsitektur pembelajaran yang mendalam. Dengan perpustakaan sumber terbuka Transformers dan platform pembelajaran mesin (ML), Hugging Face membuat pembelajaran transfer dan model transformator terbaru dapat diakses oleh komunitas AI global. Hal ini dapat mengurangi waktu yang dibutuhkan ilmuwan data dan insinyur ML di perusahaan di seluruh dunia untuk memanfaatkan setiap kemajuan ilmiah baru. Amazon SageMaker dan Hugging Face telah berkolaborasi untuk menyederhanakan dan mempercepat adopsi model transformator dengan Memeluk Wajah DLC, integrasi dengan Kompilator Pelatihan SageMaker, dan Pustaka terdistribusi SageMaker.
SageMaker memberikan pilihan yang berbeda bagi praktisi ML untuk menerapkan model transformator terlatih untuk menghasilkan inferensi:
- Titik akhir inferensi waktu nyata, yang cocok untuk beban kerja yang perlu diproses dengan persyaratan latensi rendah dalam orde milidetik.
- Transformasi batch, yang ideal untuk prediksi offline pada kumpulan data yang besar.
- Inferensi asinkron, yang ideal untuk beban kerja yang membutuhkan ukuran muatan besar (hingga 1 GB) dan waktu pemrosesan inferensi yang lama (hingga 15 menit). Inferensi asinkron memungkinkan Anda menghemat biaya dengan menskalakan jumlah instans secara otomatis ke nol saat tidak ada permintaan untuk diproses.
- Inferensi Tanpa Server, yang merupakan opsi inferensi baru yang dibuat khusus yang memudahkan Anda untuk menerapkan dan menskalakan model ML.
Dalam posting ini, kami mengeksplorasi cara menggunakan Inferensi Tanpa Server SageMaker untuk menerapkan model transformator Hugging Face dan mendiskusikan kinerja inferensi dan efektivitas biaya dalam skenario yang berbeda.
Ikhtisar solusi
AWS baru-baru ini mengumumkan Ketersediaan Umum SageMaker Serverless Inference, opsi inferensi tanpa server yang dibuat khusus yang memudahkan Anda untuk menerapkan dan menskalakan model ML. Dengan Inferensi Tanpa Server, Anda tidak perlu menyediakan kapasitas dan memperkirakan pola penggunaan di muka. Akibatnya, ini menghemat waktu Anda dan menghilangkan kebutuhan untuk memilih jenis instans dan mengelola kebijakan penskalaan. Titik akhir Inferensi Tanpa Server secara otomatis memulai, menskalakan, dan mematikan kapasitas, dan Anda hanya membayar selama menjalankan kode inferensi dan jumlah data yang diproses, bukan untuk waktu idle. Inferensi tanpa server sangat ideal untuk aplikasi dengan pola lalu lintas yang kurang dapat diprediksi atau terputus-putus. Mengunjungi Inferensi Tanpa Server untuk mempelajari lebih lanjut.
Sejak peluncuran pratinjaunya di AWS re:Invent 2021, kami telah melakukan peningkatan berikut:
- Ketersediaan Umum di semua Wilayah komersial tempat SageMaker tersedia secara umum (kecuali Wilayah AWS China).
- Peningkatan pemanggilan serentak maksimum per batas titik akhir menjadi 200 (dari 50 selama pratinjau), memungkinkan Anda untuk menangani beban kerja lalu lintas tinggi.
- Menambahkan dukungan untuk SageMaker Python SDK, mengabstraksi kompleksitas dari proses penerapan model ML.
- Ditambahkan pendaftaran model mendukung. Anda dapat mendaftarkan model Anda di registri model dan menerapkan langsung ke titik akhir tanpa server. Ini memungkinkan Anda untuk mengintegrasikan titik akhir Inferensi Tanpa Server SageMaker Anda dengan alur kerja MLOps Anda.
Mari kita telusuri cara menerapkan model Wajah Memeluk di Inferensi Tanpa Server SageMaker.
Terapkan model Wajah Memeluk menggunakan Inferensi Tanpa Server SageMaker
Kerangka kerja Hugging Face didukung oleh SageMaker, dan Anda dapat langsung menggunakan SageMaker Python SDK untuk menerapkan model ke titik akhir Inferensi Tanpa Server hanya dengan menambahkan beberapa baris dalam konfigurasi. Kami menggunakan SageMaker Python SDK dalam skrip contoh kami. Jika Anda memiliki model dari kerangka kerja berbeda yang membutuhkan lebih banyak penyesuaian, Anda dapat menggunakan AWS SDK untuk Python (Boto3) untuk menerapkan model pada titik akhir Inferensi Tanpa Server. Untuk lebih jelasnya, lihat Menerapkan model ML menggunakan SageMaker Serverless Inference (Pratinjau).
Pertama, Anda perlu membuat HuggingFaceModel
. Anda dapat memilih model yang ingin Anda terapkan pada Memeluk Wajah Hub; sebagai contoh, distilbert-base-tanpa casing-dihaluskan-sst-2-english. Model ini adalah pos pemeriksaan yang disesuaikan untuk DistiBERT-base-uncased, disempurnakan pada SST-2. Lihat kode berikut:
Setelah Anda menambahkan HuggingFaceModel
kelas, Anda perlu mendefinisikan ServerlessInferenceConfig
, yang berisi konfigurasi titik akhir Inferensi Tanpa Server, yaitu ukuran memori dan jumlah maksimum pemanggilan serentak untuk titik akhir. Setelah itu, Anda dapat menerapkan titik akhir Inferensi Tanpa Server dengan deploy
Metode:
Posting ini mencakup cuplikan kode sampel untuk menerapkan model Hugging Face pada titik akhir Inferensi Tanpa Server. Untuk contoh kode Python langkah-demi-langkah dengan instruksi terperinci, lihat yang berikut buku catatan.
Kinerja inferensi
Inferensi Tanpa Server SageMaker sangat menyederhanakan hosting untuk transformator tanpa server atau model pembelajaran mendalam. Namun, waktu prosesnya dapat bervariasi tergantung pada pengaturan konfigurasi. Anda dapat memilih ukuran memori titik akhir Inferensi Tanpa Server dari 1024 MB (1 GB) hingga 6144 MB (6 GB). Secara umum, ukuran memori setidaknya harus sebesar ukuran model. Namun, ini adalah praktik yang baik untuk merujuk pada penggunaan memori saat menentukan ukuran memori titik akhir, selain ukuran model itu sendiri.
Inferensi Tanpa Server terintegrasi dengan AWS Lambda untuk menawarkan ketersediaan tinggi, toleransi kesalahan bawaan, dan penskalaan otomatis. Meskipun Inferensi Tanpa Server menetapkan sumber daya komputasi secara otomatis sebanding dengan ukuran model, ukuran memori yang lebih besar menyiratkan bahwa container akan memiliki akses ke lebih banyak vCPU dan memiliki lebih banyak daya komputasi. Namun, pada tulisan ini, Serverless Inference hanya mendukung CPU dan tidak mendukung GPU.
Di sisi lain, dengan Inferensi Tanpa Server, Anda dapat mengharapkan cold start ketika titik akhir tidak memiliki lalu lintas untuk sementara waktu dan tiba-tiba menerima permintaan inferensi, karena akan membutuhkan waktu untuk memutar sumber daya komputasi. Mulai dingin juga dapat terjadi selama penskalaan, seperti jika permintaan serentak baru melebihi permintaan serentak sebelumnya. Durasi cold start bervariasi dari di bawah 100 milidetik hingga beberapa detik, bergantung pada ukuran model, berapa lama waktu yang dibutuhkan untuk mengunduh model, serta waktu startup container. Untuk informasi lebih lanjut tentang pemantauan, lihat Pantau Amazon SageMaker dengan Amazon CloudWatch.
Dalam tabel berikut, kami merangkum hasil eksperimen yang dilakukan untuk mengumpulkan informasi latensi endpoint Inferensi Tanpa Server pada berbagai model Hugging Face dan ukuran memori endpoint yang berbeda. Sebagai masukan, digunakan muatan dengan panjang 128 urutan. Latensi model meningkat ketika ukuran model menjadi besar; nomor latensi terkait dengan model secara khusus. Latensi model keseluruhan dapat ditingkatkan dengan berbagai cara, termasuk mengurangi ukuran model, skrip inferensi yang lebih baik, memuat model dengan lebih efisien, dan kuantisasi.
Model-Id | tugas | Ukuran Model | Ukuran Memori | Rata-rata Latensi Model |
Model Latensi p99 |
Latensi Overhead Biasa saja |
Latensi Overhead p99 |
distilbert-base-tanpa casing-dihaluskan-sst-2-english | Klasifikasi teks | 255 MB | 4096 MB | 220 ms | 243 ms | 17 ms | 43 ms |
xlm-roberta-besar-diperbaiki-conll03-bahasa inggris | Klasifikasi token | 2.09 GB | 5120 MB | 1494 ms | 1608 ms | 18 ms | 46 ms |
deepset/roberta-base-squad2 | Menjawab pertanyaan | 473 MB | 5120 MB | 451 ms | 468 ms | 18 ms | 31 ms |
google/pegasus-xsum | Peringkasan | 2.12 GB | 6144 MB | 22501 ms | 32516 ms | 27 ms | 97 ms |
sshleifer/distilbart-cnn-12-6 | Peringkasan | 1.14 GB | 6144 MB | 12683 ms | 18669 ms | 25 ms | 53 ms |
Mengenai performa harga, kita dapat menggunakan model DistilBERT sebagai contoh dan membandingkan opsi inferensi tanpa server dengan instans ml.t2.medium (2 vCPU, Memori 4 GB, $42 per bulan) pada titik akhir waktu nyata. Dengan titik akhir waktu nyata, DistilBERT memiliki latensi p99 240 milidetik dan total latensi permintaan 251 milidetik. Sedangkan pada tabel sebelumnya, Serverless Inference memiliki latensi model p99 sebesar 243 milidetik dan latensi overhead p99 sebesar 43 milidetik. Dengan Inferensi Tanpa Server, Anda hanya membayar untuk kapasitas komputasi yang digunakan untuk memproses permintaan inferensi, ditagih per milidetik, dan jumlah data yang diproses. Oleh karena itu, kami dapat memperkirakan biaya menjalankan model DistilBERT (distilbert-base-uncased-finetuned-sst-2-english
, dengan perkiraan harga untuk us-east-1
wilayah) sebagai berikut:
- Total waktu permintaan โ 243 md + 43 md = 286 md
- Biaya komputasi (4096 MB) โ $0.000080 USD per detik
- 1 permintaan biaya โ 1 * 0.286 * $0.000080 = $0.00002288
- biaya 1 ribu permintaan โ 1,000 * 0.286 * $0.000080 = $0.02288
- 1 juta permintaan biaya โ 1,000,000 * 0.286 * $0.000080 = $22.88
Gambar berikut adalah perbandingan biaya untuk model Wajah Memeluk yang berbeda pada Inferensi Tanpa Server SageMaker vs. inferensi waktu nyata (menggunakan instans ml.t2.medium).
Seperti yang Anda lihat, Inferensi Tanpa Server adalah opsi hemat biaya saat lalu lintas terputus-putus atau rendah. Jika Anda memiliki persyaratan latensi inferensi yang ketat, pertimbangkan untuk menggunakan inferensi waktu nyata dengan daya komputasi yang lebih tinggi.
Kesimpulan
Hugging Face dan AWS mengumumkan kemitraan di awal tahun 2022 yang semakin memudahkan untuk melatih model Hugging Face di SageMaker. Fungsionalitas ini tersedia melalui pengembangan Memeluk Wajah AWS DLC. Wadah ini mencakup Pustaka Hugging Face Transformers, Tokenizers, dan Datasets, yang memungkinkan kami menggunakan sumber daya ini untuk pelatihan dan pekerjaan inferensi. Untuk daftar gambar DLC yang tersedia, lihat Tersedia Gambar Deep Learning Containers. Mereka dipelihara dan diperbarui secara teratur dengan patch keamanan. Banyak contoh cara melatih model Hugging Face dengan DLC ini dapat kita temukan berikut ini: GitHub repo.
Dalam posting ini, kami memperkenalkan bagaimana Anda dapat menggunakan Inferensi Tanpa Server SageMaker yang baru diumumkan untuk menerapkan model Hugging Face. Kami menyediakan cuplikan kode mendetail menggunakan SageMaker Python SDK untuk menerapkan model Hugging Face dengan SageMaker Serverless Inference. Kami kemudian menyelam jauh ke dalam latensi inferensi atas berbagai model Wajah Memeluk serta kinerja harga. Anda dipersilakan untuk mencoba layanan baru ini dan kami senang menerima lebih banyak umpan balik!
Tentang Penulis
James Yi adalah Senior AI/ML Partner Solutions Architect di tim Emerging Technologies di Amazon Web Services. Dia bersemangat bekerja dengan pelanggan dan mitra perusahaan untuk merancang, menerapkan, dan menskalakan aplikasi AI/ML untuk mendapatkan nilai bisnis mereka. Di luar pekerjaan, ia menikmati bermain sepak bola, bepergian, dan menghabiskan waktu bersama keluarganya.
Rishabh Ray Chaudhury adalah Manajer Produk Senior dengan Amazon SageMaker, yang berfokus pada inferensi Pembelajaran Mesin. Dia bersemangat dalam berinovasi dan membangun pengalaman baru bagi pelanggan Machine Learning di AWS untuk membantu menskalakan beban kerja mereka. Di waktu luangnya, ia senang bepergian dan memasak. Anda dapat menemukannya di LinkedIn.
Phillip Schmid adalah Insinyur Pembelajaran Mesin dan Pemimpin Teknologi di Hugging Face, di mana dia memimpin kolaborasi dengan tim Amazon SageMaker. Dia bersemangat dalam mendemokrasikan, mengoptimalkan, dan memproduksi model NLP mutakhir dan meningkatkan kemudahan penggunaan untuk Pembelajaran Mendalam.
Yan Yan Zhang adalah Ilmuwan Data dalam tim Pengiriman Energi dengan AWS Professional Services. Dia bersemangat membantu pelanggan memecahkan masalah nyata dengan pengetahuan AI/ML. Di luar pekerjaan, dia suka bepergian, berolahraga, dan menjelajahi hal-hal baru.
- Coinsmart. Pertukaran Bitcoin dan Crypto Terbaik Eropa.
- Platoblockchain. Intelijen Metaverse Web3. Pengetahuan Diperkuat. AKSES GRATIS.
- CryptoHawk. Radar Altcoin. Uji Coba Gratis.
- Sumber: https://aws.amazon.com/blogs/machine-learning/host-hugging-face-transformer-models-using-amazon-sagemaker-serverless-inference/
- "
- 000
- 10
- 100
- 2021
- 2022
- 9
- Tentang Kami
- mempercepat
- mengakses
- di seluruh
- tambahan
- Adopsi
- Keuntungan
- AI
- Semua
- Membiarkan
- Meskipun
- Amazon
- Amazon Web Services
- jumlah
- mengumumkan
- aplikasi
- sekitar
- mobil
- tersedianya
- tersedia
- AWS
- batas
- Bangunan
- built-in
- bisnis
- Kapasitas
- Tiongkok
- Pilih
- kelas
- kode
- berkolaborasi
- kolaborasi
- mengumpulkan
- komersial
- masyarakat
- Perusahaan
- menghitung
- konfigurasi
- Wadah
- Wadah
- mengandung
- hemat biaya
- Biaya
- bisa
- membuat
- pelanggan
- canggih
- data
- ilmuwan data
- pengiriman
- Tergantung
- menyebarkan
- penggelaran
- penyebaran
- Mendesain
- terperinci
- rincian
- Pengembangan
- berbeda
- langsung
- membahas
- didistribusikan
- turun
- efisien
- muncul
- Titik akhir
- energi
- insinyur
- Insinyur
- Enterprise
- memperkirakan
- perkiraan
- contoh
- Kecuali
- mengharapkan
- Pengalaman
- menyelidiki
- Menghadapi
- keluarga
- Angka
- berikut
- Kerangka
- fungsi
- Umum
- umumnya
- menghasilkan
- Aksi
- baik
- sangat
- Pertumbuhan
- terjadi
- membantu
- membantu
- High
- lebih tinggi
- tuan
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- HTTPS
- gambar
- ditingkatkan
- memasukkan
- Termasuk
- Pada meningkat
- informasi
- berinovasi
- memasukkan
- mengintegrasikan
- IT
- Diri
- Jobs
- pengetahuan
- bahasa
- besar
- lebih besar
- Terbaru
- jalankan
- memimpin
- Memimpin
- BELAJAR
- pengetahuan
- Perpustakaan
- Daftar
- Panjang
- mesin
- Mesin belajar
- terbuat
- MEMBUAT
- mengelola
- manajer
- medium
- Memori
- juta
- ML
- model
- model
- pemantauan
- Bulan
- lebih
- yaitu
- Alam
- jumlah
- menawarkan
- Pengunjung
- mengoptimalkan
- pilihan
- urutan
- Lainnya
- secara keseluruhan
- pasangan
- rekan
- Kemitraan
- bergairah
- Patch
- Membayar
- prestasi
- Platform
- bermain
- Kebijakan
- kekuasaan
- praktek
- Prediksi
- Preview
- harga pompa cor beton mini
- masalah
- proses
- pengolahan
- Produk
- profesional
- RE
- real-time
- menerima
- menurunkan
- mengurangi
- daftar
- permintaan
- permintaan
- Persyaratan
- Sumber
- Hasil
- berjalan
- Skala
- skala
- ilmuwan
- ilmuwan
- SDK
- detik
- keamanan
- Tanpa Server
- layanan
- Layanan
- penyiapan
- Ukuran
- Sepak bola
- padat
- Solusi
- MEMECAHKAN
- beberapa
- Secara khusus
- Pengeluaran
- Berputar
- awal
- dimulai
- startup
- mendukung
- Didukung
- Mendukung
- tim
- tech
- Teknologi
- Dunia
- karena itu
- Melalui
- waktu
- toleransi
- lalu lintas
- Pelatihan
- transfer
- Perjalanan
- us
- USD
- menggunakan
- berbagai
- jaringan
- layanan web
- selamat datang
- sementara
- Wikipedia
- Kerja
- kerja
- berolahraga
- dunia
- akan
- penulisan
- tahun
- nol