CI / CD لأدوات تخصيص الكلام
تنفيذ التدريب التلقائي والاختبار وإدارة الإصدار لتمكين التحسين المستمر لنماذج الكلام المخصص أثناء تطبيق التحديثات على بيانات التدريب والاختبار. من خلال التنفيذ الفعال لمهام سير عمل CI/CD، يمكنك التأكد من توفر نقطة النهاية لنموذج الكلام المخصص الأفضل أداء.
التكامل المستمر (CI) هو الممارسة الهندسية المتمثلة في إجراء التحديثات بشكل متكرر في مستودع مشترك ، وإجراء بناء آلي عليه. تقوم مهام سير عمل CI ل Custom Speech بتدريب نموذج جديد من مصادر البيانات الخاصة به وإجراء اختبار تلقائي على النموذج الجديد لضمان أدائه بشكل أفضل من النموذج السابق.
يأخذ التسليم المستمر (CD) نماذج من عملية CI وينشئ نقطة نهاية لكل نموذج كلام مخصص محسن. يجعل القرص المضغوط نقاط النهاية متاحة بسهولة لدمجها في الحلول.
حلول CI/CD المخصصة ممكنة، ولكن للحصول على حل قوي ومعد مسبقا، استخدم مستودع قوالب Speech DevOps، الذي ينفذ مهام سير عمل CI/CD باستخدام إجراءات GitHub.
مهام سير عمل CI/CD للكلام المخصص
الغرض من مهام سير العمل هذه هو التأكد من أن كل نموذج كلام مخصص لديه دقة التعرف بشكل أفضل من الإصدار السابق. إذا كانت التحديثات على بيانات الاختبار و/أو التدريب تعمل على تحسين الدقة، فإن مهام سير العمل هذه تنشئ نقطة نهاية جديدة للكلام المخصص.
يمكن لخوادم Git مثل GitHub وAzure DevOps تشغيل مهام سير عمل تلقائية عند حدوث أحداث Git محددة، مثل عمليات الدمج أو طلبات السحب. على سبيل المثال، يمكن تشغيل سير عمل CI عند دفع تحديثات بيانات الاختبار إلى الفرع الرئيسي . سيكون لخوادم Git المختلفة أدوات مختلفة ، ولكنها ستسمح ببرمجة أوامر واجهة سطر الأوامر (CLI) بحيث يمكن تنفيذها على خادم إنشاء.
على طول الطريق ، يجب على مهام سير العمل تسمية وتخزين البيانات والاختبارات وملفات الاختبار والنماذج ونقاط النهاية بحيث يمكن تتبعها إلى الالتزام أو الإصدار الذي جاءت منه. من المفيد أيضا تسمية هذه الأصول بحيث يكون من السهل معرفة ما تم إنشاؤه بعد تحديث بيانات الاختبار مقابل بيانات التدريب.
سير عمل CI لاختبار تحديثات البيانات
الغرض الرئيسي من سير عمل CI/CD هو بناء نموذج جديد باستخدام بيانات التدريب، واختبار هذا النموذج باستخدام بيانات الاختبار لتحديد ما إذا كان معدل خطأ Word (WER) قد تحسن مقارنة بالنموذج السابق الأفضل أداء ("النموذج المرجعي"). إذا كان أداء النموذج الجديد أفضل ، يصبح النموذج القياسي الجديد الذي تتم مقارنة النماذج المستقبلية به.
يجب أن يعيد سير عمل CI لاختبار تحديثات البيانات اختبار النموذج المرجعي الحالي مع بيانات الاختبار المحدثة لحساب WER المنقح. وهذا يضمن أنه عند مقارنة WER لنموذج جديد ب WER للمعيار ، فقد تم اختبار كلا النموذجين مقابل نفس بيانات الاختبار وأنت تقارن مثل مع مثل.
يجب أن يتم تشغيل سير العمل هذا على تحديثات بيانات الاختبار و:
- اختبر النموذج القياسي مقابل بيانات الاختبار المحدثة.
- قم بتخزين مخرجات الاختبار ، التي تحتوي على WER للنموذج القياسي ، باستخدام البيانات المحدثة.
- سيصبح WER من هذه الاختبارات معيار WER الجديد الذي يجب أن تتغلب عليه النماذج المستقبلية.
- لا يتم تنفيذ سير عمل القرص المضغوط للحصول على تحديثات لبيانات الاختبار.
سير عمل CI لتحديثات بيانات التدريب
تشير تحديثات بيانات التدريب إلى تحديثات النموذج المخصص.
يجب أن يؤدي سير العمل هذا إلى تحديثات لبيانات التدريب و:
- تدريب نموذج جديد مع بيانات التدريب المحدثة.
- اختبر النموذج الجديد مقابل بيانات الاختبار.
- قم بتخزين مخرجات الاختبار التي تحتوي على WER.
- قارن WER من الطراز الجديد ب WER من النموذج القياسي.
- إذا لم يتم تحسين WER، فقم بإيقاف سير العمل.
- في حالة تحسن WER، قم بتنفيذ سير عمل القرص المضغوط لإنشاء نقطة نهاية كلام مخصص.
سير عمل القرص المضغوط
بعد تحديث بيانات التدريب لتحسين التعرف على النموذج، يجب تنفيذ سير عمل القرص المضغوط تلقائيا لإنشاء نقطة نهاية جديدة لهذا النموذج، وإتاحة نقطة النهاية هذه بحيث يمكن استخدامها في حل.
إدارة الإصدار
تتطلب معظم الفرق عملية مراجعة وموافقة يدوية للنشر في بيئة إنتاج. بالنسبة إلى نشر الإنتاج، قد ترغب في التأكد من حدوثه عندما يتوفر الأشخاص الرئيسيون في فريق التطوير للحصول على الدعم، أو خلال فترات الزيارات المنخفضة.
أدوات لمهام سير عمل الكلام المخصص
استخدم الأدوات التالية لمهام سير عمل أتمتة CI/CD للكلام المخصص:
- Azure CLI لإنشاء مصادقة أساسية لخدمة Azure والاستعلام عن اشتراكات Azure وتخزين نتائج الاختبار في Azure Blob.
- Azure Speech CLI للتفاعل مع خدمة الكلام من سطر الأوامر أو سير عمل تلقائي.
حل DevOps للكلام المخصص باستخدام إجراءات GitHub
للحصول على حل DevOps تم تنفيذه بالفعل للكلام المخصص، انتقل إلى ريبو قالب Speech DevOps. أنشئ نسخة من القالب وابدأ في تطوير نماذج مخصصة باستخدام نظام DevOps قوي يتضمن الاختبار والتدريب وتعيين الإصدار باستخدام إجراءات GitHub. يوفر المستودع عينة من بيانات الاختبار والتدريب للمساعدة في الإعداد وشرح سير العمل. بعد الإعداد الأولي، استبدل بيانات النموذج ببيانات المشروع.
يوفر ريبو قالب Speech DevOps البنية التحتية والإرشادات التفصيلية من أجل:
- انسخ مستودع القوالب إلى حسابك GitHub، ثم قم بإنشاء موارد Azure ومدير خدمة لمهام سير عمل CI/CD GitHub Actions.
- المشي من خلال "حلقة ديف الداخلية". قم بتحديث بيانات التدريب والاختبار من فرع ميزة، واختبر التغييرات باستخدام نموذج تطوير مؤقت، وقم برفع طلب سحب لاقتراح التغييرات ومراجعتها.
- عندما يتم تحديث بيانات التدريب في طلب سحب إلى الرئيسي، قم بتدريب النماذج باستخدام سير عمل CI GitHub Actions.
- قم بإجراء اختبار دقة تلقائي لإنشاء معدل خطأ Word (WER) الخاص بالنموذج. قم بتخزين نتائج الاختبار في Azure Blob.
- قم بتنفيذ سير عمل القرص المضغوط لإنشاء نقطة نهاية عند تحسين WER.
الخطوات التالية
مزيد من المعلومات حول DevOps باستخدام الكلام:
- استخدم ريبو قالب Speech DevOps لتنفيذ DevOps للكلام المخصص مع إجراءات GitHub.