Aracılığıyla paylaş


MLOps: Azure Machine Learning v1 ile model yönetimi, dağıtım, köken ve izleme

ŞUNLAR IÇIN GEÇERLIDIR:Azure CLI ml uzantısı v1Python SDK azureml v1

Bu makalede, modellerinizin yaşam döngüsünü yönetmek amacıyla Azure Machine Learning'de Machine Learning İşlemleri (MLOps) uygulamalarını uygulamayı öğrenin. MLOps uygulamalarının uygulanması, makine öğrenmesi çözümlerinizin kalitesini ve tutarlılığını artırabilir.

Önemli

Bu makaledeki "önizleme" olarak işaretlenmiş öğeler şu anda genel önizleme aşamasındadır. Önizleme sürümü bir hizmet düzeyi sözleşmesi olmadan sağlanır ve üretim iş yükleri için önerilmez. Bazı özellikler desteklenmiyor olabileceği gibi özellikleri sınırlandırılmış da olabilir. Daha fazla bilgi için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.

MLOps nedir?

Machine Learning İşlemleri (MLOps), iş akışlarının verimliliğini artıran DevOps ilkelerini ve uygulamalarını temel alır. Örneğin, sürekli tümleştirme, teslim ve dağıtım. MLOps, makine öğrenmesi sürecine şu ilkeleri uygular:

  • Modellerin daha hızlı deneme ve geliştirmesi
  • Modellerin üretime daha hızlı dağıtımı
  • Kalite güvencesi ve uçtan uca köken izleme

Azure Machine Learning'de MLOps

Azure Machine Learning aşağıdaki MLOps özelliklerini sağlar:

  • Yeniden üretilebilir ML işlem hatları oluşturun. Machine Learning işlem hatları, veri hazırlama, eğitim ve puanlama süreçleriniz için yinelenebilir ve yeniden kullanılabilir adımlar tanımlamanıza olanak sağlar.
  • Modelleri eğitip dağıtmak için yeniden kullanılabilir yazılım ortamları oluşturun.
  • Modelleri her yerden kaydedin, paketleyip dağıtın. Modeli kullanmak için gereken ilişkili meta verileri de izleyebilirsiniz.
  • Uçtan uca ML yaşam döngüsü için idare verilerini yakalayın. Günlüğe kaydedilen köken bilgileri modelleri kimin yayımladığını, değişikliklerin neden yapıldığını ve modellerin üretim ortamında ne zaman dağıtıldığını veya kullanıldığını içerebilir.
  • ML yaşam döngüsündeki olayları bildirme ve uyarı verme. Örneğin deneme tamamlama, model kaydı, model dağıtımı ve veri kayması algılama.
  • ML uygulamalarını işletimsel ve ML ile ilgili sorunlar için izleyin. Eğitim ve çıkarım arasındaki model girişlerini karşılaştırın, modele özgü ölçümleri keşfedin ve ML altyapınızda izleme ve uyarılar sağlayın.
  • Azure Machine Learning ve Azure Pipelines ile uçtan uca ML yaşam döngüsünü otomatikleştirin. İşlem hatlarını kullanmak modelleri sık sık güncelleştirmenizi, yeni modelleri test etmenizi ve yeni ML modellerini diğer uygulama ve hizmetlerinizle birlikte sürekli olarak kullanıma sunmanızı sağlar.

MLOps hakkında daha fazla bilgi için bkz. Machine Learning DevOps (MLOps).

Yeniden üretilebilir ML işlem hatları oluşturma

Model eğitim sürecinizde yer alan tüm adımları birleştirmek için Azure Machine Learning'deki ML işlem hatlarını kullanın.

ML işlem hattı, veri hazırlamadan özellik ayıklamaya, hiper parametre ayarlamadan model değerlendirmesine kadar olan adımları içerebilir. Daha fazla bilgi için bkz. ML işlem hatları.

ML işlem hatlarınızı oluşturmak için Tasarım Aracı kullanırsanız, istediğiniz zaman Tasarım Aracı sayfasının sağ üst kısmındaki "..." öğesine tıklayıp Kopyala'yı seçebilirsiniz. İşlem hattınızı kopyalama işlemi, eski sürümlerinizi kaybetmeden işlem hattı tasarımınızı yinelemenize olanak tanır.

