Üretim makine öğrenimi sistemleri: Dağıtım testi

Tek boynuzlu atların görünümünü tahmin eden tek boynuzlu at modelini dağıtmaya hazırsınız. Makine öğrenimi (ML) ardışık düzeniniz dağıtım sırasında çalışmalı, güncellenmeli ve sorunsuz bir şekilde yayınlanır. Yalnızca bir modeli dağıtmak büyük bir Dağıt düğmesi. Maalesef tam bir makine öğrenimi sistemi aşağıdakiler için test yapılmasını gerektirir:

  • Giriş verileri doğrulanıyor.
  • Özellik mühendisliği doğrulanıyor.
  • Yeni model sürümlerinin kalitesi doğrulanıyor.
  • Hizmet altyapısı doğrulanıyor.
  • Ardışık düzen bileşenleri arasındaki entegrasyonu test etme.

Birçok yazılım mühendisi, test odaklı geliştirmeyi (TDD) tercih eder. TDD'de yazılım mühendisler "gerçek" metni yazmadan önce testler yazar kaynak kodudur. Ancak TDD, makine öğreniminde yanıltıcı olabilir. Örneğin, modelinizi eğitmeden önce, modelinizi doğrulamak için bir test yazamazsınız bu kayba ne dersiniz? Bunun yerine, ilk olarak model sırasında elde edilebilecek kaybı geliştirme ve ardından yeni model sürümlerini elde edilebilir kayıplara karşı test etme.

Tek boynuzlu at modeli hakkında

Bu bölüm tek boynuzlu at modeli ile ilgilidir. Şunları bilmeniz gerekir:

Aşağıdakileri tahmin eden bir sınıflandırma modeli oluşturmak için makine öğrenimini kullanıyorsunuz: tek boynuzlu atlar gibi görünüyor. Veri kümeniz,10.000 tek boynuzlu at görüntüsünü ve 10.000 adet tek boynuzlu at simgesi görünmüyor. Veri kümesi, Google Etiket Yöneticisi'nin günün saati, yükseklik, sıcaklık, nem, ağaç örtüsü, bitki örtüsü gökkuşağı ve daha başka özellikler.

Yeniden oluşturulabilir eğitimle model güncellemelerini test etme

Belki de tek boynuzlu at modelinizi iyileştirmeye devam etmek istiyorsunuz. Örneğin, belirli bir özellik üzerine ek özellik mühendisliği yapıyorsanız ve sonra modeli yeniden eğiterek daha iyi (veya en azından aynı) sonuçlar elde etmeyi umuyor. Ne yazık ki, model eğitimini yeniden oluşturmak bazen zor olabiliyor. Yeniden üretilebilirliği artırmak için aşağıdaki önerileri uygulayın:

  • Rastgele sayı oluşturucuyu belirleyici olarak başlangıç noktası oluşturun. Ayrıntılar için Verilerde rastgele hale getirme bölümüne bakın nesil

  • Model bileşenlerini sabit bir sırayla başlatın. Böylece, bileşenlerin rastgele sayı oluşturucudan aynı rastgele sayıyı döndürür. ML kitaplıkları genellikle bu gereksinimi otomatik olarak işler.

  • Modelin birkaç çalıştırmasının ortalamasını alın.

  • Ön yinelemelerde bile sürüm denetimini kullanarak modelinizi veya ardışık düzeninizi araştırırken kod ve parametreleri belirleyin.

Bu yönergelere uyulduktan sonra bile, diğer determinizmsizlik kaynakları var.

Makine öğrenimi API'sine yapılan test çağrıları

API çağrılarına yapılan güncellemeleri nasıl test edersiniz? Modelinizi yeniden eğitebilirsiniz ancak bu da çok zaman alıyor. Bunun yerine, rastgele giriş verileri oluşturmak için bir birim testi yazın ve tek bir gradyan azalma adımı gerçekleştiriyoruz. Bu adım, ile ilgili bir hata mesajı alırsanız, API'de yapılan güncellemeler muhtemelen modelinizi bozmamıştır.

Ardışık düzen bileşenleri için entegrasyon testlerini yazma

ML ardışık düzeninde bir bileşende yapılan değişiklikler diğerlerinde hatalara neden olabilir bileşenlerine ayıralım. Bir Ardışık düzenin tamamını uçtan uca çalıştıran entegrasyon testi.

Entegrasyon testlerini sürekli çalıştırmanın yanı sıra entegrasyon testleri de çalıştırmanız gerekir. en iyi uygulamaları paylaşacağım. Aracın yavaş çalışması sürekli entegrasyon testini zorlaştırır. Entegrasyonu çalıştırmak için daha hızlı test edebilir, verilerin bir alt kümesi üzerinde veya daha basit bir modelle eğitim yapabilirsiniz. Ayrıntılar modelinize ve verilerinize bağlıdır. Kapsamın sürekli olması için Böylece her yeni model veya yazılım sürümüyle çalışması için daha hızlı testler yapabilirler. Bu arada yavaş testleriniz arka planda sürekli olarak çalışır.

Sunumdan önce model kalitesini doğrulayın

Yeni bir model sürümünü üretime aktarmadan önce aşağıda belirtilen iki tür kalite düşürmesi vardır:

  • Ani düşüş. Yeni sürümdeki bir hata, daha düşük kalitede olabilir. Yeni sürümleri kalitelerini kontrol ederek doğrulayın geri bildirimde bulunur.

  • Yavaş yavaş. Ani düşüş testiniz, yavaş gerçekleşen bir düşüş algılamayabilir birden fazla sürüme göre model kalitesinde düşüş olabilir. Bunun yerine modelin bir doğrulama veri kümesindeki tahminleri sabit bir eşiği karşılar. Eğer doğrulama veri kümesi canlı verilerden sapıyor, ardından doğrulamanızı güncelleyin veri kümesi edinin ve modelinizin aynı kalite eşiğini hâlâ karşıladığından emin olun.

Sunumdan önce model-altyapı uyumluluğunu doğrulama

Modeliniz sunucunuzdan daha hızlı güncellenirse, modeliniz sunucunuzdan farklı yazılım bağımlılıkları bu da potansiyel olarak arasındaki farkları konuşacağız. Model tarafından kullanılan işlemlerin modeli, sunucunun korumalı alanlı bir sürümünde hazırlayarak sunucuya yönlendirir.