Diarisasi pembicara, sebuah proses penting dalam analisis audio, mengelompokkan file audio berdasarkan identitas pembicara. Posting ini mempelajari cara mengintegrasikan PyAnnote Hugging Face untuk diarisasi pembicara Amazon SageMaker titik akhir asinkron.
Kami memberikan panduan komprehensif tentang cara menerapkan solusi segmentasi dan pengelompokan speaker menggunakan SageMaker di AWS Cloud. Anda dapat menggunakan solusi ini untuk aplikasi yang menangani rekaman audio multi-speaker (lebih dari 100).
Ikhtisar solusi
Amazon Transkripsikan adalah layanan masuk untuk diarisasi pembicara di AWS. Namun, untuk bahasa yang tidak didukung, Anda dapat menggunakan model lain (dalam kasus kami, PyAnnote) yang akan diterapkan di SageMaker untuk inferensi. Untuk file audio pendek yang inferensinya memerlukan waktu hingga 60 detik, Anda dapat menggunakan inferensi waktu-nyata. Selama lebih dari 60 detik, asynchronous inferensi harus digunakan. Manfaat tambahan dari inferensi asinkron adalah penghematan biaya dengan menskalakan jumlah instans secara otomatis ke nol ketika tidak ada permintaan untuk diproses.
Wajah Memeluk adalah hub sumber terbuka yang populer untuk model pembelajaran mesin (ML). AWS dan Hugging Face memiliki persekutuan yang memungkinkan integrasi mulus melalui SageMaker dengan serangkaian AWS Deep Learning Containers (DLC) untuk pelatihan dan inferensi di PyTorch atau TensorFlow, serta estimator dan prediktor Hugging Face untuk SageMaker Python SDK. Fitur dan kemampuan SageMaker membantu pengembang dan ilmuwan data memulai pemrosesan bahasa alami (NLP) di AWS dengan mudah.
Integrasi untuk solusi ini melibatkan penggunaan model diarisasi pembicara terlatih Hugging Face menggunakan Perpustakaan PyAnnote. PyAnnote adalah toolkit sumber terbuka yang ditulis dengan Python untuk diarisasi pembicara. Model ini, yang dilatih pada contoh kumpulan data audio, memungkinkan partisi speaker yang efektif dalam file audio. Model ini diterapkan di SageMaker sebagai pengaturan titik akhir asinkron, memberikan pemrosesan tugas diarisasi yang efisien dan skalabel.
Diagram berikut menggambarkan arsitektur solusi.
Untuk posting ini, kami menggunakan file audio berikut.
File audio stereo atau multi-saluran secara otomatis di-downmix menjadi mono dengan merata-ratakan saluran. File audio yang diambil sampelnya pada kecepatan berbeda akan diambil sampelnya ulang menjadi 16kHz secara otomatis saat dimuat.
Prasyarat
Lengkapi prasyarat berikut:
- Buat domain SageMaker.
- Pastikan Anda Identitas AWS dan Manajemen Akses (IAM) pengguna memiliki izin akses yang diperlukan untuk membuat Peran SageMaker.
- Pastikan akun AWS memiliki kuota layanan untuk menghosting titik akhir SageMaker untuk instans ml.g5.2xlarge.
Buat fungsi model untuk mengakses diarisasi speaker PyAnnote dari Hugging Face
Anda dapat menggunakan Hugging Face Hub untuk mengakses pelatihan sebelumnya yang diinginkan Model diarisasi pembicara PyAnnote. Anda menggunakan skrip yang sama untuk mengunduh file model saat membuat titik akhir SageMaker.
Lihat kode berikut:
Kemas kode model
Siapkan file penting seperti inference.py, yang berisi kode inferensi:
Siapkan a requirements.txt
file, yang berisi pustaka Python yang diperlukan untuk menjalankan inferensi:
Terakhir, kompres inference.py
dan file persyaratan.txt dan simpan sebagai model.tar.gz
:
Konfigurasikan model SageMaker
Tentukan sumber daya model SageMaker dengan menentukan URI gambar, lokasi data model Layanan Penyimpanan Sederhana Amazon (S3), dan peran SageMaker:
Unggah model ke Amazon S3
Unggah file model PyAnnote Hugging Face yang telah di-zip ke bucket S3:
Buat titik akhir asinkron SageMaker
Konfigurasikan titik akhir asinkron untuk menerapkan model di SageMaker menggunakan konfigurasi inferensi asinkron yang disediakan:
Uji titik akhir
Evaluasi fungsionalitas titik akhir dengan mengirimkan file audio untuk diarisasi dan mengambil output JSON yang disimpan di jalur output S3 yang ditentukan:
Untuk menerapkan solusi ini dalam skala besar, kami menyarankan untuk menggunakan AWS Lambda, Layanan Pemberitahuan Sederhana Amazon (Amazon SNS), atau Layanan Antrian Sederhana Amazon (Amazon SQS). Layanan ini dirancang untuk skalabilitas, arsitektur berbasis peristiwa, dan pemanfaatan sumber daya yang efisien. Mereka dapat membantu memisahkan proses inferensi asinkron dari pemrosesan hasil, memungkinkan Anda menskalakan setiap komponen secara independen dan menangani lonjakan permintaan inferensi dengan lebih efektif.
Hasil
Output model disimpan di s3://sagemaker-xxxx /async_inference/output/.
Outputnya menunjukkan bahwa rekaman audio telah disegmentasi menjadi tiga kolom:
- Mulai (waktu mulai dalam hitungan detik)
- Selesai (waktu berakhir dalam hitungan detik)
- Pembicara (label pengeras suara)
Kode berikut menunjukkan contoh hasil kami:
Membersihkan
Anda dapat menetapkan kebijakan penskalaan ke nol dengan mengatur MinCapacity ke 0; inferensi asinkron memungkinkan Anda menskalakan secara otomatis ke nol tanpa permintaan. Anda tidak perlu menghapus titik akhir, itu sisik dari nol saat dibutuhkan lagi, mengurangi biaya saat tidak digunakan. Lihat kode berikut:
- 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/deploy-a-hugging-face-pyannote-speaker-diarization-model-on-amazon-sagemaker-as-an-asynchronous-endpoint/
- :memiliki
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 10
- 100
- 11
- 118
- 12
- 13
- 14
- 16
- 17
- 23
- 25
- 26%
- 27
- 28
- 31
- 60
- 7
- 8
- 9
- a
- Tentang Kami
- mengakses
- mengakses
- akomodatif
- Akun
- di seluruh
- menambahkan
- menambahkan
- menyesuaikan
- maju
- lagi
- AI
- Layanan AI
- AI / ML
- Membiarkan
- memungkinkan
- juga
- Amazon
- Amazon SageMaker
- Amazon Web Services
- an
- analisis
- analisis
- dan
- Apa pun
- Aplikasi
- aplikasi
- pendekatan
- arsitektur
- arsitektur
- ADALAH
- sekitar
- AS
- At
- Mencoba
- audio
- mobil
- secara otomatis
- rata-rata
- AWS
- berdasarkan
- BE
- menjadi
- manfaat
- Manfaat
- antara
- bisnis
- bisnis
- by
- CAN
- kemampuan
- kasus
- kasus
- Perubahan
- saluran
- kelas
- klien
- awan
- kekelompokan
- kode
- Kolom
- komentar
- Umum
- komponen
- luas
- konsep
- bersamaan
- konfigurasi
- Wadah
- mengandung
- kontrol
- Biaya
- penghematan biaya
- Biaya
- menghitung
- membuat
- membuat
- pelanggan
- data
- berurusan
- mendalam
- belajar mendalam
- menetapkan
- menyampaikan
- menggali
- demonstrasi
- menyebarkan
- dikerahkan
- penggelaran
- Mendesain
- dirancang
- diinginkan
- dikembangkan
- Pengembang
- pengembang
- Pengembangan
- diagram
- berbeda
- digital
- Transformasi digital
- direktori
- dokumen
- Dont
- download
- dinamis
- setiap
- memudahkan
- Efektif
- efektif
- efisien
- efisien
- memungkinkan
- akhir
- Titik akhir
- kesalahan
- penting
- contoh
- Kecuali
- pengalaman
- menyelidiki
- Menghadapi
- Fitur
- File
- File
- berikut
- Untuk
- format
- dari
- fungsi
- fungsi
- generatif
- mendapatkan
- mendapatkan
- GitHub
- membimbing
- menangani
- Memiliki
- he
- membantu
- membantu
- membantu
- -nya
- tuan
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- http
- HTTPS
- Pusat
- MemelukWajah
- Ratusan
- identitas
- if
- menggambarkan
- gambar
- diimplementasikan
- mengimpor
- in
- secara mandiri
- India
- contoh
- Mengintegrasikan
- integrasi
- ke
- melibatkan
- IT
- perjalanan
- jpg
- json
- kunci
- label
- bahasa
- Bahasa
- besar
- jalankan
- pengetahuan
- Lets
- perpustakaan
- 'like'
- memuat
- pemuatan
- tempat
- lagi
- mesin
- Mesin belajar
- cara
- ML
- model
- model
- lebih
- beberapa
- Alam
- Pengolahan Bahasa alami
- perlu
- Perlu
- dibutuhkan
- nLP
- tidak
- None
- pemberitahuan
- jumlah
- obyek
- of
- Penawaran
- on
- Buka
- open source
- Mengoptimalkan
- or
- OS
- Lainnya
- kami
- di luar
- keluaran
- lebih
- secara keseluruhan
- sendiri
- panda
- bagian
- path
- Izin
- pipa saluran
- Platform
- plato
- Kecerdasan Data Plato
- Data Plato
- kebijaksanaan
- Populer
- Pos
- didukung
- Prediksi
- prasyarat
- proses
- pengolahan
- memprojeksikan
- bukti
- memberikan
- disediakan
- menyediakan
- menyediakan
- publik
- menempatkan
- Ular sanca
- pytorch
- Pertanyaan
- Penilaian
- mencapai
- real-time
- rekaman
- mengurangi
- mengurangi
- referensi
- wilayah
- daftar
- dapat diandalkan
- menggantikan
- mewakili
- permintaan
- wajib
- Persyaratan
- sumber
- Sumber
- tanggapan
- mengakibatkan
- Hasil
- kembali
- Peran
- Run
- berjalan
- pembuat bijak
- penjualan
- sama
- mencicipi
- Save
- Tabungan
- Skalabilitas
- terukur
- Skala
- skala
- ilmuwan
- naskah
- script
- SDK
- mulus
- mulus
- detik
- sektor
- melihat
- segmentasi
- segmen
- mengirim
- memisahkan
- layanan
- Layanan
- Sidang
- sesi
- set
- pengaturan
- penyiapan
- beberapa
- Bentuknya
- Pendek
- harus
- Pertunjukkan
- Sederhana
- tunggal
- Perangkat lunak
- pengembangan perangkat lunak
- larutan
- Solusi
- sumber
- Pembicara
- spesialis
- tertentu
- ditentukan
- menentukan
- menghabiskan
- membagi
- awal
- mulai
- penyimpanan
- tersimpan
- mudah
- Strategis
- sukses
- menyarankan
- yakin
- sistem
- Dibutuhkan
- tugas
- tech
- tensorflow
- dari
- bahwa
- Grafik
- Sana.
- Ini
- mereka
- ini
- ribuan
- tiga
- Melalui
- waktu
- untuk
- hari ini
- toolkit
- tema
- obor
- terlatih
- Pelatihan
- Transformasi
- transformer
- mencoba
- MENGHIDUPKAN
- atas
- menggunakan
- bekas
- Pengguna
- kegunaan
- menggunakan
- Varian
- versi
- Video
- W
- menunggu
- ingin
- we
- jaringan
- layanan web
- ketika
- yang
- SIAPA
- akan
- dengan
- kerja
- tertulis
- tahun
- Kamu
- Anda
- zephyrnet.dll
- nol