Share via


Özel konuşma için CI/CD

Eğitim ve test verilerine güncelleştirmeler uygularken özel konuşma modellerinin sürekli iyileştirilmesini sağlamak için otomatik eğitim, test ve yayın yönetimi uygulayın. CI/CD iş akışlarının etkili bir şekilde uygulanmasıyla, en iyi performansa sahip özel konuşma modeli için uç noktanın her zaman kullanılabilir olduğundan emin olabilirsiniz.

Sürekli tümleştirme (CI), paylaşılan bir depoda güncelleştirmeleri sık sık işlemenin ve bu depoda otomatik bir derleme gerçekleştirmenin mühendislik uygulamasıdır. Özel konuşma için CI iş akışları, veri kaynaklarından yeni bir model eğitiyor ve önceki modelden daha iyi performans sergilediğinden emin olmak için yeni modelde otomatik test gerçekleştiriyor.

Sürekli teslim (CD), CI işleminden modelleri alır ve geliştirilmiş her özel konuşma modeli için bir uç nokta oluşturur. CD, uç noktaların çözümlerle tümleştirilmesi için kolayca kullanılabilir hale getirir.

Özel CI/CD çözümleri mümkündür, ancak sağlam, önceden oluşturulmuş bir çözüm için GitHub Actions kullanarak CI/CD iş akışlarını yürüten Konuşma DevOps şablon deposunu kullanın.

Özel konuşma için CI/CD iş akışları

Bu iş akışlarının amacı, her özel konuşma modelinin önceki derlemeye göre daha iyi tanıma doğruluğuna sahip olduğundan emin olmaktır. Test ve/veya eğitim verilerinde yapılan güncelleştirmeler doğruluğu artırırsa, bu iş akışları yeni bir özel konuşma uç noktası oluşturur.

GitHub ve Azure DevOps gibi Git sunucuları, birleştirmeler veya çekme istekleri gibi belirli Git olayları gerçekleştiğinde otomatik iş akışları çalıştırabilir. Örneğin, test verilerine yönelik güncelleştirmeler ana dala gönderildiğinde bir CI iş akışı tetiklenebilir. Farklı Git Sunucuları farklı araçlara sahiptir, ancak bir derleme sunucusunda yürütülebilmeleri için komut satırı arabirimi (CLI) komutlarına izin verir.

Bu arada iş akışlarının verileri, testleri, test dosyalarını, modelleri ve uç noktaları adlandırıp depolaması gerekir; böylece bunlar, geldikleri işlemeye veya sürüme kadar izlenebilir. Test verilerini ve eğitim verilerini güncelleştirdikten sonra oluşturulan varlıkları kolayca görebilmek için bu varlıkları adlandırmak da yararlı olur.

Veri güncelleştirmelerini test için CI iş akışı

CI/CD iş akışlarının asıl amacı, eğitim verilerini kullanarak yeni bir model oluşturmak ve bu modeli test verilerini kullanarak test ederek Word Hata Oranı'nın (WER) önceki en iyi performans gösteren modele ("karşılaştırma modeli") kıyasla iyileşip iyileşmediğini tespit etmektir. Yeni model daha iyi performans gösterirse, gelecekteki modellerin karşılaştırıldığı yeni karşılaştırma modeli olur.

Veri güncelleştirmelerini test etmek için CI iş akışı, düzeltilen WER'yi hesaplamak için güncelleştirilmiş test verileriyle geçerli karşılaştırma modelini yeniden test etmelidir. Bu, yeni bir modelin WER değeri karşılaştırmanın WER değeriyle karşılaştırıldığında her iki modelin de aynı test verilerine göre test edilmesini ve benzerleriyle karşılaştırmanızı sağlar.

Bu iş akışı, test verilerine yönelik güncelleştirmeleri tetiklemelidir ve:

  • Karşılaştırma modelini güncelleştirilmiş test verileriyle test edin.
  • Güncelleştirilmiş verileri kullanarak karşılaştırma modelinin WER'sini içeren test çıkışını depolayın.
  • Bu testlerden elde edilen WER, gelecekteki modellerin atması gereken yeni karşılaştırma WER'sine dönüşecektir.
  • CD iş akışı, test verilerine yönelik güncelleştirmeler için yürütülmüyor.

Eğitim veri güncelleştirmeleri için CI iş akışı

Verileri eğitmek için özel modele yapılan güncelleştirmeleri işaret eden Güncelleştirmeler.

Bu iş akışı, eğitim verilerine yönelik güncelleştirmeleri tetiklemelidir ve:

  • Güncelleştirilmiş eğitim verileriyle yeni bir model eğitin.
  • Yeni modeli test verilerine karşı test edin.
  • WER'yi içeren test çıkışını depolayın.
  • Karşılaştırma modelindeki WER'yi yeni modelden WER ile karşılaştırın.
  • WER geliştirilmezse iş akışını durdurun.
  • WER iyileştirirse, özel bir konuşma uç noktası oluşturmak için CD iş akışını yürütebilirsiniz.

CD iş akışı

Eğitim verilerine yapılan bir güncelleştirme modelin tanımasını iyileştirdikten sonra, CD iş akışı otomatik olarak yürütülerek bu model için yeni bir uç nokta oluşturmalı ve bu uç noktayı bir çözümde kullanılabilecek şekilde kullanılabilir hale getirmelidir.

Sürüm yönetimi

Çoğu ekip, üretim ortamına dağıtım için el ile gözden geçirme ve onay süreci gerektirir. Üretim dağıtımı için, geliştirme ekibindeki önemli kişiler destek için kullanılabilir olduğunda veya düşük trafikli dönemlerde bunun gerçekleştiğinden emin olmak isteyebilirsiniz.

Özel konuşma iş akışları için araçlar

Özel konuşma için CI/CD otomasyonu iş akışları için aşağıdaki araçları kullanın:

GitHub Actions kullanarak özel konuşma için DevOps çözümü

Özel konuşma için önceden uygulanmış bir DevOps çözümü için Konuşma DevOps şablonu deposuna gidin. Şablonun bir kopyasını oluşturun ve GitHub Actions kullanarak test, eğitim ve sürüm oluşturma içeren sağlam bir DevOps sistemiyle özel modelleri geliştirmeye başlayın. Depo, kuruluma yardımcı olmak ve iş akışını açıklamak için örnek test ve eğitim verileri sağlar. İlk kurulumdan sonra örnek verileri proje verilerinizle değiştirin.

Konuşma DevOps şablon deposu aşağıdakilere yönelik altyapıyı ve ayrıntılı yönergeleri sağlar:

  • Şablon deposunu GitHub hesabınıza kopyalayın, ardından GitHub Actions CI/CD iş akışları için Azure kaynakları ve hizmet sorumlusu oluşturun.
  • "Geliştirme iç döngüsü" içinde ilerleyin. Bir özellik dalından eğitim ve test verilerini güncelleştirin, değişiklikleri geçici bir geliştirme modeliyle test edin ve değişiklikleri önermek ve gözden geçirmek için bir çekme isteği oluşturun.
  • Bir çekme isteğinde eğitim verileri main'a güncelleştirildiğinde, GitHub Actions CI iş akışıyla modelleri eğitin.
  • Modelin Word Hata Oranı (WER) oluşturmak için otomatik doğruluk testi gerçekleştirin. Test sonuçlarını Azure Blob'da depolayın.
  • WER geliştirildiğinde bir uç nokta oluşturmak için CD iş akışını yürütebilirsiniz.

Sonraki adımlar