Yeniden kullanılabilir yazılım ortamları oluşturma

Azure Machine Learning ortamları, projelerinizin yazılım bağımlılıklarını geliştikçe izlemenize ve yeniden oluşturmanıza olanak tanır. Ortamlar, derlemelerin el ile yazılım yapılandırmaları olmadan yeniden üretilebilir olduğundan emin olmanıza olanak tanır.

Ortamlar projeleriniz için pip ve Conda bağımlılıklarını açıklar ve modellerin hem eğitimi hem de dağıtımı için kullanılabilir. Daha fazla bilgi için bkz. Azure Machine Learning ortamları nedir?

Modelleri her yerden kaydetme, paketleme ve dağıtma

ML modellerini kaydetme ve izleme

Model kaydı, çalışma alanınızdaki Azure bulutunda modellerinizi depolamanıza ve sürüm oluşturmanıza olanak tanır. Model kayıt defteri, eğitilen modellerinizi düzenlemenizi ve izlemenizi kolaylaştırır.

İpucu

Kayıtlı model, modelinizi oluşturan bir veya daha fazla dosya için mantıksal bir kapsayıcıdır. Örneğin, birden çok dosyada depolanan bir modeliniz varsa, bunları Azure Machine Learning çalışma alanınıza tek bir model olarak kaydedebilirsiniz. Kayıt sonrasında kayıtlı modeli indirebilir veya dağıtabilir ve kayıtlı olan tüm dosyaları alabilirsiniz.

Kayıtlı modeller ad ve sürümle tanımlanır. Modeli var olan bir adla her kaydettiğinizde, kayıt defteri sürümü bir artırır. Kayıt sırasında ek meta veri etiketleri sağlanabilir. Bu etiketler daha sonra bir model aranırken kullanılır. Azure Machine Learning, Python 3.5.2 veya üzeri kullanılarak yüklenebilen tüm modelleri destekler.

İpucu

Ayrıca Azure Machine Learning dışında eğitilen modelleri de kaydedebilirsiniz.

Etkin dağıtımda kullanılan kayıtlı bir modeli silemezsiniz. Daha fazla bilgi için Modelleri dağıtma'nın modeli kaydetme bölümüne bakın.

Önemli

Azure Machine Learning Studio'nun Modeller sayfasındaki Filtre ölçütü Tags seçeneğini kullanırken, müşterileri kullanmak TagName : TagValue yerine (yer olmadan) kullanmalıdır TagName=TagValue

Modelleri paketleme ve hatalarını ayıklama

Bir modeli üretime dağıtmadan önce bir Docker görüntüsünde paketlenmiş olur. Çoğu durumda görüntü oluşturma işlemi dağıtım sırasında arka planda otomatik olarak gerçekleşir. Görüntüyü el ile belirtebilirsiniz.

Dağıtımla ilgili sorunlarla karşılaşırsanız, sorun giderme ve hata ayıklama için yerel geliştirme ortamınızda dağıtım yapabilirsiniz.

Daha fazla bilgi için bkz . Modelleri dağıtma ve Dağıtım sorunlarını giderme.

Modelleri dönüştürme ve iyileştirme

Modelinizi Açık Nöral Ağ Değişimi'ne (ONNX) dönüştürmek performansı artırabilir. Ortalama olarak, ONNX'e dönüştürmek 2 kat performans artışı sağlayabilir.

Azure Machine Learning ile ONNX hakkında daha fazla bilgi için ML modelleri oluşturma ve hızlandırma makalesine bakın.

Modelleri kullanma

Eğitilen makine öğrenmesi modelleri bulutta veya yerel olarak web hizmetleri olarak dağıtılır. Dağıtımlar çıkarım için CPU, GPU veya alan programlanabilir kapı dizileri (FPGA) kullanır. Power BI modellerini de kullanabilirsiniz.

