Whisper adalah model Pengenalan Ucapan Otomatis (ASR) yang telah dilatih menggunakan 680,000 jam data yang diawasi dari web, yang mencakup berbagai bahasa dan tugas. Salah satu keterbatasannya adalah rendahnya performa pada bahasa dengan sumber daya rendah seperti bahasa Marathi dan bahasa Dravida, yang dapat diatasi dengan penyesuaian. Namun, menyempurnakan model Whisper telah menjadi tantangan besar, baik dari segi sumber daya komputasi dan kebutuhan penyimpanan. Lima hingga sepuluh proses penyempurnaan penuh untuk model Whisper memerlukan sekitar 100 jam GPU A100 (40 GB SXM4) (bervariasi berdasarkan ukuran model dan parameter model), dan setiap pos pemeriksaan yang disempurnakan memerlukan ruang penyimpanan sekitar 7 GB. Kombinasi tuntutan komputasi dan penyimpanan yang tinggi ini dapat menimbulkan hambatan yang signifikan, terutama di lingkungan dengan sumber daya terbatas, yang sering kali mempersulit pencapaian hasil yang berarti.
Adaptasi Tingkat Rendah, juga dikenal sebagai LoRA, mengambil pendekatan unik untuk menyempurnakan model. Ini mempertahankan bobot model yang telah dilatih sebelumnya dalam keadaan statis dan memperkenalkan matriks dekomposisi peringkat yang dapat dilatih ke dalam setiap lapisan struktur Transformer. Metode ini dapat mengurangi jumlah parameter yang dapat dilatih yang diperlukan untuk tugas hilir sebanyak 10,000 kali lipat dan mengurangi kebutuhan memori GPU sebanyak 3 kali lipat. Dalam hal kualitas model, LoRA telah terbukti menyamai atau bahkan melampaui kinerja metode penyesuaian tradisional, meskipun beroperasi dengan lebih sedikit parameter yang dapat dilatih (lihat hasil dari metode asli kertas LoRA). Hal ini juga menawarkan manfaat peningkatan hasil pelatihan. tidak seperti adaptor metode, LoRA tidak menimbulkan latensi tambahan selama inferensi, sehingga menjaga efisiensi model selama fase penerapan. Penyempurnaan Whisper menggunakan LoRA telah menunjukkan hasil yang menjanjikan. Ambil Whisper-Large-v2, misalnya: menjalankan 3-epoch dengan kumpulan data suara umum 12 jam pada memori 8 GB GPU memerlukan waktu 6โ8 jam, yang 5 kali lebih cepat dibandingkan penyempurnaan penuh dengan kinerja sebanding.
Amazon SageMaker adalah platform yang ideal untuk mengimplementasikan penyempurnaan LoRA pada Whisper. Amazon SageMaker memungkinkan Anda membangun, melatih, dan menerapkan model pembelajaran mesin untuk setiap kasus penggunaan dengan infrastruktur, alat, dan alur kerja yang terkelola sepenuhnya. Manfaat pelatihan model tambahan dapat mencakup biaya pelatihan yang lebih rendah dengan Pelatihan Spot Terkelola, perpustakaan pelatihan terdistribusi untuk membagi model dan kumpulan data pelatihan di seluruh instans GPU AWS, dan lebih. Model SageMaker yang terlatih dapat dengan mudah diterapkan untuk inferensi langsung di SageMaker. Dalam postingan ini, kami menyajikan panduan langkah demi langkah untuk mengimplementasikan penyempurnaan LoRA di SageMaker. Kode sumber yang terkait dengan implementasi ini dapat ditemukan di GitHub.
Siapkan kumpulan data untuk penyesuaian
Kami menggunakan bahasa Marathi dengan sumber daya rendah untuk tugas penyesuaian. Menggunakan Kumpulan data Memeluk Wajah perpustakaan, Anda dapat mengunduh dan membagi kumpulan data Common Voice menjadi kumpulan data pelatihan dan pengujian. Lihat kode berikut:
Model pengenalan ucapan Whisper memerlukan input audio File WAV integer bertanda 16kHz mono 16-bit. Karena himpunan data Common Voice memiliki laju pengambilan sampel 48K, Anda perlu melakukan downsample file audio terlebih dahulu. Kemudian Anda perlu menerapkan ekstraktor fitur Whisper ke audio untuk mengekstrak fitur spektogram log-mel, dan menerapkan tokenizer Whisper ke fitur berbingkai untuk mengubah setiap kalimat dalam transkrip menjadi ID token. Lihat kode berikut:
Setelah Anda memproses semua sampel pelatihan, unggah data yang telah diproses ke Amazon S3, sehingga saat menggunakan data pelatihan yang telah diproses dalam tahap penyesuaian, Anda dapat menggunakan File Cepat untuk memasang file S3 secara langsung alih-alih menyalinnya ke disk lokal:
Latih modelnya
Untuk demonstrasi, kami menggunakan berbisik-besar-v2 sebagai model terlatih (whisper v3 sekarang tersedia), yang dapat diimpor melalui perpustakaan transformator Hugging Face. Anda dapat gunakan Kuantisasi 8-bit untuk lebih meningkatkan efisiensi pelatihan. Kuantisasi 8-bit menawarkan optimalisasi memori dengan pembulatan dari floating point ke bilangan bulat 8-bit. Ini adalah teknik kompresi model yang umum digunakan untuk menghemat pengurangan memori tanpa terlalu mengorbankan presisi selama inferensi.
Untuk memuat model terlatih dalam format terkuantisasi 8-bit, kita cukup menambahkan argumen load_in_8bit=True saat membuat instance model, seperti yang ditunjukkan dalam kode berikut. Ini akan memuat bobot model yang dikuantisasi menjadi 8 bit, sehingga mengurangi jejak memori.
Kami menggunakan implementasi LoRA dari Hugging Face's peft kemasan. Ada empat langkah untuk menyempurnakan model menggunakan LoRA:
- Buat instance model dasar (seperti yang kita lakukan pada langkah terakhir).
- Buat konfigurasi (
LoraConfig
) di mana parameter spesifik LoRA ditentukan. - Bungkus model dasar dengan
get_peft_model()
untuk mendapatkan pelatihanPeftModel
. - Latih
PeftModel
sebagai model dasar.
Lihat kode berikut:
Untuk menjalankan file Pelatihan SageMaker pekerjaan, kami membawa wadah Docker kami sendiri. Anda dapat mengunduh image Docker dari GitHub, di mana ffmpeg4 dan git-lfs dikemas bersama dengan persyaratan Python lainnya. Untuk mempelajari selengkapnya tentang cara mengadaptasi kontainer Docker Anda sendiri agar berfungsi dengan SageMaker, lihat Menyesuaikan wadah pelatihan Anda sendiri. Kemudian Anda dapat menggunakan Hugging Face Estimator dan memulai tugas pelatihan SageMaker:
Penerapan LoRA memungkinkan kami menjalankan tugas penyempurnaan besar Whisper pada satu instans GPU (misalnya, ml.g5.2xlarge). Sebagai perbandingan, tugas penyempurnaan penuh Whisper yang besar memerlukan banyak GPU (misalnya, ml.p4d.24xlarge) dan waktu pelatihan yang lebih lama. Lebih khusus lagi, eksperimen kami menunjukkan bahwa tugas penyempurnaan penuh memerlukan jam GPU 24 kali lebih banyak dibandingkan dengan pendekatan LoRA.
Evaluasi kinerja model
Untuk mengevaluasi performa model Whisper yang telah disempurnakan, kami menghitung tingkat kesalahan kata (WER) pada set pengujian yang diadakan. WER mengukur perbedaan antara transkrip prediksi dan transkrip kebenaran dasar. WER yang lebih rendah menunjukkan kinerja yang lebih baik. Anda dapat menjalankan skrip berikut terhadap model terlatih dan model yang telah disempurnakan serta membandingkan perbedaan WER-nya:
Kesimpulan
Dalam postingan ini, kami mendemonstrasikan penyempurnaan Whisper, model pengenalan suara yang canggih. Secara khusus, kami menggunakan PEFT LoRA Hugging Face dan mengaktifkan kuantisasi 8-bit untuk pelatihan yang efisien. Kami juga mendemonstrasikan cara menjalankan tugas pelatihan di SageMaker.
Meskipun ini merupakan langkah pertama yang penting, ada beberapa cara yang dapat Anda lakukan untuk melanjutkan pekerjaan ini untuk lebih menyempurnakan model bisikan. Ke depannya, pertimbangkan untuk menggunakan pelatihan terdistribusi SageMaker untuk menskalakan pelatihan pada kumpulan data yang jauh lebih besar. Hal ini akan memungkinkan model untuk melatih data yang lebih bervariasi dan komprehensif, sehingga meningkatkan akurasi. Anda juga dapat mengoptimalkan latensi saat menyajikan model Whisper, untuk mengaktifkan pengenalan ucapan secara real-time. Selain itu, Anda dapat memperluas pekerjaan untuk menangani transkripsi audio yang lebih panjang, yang memerlukan perubahan pada arsitektur model dan skema pelatihan.
Pengakuan
Penulis mengucapkan terima kasih kepada Paras Mehra, John Sol, dan Evandro Franco atas masukan dan ulasan mendalam mereka terhadap postingan tersebut.
Tentang Penulis
Juni Shi adalah Arsitek Solusi Senior di Amazon Web Services (AWS). Area fokusnya saat ini adalah infrastruktur dan aplikasi AI/ML. Dia memiliki pengalaman lebih dari satu dekade di industri FinTech sebagai insinyur perangkat lunak.
Dr Changsa Ma adalah Spesialis AI/ML di AWS. Dia adalah seorang teknolog dengan gelar PhD di bidang Ilmu Komputer, gelar master di bidang Psikologi Pendidikan, dan pengalaman bertahun-tahun di bidang ilmu data dan konsultasi independen di bidang AI/ML. Dia bersemangat meneliti pendekatan metodologis untuk kecerdasan mesin dan manusia. Di luar pekerjaan, dia suka hiking, memasak, berburu makanan, dan menghabiskan waktu bersama teman dan keluarga.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/fine-tune-whisper-models-on-amazon-sagemaker-with-lora/
- :memiliki
- :adalah
- :Di mana
- 000
- 1
- 10
- 100
- 13
- 15%
- 17
- 24
- 25
- 26%
- 40
- 7
- 8
- 97
- a
- Tentang Kami
- ketepatan
- Mencapai
- di seluruh
- menyesuaikan
- adaptasi
- menambahkan
- Tambahan
- Selain itu
- terhadap
- AI / ML
- Semua
- mengizinkan
- juga
- Amazon
- Amazon SageMaker
- Amazon Web Services
- Layanan Web Amazon (AWS)
- amp
- an
- dan
- Apa pun
- aplikasi
- Mendaftar
- pendekatan
- pendekatan
- sekitar
- arsitektur
- ADALAH
- daerah
- argumen
- susunan
- AS
- terkait
- At
- audio
- penulis
- mobil
- secara otomatis
- tersedia
- AWS
- mendasarkan
- berdasarkan
- BE
- karena
- menjadi
- menjadi
- manfaat
- Manfaat
- Lebih baik
- antara
- kedua
- membawa
- membangun
- by
- menghitung
- CAN
- kasus
- menantang
- Perubahan
- kode
- kombinasi
- Umum
- umum
- sebanding
- membandingkan
- dibandingkan
- perbandingan
- luas
- komputasi
- menghitung
- komputer
- Komputer Ilmu
- konfigurasi
- Mempertimbangkan
- besar
- konsultasi
- Wadah
- mengubah
- penyalinan
- Biaya
- bisa
- terbaru
- data
- Persiapan data
- ilmu data
- kumpulan data
- dasawarsa
- mengurangi
- didefinisikan
- Derajat
- itu
- tuntutan
- menunjukkan
- menyebarkan
- dikerahkan
- penyebaran
- Meskipun
- MELAKUKAN
- perbedaan
- sulit
- langsung
- didistribusikan
- pelatihan terdistribusi
- Buruh pelabuhan
- Tidak
- Download
- selama
- setiap
- mudah
- Pendidikan
- efisiensi
- efisien
- aktif
- diaktifkan
- memungkinkan
- meliputi
- insinyur
- lingkungan
- masa
- kesalahan
- terutama
- mengevaluasi
- Bahkan
- contoh
- melebihi
- sangat
- Lihat lebih lanjut
- pengalaman
- eksperimen
- memperpanjang
- ekstrak
- Menghadapi
- keluarga
- lebih cepat
- Fitur
- Fitur
- umpan balik
- sedikit
- File
- File
- fintech
- Pertama
- lima
- mengambang
- Fokus
- berikut
- makanan
- Tapak
- Untuk
- format
- Depan
- ditemukan
- empat
- teman
- dari
- penuh
- sepenuhnya
- fungsi
- lebih lanjut
- mendapatkan
- akan
- GPU
- GPU
- terima kasih
- Tanah
- membimbing
- menangani
- Memiliki
- he
- High
- -nya
- JAM
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- HTTPS
- manusia
- kecerdasan manusia
- Pemburuan
- Lari gawang
- ID
- ideal
- id
- gambar
- melaksanakan
- implementasi
- mengimpor
- penting
- memperbaiki
- meningkatkan
- in
- memasukkan
- Pada meningkat
- independen
- menunjukkan
- industri
- Infrastruktur
- memasukkan
- input
- berwawasan luas
- contoh
- sebagai gantinya
- Intelijen
- ke
- memperkenalkan
- Memperkenalkan
- IT
- NYA
- Pekerjaan
- John
- jpg
- dikenal
- label
- Label
- bahasa
- Bahasa
- besar
- lebih besar
- Terakhir
- Latensi
- lapisan
- BELAJAR
- pengetahuan
- perpustakaan
- Perpustakaan
- keterbatasan
- Terbatas
- memuat
- lokal
- lagi
- mencintai
- menurunkan
- mesin
- Mesin belajar
- mempertahankan
- mempertahankan
- Membuat
- berhasil
- peta
- tuan
- Cocok
- berarti
- ukuran
- Memori
- metode
- metode
- metrik
- ML
- model
- model
- lebih
- MOUNT
- mr
- banyak
- beberapa
- membutuhkan
- Perlu
- dibutuhkan
- None
- sekarang
- jumlah
- Nvidia
- of
- Penawaran
- sering
- on
- ONE
- operasi
- optimasi
- Optimize
- Opsi
- or
- asli
- Lainnya
- kami
- di luar
- lebih
- sendiri
- paket
- dikemas
- parameter
- tertentu
- bergairah
- prestasi
- tahap
- phd
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- Titik
- pose
- Pos
- Ketelitian
- diprediksi
- persiapan
- menyajikan
- Diproses
- menjanjikan
- Psikologi
- Ular sanca
- kualitas
- jarak
- peringkat
- Penilaian
- real-time
- pengakuan
- menurunkan
- mengurangi
- mengurangi
- lihat
- kebutuhan
- Persyaratan
- membutuhkan
- Sumber
- Hasil
- kembali
- ulasan
- pembulatan
- Run
- berjalan
- s
- berkorban
- pembuat bijak
- Tabungan
- Skala
- skema
- Ilmu
- naskah
- melihat
- senior
- putusan pengadilan
- Layanan
- porsi
- set
- beberapa
- dia
- ditunjukkan
- tertanda
- penting
- hanya
- tunggal
- ukuran
- So
- Perangkat lunak
- Software Engineer
- SOL
- Solusi
- sumber
- kode sumber
- Space
- spesialis
- Secara khusus
- pidato
- Speech Recognition
- Pengeluaran
- membagi
- Spot
- Tahap
- awal
- Negara
- state-of-the-art
- statis
- Langkah
- Tangga
- penyimpanan
- struktur
- seperti itu
- Mengambil
- Dibutuhkan
- target
- tugas
- tugas
- teknik
- teknologis
- sepuluh
- istilah
- uji
- pengujian
- teks
- dari
- bahwa
- Grafik
- Sumber
- mereka
- kemudian
- Sana.
- dengan demikian
- ini
- Melalui
- keluaran
- waktu
- kali
- untuk
- bersama
- token
- terlalu
- alat
- obor
- tradisional
- Pelatihan VE
- terlatih
- Pelatihan
- Salinan
- transformator
- transformer
- kebenaran
- unik
- tidak seperti
- us
- menggunakan
- gunakan case
- bekas
- menggunakan
- bervariasi
- Suara
- cara
- we
- jaringan
- layanan web
- ketika
- yang
- Berbisik
- akan
- dengan
- tanpa
- Word
- Kerja
- Alur kerja
- tahun
- Kamu
- Anda
- zephyrnet.dll