CI/CD untuk ucapan kustom

Terapkan pelatihan otomatis, pengujian, dan manajemen rilis untuk memungkinkan peningkatan berkelanjutan model ucapan kustom saat Anda menerapkan pembaruan pada data pelatihan dan pengujian. Melalui implementasi alur kerja CI/CD yang efektif, Anda dapat memastikan bahwa titik akhir untuk model ucapan kustom berkinerja terbaik selalu tersedia.

Integrasi berkelanjutan (CI) adalah praktik rekayasa untuk menerapkan pembaruan secara sering di repositori bersama, dan melakukan pembangunan otomatis di atasnya. Alur kerja CI untuk ucapan kustom melatih model baru dari sumber datanya dan melakukan pengujian otomatis pada model baru untuk memastikan bahwa model tersebut berkinerja lebih baik daripada model sebelumnya.

Pengiriman berkelanjutan (CD) mengambil model dari proses CI dan membuat titik akhir untuk setiap model ucapan kustom yang ditingkatkan. CD membuat titik akhir mudah tersedia untuk diintegrasikan ke dalam solusi.

Solusi CI/CD kustom dimungkinkan, tetapi untuk solusi yang kuat dan siap dibangun, gunakan repositori templat Speech DevOps, yang menjalankan alur kerja CI/CD menggunakan GitHub Actions.

Alur kerja CI/CD untuk ucapan kustom

Tujuan dari alur kerja ini adalah untuk memastikan bahwa setiap model ucapan kustom memiliki akurasi pengenalan yang lebih baik daripada build sebelumnya. Jika pembaruan data pengujian dan/atau pelatihan meningkatkan akurasi, alur kerja ini membuat titik akhir ucapan kustom baru.

Server git seperti GitHub dan Azure DevOps dapat menjalankan alur kerja otomatis saat peristiwa Git tertentu terjadi, seperti menggabungkan atau menarik permintaan. Misalnya, alur kerja CI dapat dipicu ketika pembaruan untuk menguji data didorong ke cabang utama. Git Server yang berbeda memiliki alat yang berbeda, tetapi memungkinkan perintah antarmuka baris perintah (CLI) skrip sehingga dapat dijalankan di server build.

Sepanjang jalan, alur kerja harus diberi nama dan menyimpan data, pengujian, file pengujian, model, dan titik akhir sedemikian rupa sehingga alur kerja dapat ditelusuri kembali ke penerapan atau versi asalnya. Sangat membantu untuk memberi nama aset ini sehingga mudah untuk melihat mana yang dibuat setelah memperbarui data pengujian versus data pelatihan.

Alur kerja CI untuk pembaruan data pengujian

Tujuan utama alur kerja CI/CD adalah untuk membangun model baru menggunakan data pelatihan, dan untuk menguji model tersebut menggunakan data pengujian untuk menetapkan apakah Tingkat Kesalahan Word (WER) ditingkatkan dibandingkan dengan model berkinerja terbaik sebelumnya ("model tolok ukur"). Jika model baru berperforma lebih baik, model menjadi tolok ukur baru yang dibandungkan dengan model masa depan.

Alur kerja CI untuk menguji pembaruan data harus menguji ulang model tolok ukur saat ini dengan data pengujian yang diperbarui untuk menghitung WER yang direvisi. Ini memastikan bahwa ketika WER model baru dibandingkan dengan WER tolok ukur, kedua model diuji terhadap data pengujian yang sama dan Anda membandingkan seperti itu.

Alur kerja ini harus memicu pembaruan untuk data pengujian dan:

  • Menguji model tolok ukur terhadap data pengujian yang diperbarui.
  • Menyimpan output pengujian, yang berisi WER dari model tolok ukur, menggunakan data yang diperbarui.
  • WER dari tes ini akan menjadi tolok ukur baru WER yang harus dikalahkan oleh model masa depan.
  • Alur kerja CD tidak dijalankan untuk pembaruan pada data pengujian.

Alur kerja CI untuk pembaruan data pelatihan

Pembaruan untuk data pelatihan menandakan pembaruan pada model kustom.

Alur kerja ini harus memicu pembaruan untuk data pengujian dan:

  • Melatih model baru dengan data pelatihan yang diperbarui.
  • Menguji model baru terhadap data pengujian.
  • Menyimpan output pengujian, yang berisi WER.
  • Membandingkan WER dari model baru dengan WER dari model tolok ukur.
  • Jika WER tidak membaik, hentikan alur kerja.
  • Jika WER meningkat, jalankan alur kerja CD untuk membuat titik akhir ucapan kustom.

Alur kerja CI/CD

Setelah pembaruan pada data pelatihan meningkatkan pengenalan model, alur kerja CD harus secara otomatis dijalankan untuk membuat titik akhir baru untuk model tersebut, dan membuat titik akhir tersedia sedemikian rupa sehingga dapat digunakan dalam solusi.

Pengelolaan rilis

Sebagian besar tim memerlukan proses ulasan dan persetujuan manual untuk penyebaran ke lingkungan produksi. Untuk penyebaran produksi, Anda mungkin ingin memastikan hal itu terjadi ketika orang-orang kunci di tim pengembangan tersedia untuk dukungan, atau selama periode lalu lintas rendah.

Alat untuk alur kerja ucapan kustom

Gunakan alat berikut untuk alur kerja otomatisasi CI/CD untuk ucapan kustom:

  • Azure CLI untuk membuat autentikasi perwakilan layanan Azure, mengkueri langganan Azure, dan menyimpan hasil pengujian di Azure Blob.
  • Azure AI Speech CLI untuk berinteraksi dengan layanan Ucapan dari baris perintah atau alur kerja otomatis.

Solusi DevOps untuk ucapan kustom menggunakan GitHub Actions

Untuk solusi DevOps yang sudah diimplementasikan untuk ucapan kustom, buka repositori templat Speech DevOps. Buat salinan templat dan mulai pengembangan model kustom dengan sistem DevOps yang kuat yang mencakup pengujian, pelatihan, dan penerapan versi menggunakan GitHub Actions. Repositori menyediakan data pengujian dan pelatihan sampel untuk membantu dalam penyiapan dan menjelaskan alur kerja. Setelah penyiapan awal, ganti data sampel dengan data proyek Anda.

Repositori templat Speech DevOps menyediakan infrastruktur dan panduan terperinci untuk:

  • Menyalin repositori templat ke akun GitHub Anda, lalu buat sumber daya Azure dan perwakilan layanan untuk alur kerja GITHub Actions CI/CD.
  • Pelajari "dev inner loop." Perbarui data pengujian dan pelatihan dari cabang fitur, uji perubahan dengan model pengembangan temporer, dan ajukan permintaan pull untuk mengusulkan dan meninjau perubahan tersebut.
  • Saat data pelatihan diperbarui dalam permintaan pull ke utama, latih model dengan alur kerja GitHub Actions CI.
  • Lakukan pengujian akurasi otomatis untuk menetapkan Word Error Rate (WER) model. Simpan hasil pengujian di Azure Blob.
  • Jalankan alur kerja CD untuk membuat titik akhir saat WER meningkat.

Langkah berikutnya

  • Gunakan repositori templat Speech DevOps untuk mengimplementasikan DevOps untuk ucapan kustom dengan GitHub Actions.