Modeli web hizmeti olarak kullanırken aşağıdaki öğeleri sağlarsınız:

  • Hizmete/cihaza gönderilen verileri puanlarken kullanılan modeller.
  • Giriş betiği. Bu betik istekleri kabul eder, verileri puanlar ve bir yanıt döndürmek için modelleri kullanır.
  • Modellerin ve giriş betiğinin gerektirdiği pip ve Conda bağımlılıklarını açıklayan bir Azure Machine Learning ortamı.
  • Metin, veri vb. ek varlıklar. modellerinin ve giriş betiğinin gerektirdiğini gösterir.

Ayrıca hedef dağıtım platformunun yapılandırmasını da sağlarsınız. Örneğin, vm ailesi türü, kullanılabilir bellek ve Azure Kubernetes Service dağıtılırken çekirdek sayısı.

Görüntü oluşturulduğunda Azure Machine Learning’e gereken bileşenler de eklenir. Örneğin, web hizmetini çalıştırmak için gereken varlıklar.

Batch puanlama

Toplu puanlama, ML işlem hatları aracılığıyla desteklenir. Daha fazla bilgi için bkz . Büyük verilerle ilgili toplu tahminler.

Gerçek zamanlı web hizmetleri

Modellerinizi web hizmetlerinde aşağıdaki işlem hedefleriyle kullanabilirsiniz:

  • Azure Container Örneği
  • Azure Kubernetes Service
  • Yerel geliştirme ortamı

Modeli web hizmeti olarak dağıtmak için aşağıdaki öğeleri sağlamanız gerekir:

  • Model veya model topluluğu.
  • Modeli kullanmak için gereken bağımlılıklar. Örneğin, istekleri kabul eden ve modeli çağıran bir betik, conda bağımlılıkları vb.
  • Modelin nasıl ve nereye dağıtıldığını açıklayan dağıtım yapılandırması.

Daha fazla bilgi için bkz . Modelleri dağıtma.

Analiz

Microsoft Power BI, veri analizi için makine öğrenmesi modellerinin kullanılmasını destekler. Daha fazla bilgi için bkz. Power BI'da Azure Machine Learning tümleştirmesi (önizleme).

MLOps için gereken idare verilerini yakalama

Azure Machine Learning, meta verileri kullanarak tüm ML varlıklarınızın uçtan uca denetim kaydını izleme olanağı sağlar.

  • Azure Machine Learning, kodunuzun hangi depodan / daldan / işlemeden geldiğini izlemek için Git ile tümleştirilir .
  • Azure Machine Learning Veri Kümeleri , verileri izlemenize, profil oluşturmanıza ve sürüm verilerinize yardımcı olur.
  • Yorumlanabilirlik , modellerinizi açıklamanıza, mevzuat uyumluluğunu karşılamanıza ve modellerin belirli bir giriş için nasıl sonuç elde ettiğinizi anlamanıza olanak tanır.
  • Azure Machine Learning Çalıştırma geçmişi, modeli eğitmek için kullanılan kodun, verilerin ve işlemlerin anlık görüntüsünü depolar.
  • Azure Machine Learning Model Kayıt Defteri modelinizle ilişkili tüm meta verileri yakalar (deneme onu eğitmiştir, dağıtımları iyi durumdaysa dağıtılmakta olduğu yerde).
  • Azure ile tümleştirme, ML yaşam döngüsündeki olaylar üzerinde işlem yapmanızı sağlar. Örneğin model kaydı, dağıtım, veri kayma ve eğitim (çalıştırma) olayları.

İpucu

Modeller ve veri kümeleri hakkındaki bazı bilgiler otomatik olarak yakalansa da , etiketleri kullanarak ek bilgiler ekleyebilirsiniz. Çalışma alanınızda kayıtlı modelleri ve veri kümelerini ararken etiketleri filtre olarak kullanabilirsiniz.

Bir veri kümesini kayıtlı modelle ilişkilendirmek isteğe bağlı bir adımdır. Model kaydederken veri kümesine başvurma hakkında bilgi için bkz. Model sınıfı başvurusu.

ML yaşam döngüsündeki olayları bildirme, otomatikleştirme ve uyarı verme

Azure Machine Learning, ml yaşam döngüsündeki olayları bildirmek ve otomatikleştirmek için kullanılabilecek önemli olayları Azure Event Grid yayımlar. Daha fazla bilgi için lütfen bu belgeye bakın.

İşletimsel & ML sorunlarını izleme

İzleme, modelinize hangi verilerin gönderildiğini ve döndürdüğü tahminleri anlamanıza olanak tanır.

Bu bilgiler, modelinizin nasıl kullanıldığını anlamanıza yardımcı olur. Toplanan giriş verileri modelin gelecekteki sürümlerini eğiterken de yararlı olabilir.

Daha fazla bilgi için bkz. Model veri toplamayı etkinleştirme.

Modelinizi yeni verilerde yeniden eğitme

Genellikle yeni bilgiler edindikçe modelinizi doğrulamak, güncelleştirmek, hatta sıfırdan yeniden eğitmek istersiniz. Bazen, yeni verilerin alınması etki alanının beklenen bir parçasıdır. Diğer zamanlarda Veri kümelerinde veri kayması algılama (önizleme) bölümünde açıklandığı gibi, belirli bir algılayıcıda yapılan değişiklikler, mevsimsel etkiler gibi doğal veri değişiklikleri veya diğer özelliklerle ilişkili olarak değişen özellikler gibi durumların karşısında model performansı düşebilir.

"Nasıl yaparım? yeniden eğitmeli miyim?" sorusunun evrensel yanıtı yoktur, ancak daha önce tartışılan Azure Machine Learning olayı ve izleme araçları otomasyon için iyi başlangıç noktalarıdır. Yeniden eğitmeye karar verdikten sonra şunları yapmalısınız:

  • Yinelenebilir, otomatikleştirilmiş bir işlem kullanarak verilerinizi önceden işleme
  • Yeni modelinizi eğitin
  • Yeni modelinizin çıkışlarını eski modelinizin çıkışlarıyla karşılaştırın
  • Eski modelinizin değiştirilip değiştirilmeyeceğini seçmek için önceden tanımlanmış ölçütleri kullanın

Yukarıdaki adımların bir teması, yeniden eğitiminizin geçici değil otomatik olması gerektiğidir. Azure Machine Learning işlem hatları , veri hazırlama, eğitim, doğrulama ve dağıtımla ilgili iş akışları oluşturmak için iyi bir yanıttır. İşlem hatlarının ve Azure Machine Learning tasarımcısının yeniden eğitme senaryosuna nasıl uygun olduğunu görmek için Azure Machine Learning tasarımcısıyla modelleri yeniden eğitme bölümünü okuyun.

ML yaşam döngüsünü otomatikleştirme

Modeli eğiten sürekli bir tümleştirme işlemi oluşturmak için GitHub ve Azure Pipelines'ı kullanabilirsiniz. Tipik bir senaryoda, bir Veri Bilimci proje için Git deposundaki bir değişikliği denetlediğinde Azure Pipeline bir eğitim çalıştırması başlatır. Daha sonra çalıştırılan modelin performans özelliklerini görmek için çalıştırmanın sonuçları incelenebilir. Modeli web hizmeti olarak dağıtan bir işlem hattı da oluşturabilirsiniz.

Azure Machine Learning uzantısı, Azure Pipelines ile çalışmayı kolaylaştırır. Azure Pipelines'da aşağıdaki iyileştirmeleri sağlar:

  • Hizmet bağlantısı tanımlarken çalışma alanı seçimini etkinleştirir.
  • Bir eğitim işlem hattında oluşturulan eğitilmiş modeller tarafından tetiklenen yayın işlem hatlarını etkinleştirir.

Azure Pipelines'ı Azure Machine Learning ile kullanma hakkında daha fazla bilgi için aşağıdaki bağlantılara bakın:

Ayrıca Azure Data Factory kullanarak verileri eğitimle kullanılmak üzere hazırlayan bir veri alımı işlem hattı oluşturabilirsiniz. Daha fazla bilgi için bkz . Veri alımı işlem hattı.

Sonraki adımlar

Aşağıdaki kaynakları okuyarak ve keşfederek daha fazla bilgi edinin: