Unity Kataloğu'nda ML iş akışlarını hedef modellere yükseltme
Bu makalede, Unity Kataloğu'nda ML iş akışlarını hedef modellere geçirme ve yükseltme işlemleri açıklanmaktadır.
Gereksinimler
Başlamadan önce Gereksinimler'deki gereksinimleri karşıladığınızdan emin olun. Özellikle model eğitimi, dağıtımı ve çıkarım iş akışlarınızı yürütmek için kullanılan kullanıcıların veya sorumluların Unity Kataloğu'nda kayıtlı bir modelde gerekli ayrıcalıklara sahip olduğundan emin olun:
- Eğitim: Kayıtlı modelin sahipliği (yeni model sürümleri oluşturmak için gereklidir), artı ve
USE CATALOG
USE SCHEMA
kapsayan katalog ve şema üzerindeki ayrıcalıklar. - Dağıtım: Kayıtlı modelin sahipliği (modelde diğer adları ayarlamak için gereklidir), artı
USE CATALOG
veUSE SCHEMA
kapsayan katalog ve şema üzerindeki ayrıcalıklar. - Çıkarım:
EXECUTE
Kayıtlı modelde ayrıcalık (model sürümleriyle çıkarım yapmak ve okumak için gereklidir), artı veUSE CATALOG
'KAPSAYAN katalog ve şemada ŞEMA AYRıCALıKLARINI KULLAN.
Paralel eğitim, dağıtım ve iş akışları oluşturma
Model eğitimi ve çıkarım iş akışlarını Unity Kataloğu'na yükseltmek için Databricks, Unity Kataloğu'ndaki modellerden yararlanan paralel bir eğitim, dağıtım ve çıkarım işlem hattı oluşturduğunuz artımlı bir yaklaşım önerir. Unity Kataloğu'nu kullanarak sonuçları rahatça elde ettiğinizde, toplu çıkarım çıktısını okumak için aşağı akış tüketicilerini değiştirebilir veya uç noktaları sunma konusunda Unity Kataloğu'ndaki modellere yönlendirilen trafiği artırabilirsiniz.
Model eğitim iş akışı
Model eğitim iş akışınızı kopyalama . Ardından şunların olduğundan emin olun:
- İş akışı kümesinin Unity Kataloğu'na erişimi vardır ve Gereksinimler bölümünde açıklanan gereksinimleri karşılar.
- İş akışını çalıştıran sorumlu, Unity Kataloğu'nda kayıtlı bir model üzerinde gerekli izinlere sahiptir.
Ardından, kopyalanan iş akışında model eğitim kodunu değiştirin. İş akışı tarafından çalıştırılan not defterini kopyalamanız veya kopyalanan iş akışında yeni bir git dalı oluşturup hedeflemeniz gerekebilir. MLflow'un gerekli sürümünü yüklemek, istemciyi eğitim kodunuzda Unity Kataloğu'nu hedefleyecek şekilde yapılandırmak ve modelleri Unity Kataloğu'na kaydetmek için model eğitim kodunu güncelleştirmek için bu adımları izleyin.
Model dağıtımı iş akışı
Unity Kataloğu'na erişimi etkinleştirmek üzere işlem yapılandırmasını güncelleştirmek için Model eğitim iş akışındakine benzer adımları izleyerek model dağıtım iş akışınızı kopyalayabilirsiniz.
Kopyalanan iş akışının sahibi olan sorumlunun gerekli izinlere sahip olduğundan emin olun. Dağıtım iş akışınızda model doğrulama mantığınız varsa, UC'den model sürümlerini yüklenecek şekilde güncelleştirin. Üretim modeli dağıtımlarını yönetmek için diğer adları kullanın.
Model çıkarımı iş akışı
Toplu çıkarım iş akışı
Toplu çıkarım iş akışını kopyalamak ve Unity Kataloğu'na erişimi etkinleştirmek için işlem yapılandırmasını güncelleştirmek için Model eğitim iş akışındakine benzer adımları izleyin. Kopyalanan toplu çıkarım işini çalıştıran sorumlunun çıkarım için modeli yüklemek için gerekli izinlere sahip olduğundan emin olun.
Model sunma iş akışı
Mozaik Yapay Zeka Modeli Sunma kullanıyorsanız mevcut uç noktanızı kopyalamanız gerekmez. Bunun yerine, Unity Kataloğu'ndaki modellere trafiğin küçük bir bölümünü yönlendirmek için trafik bölme özelliğinden yararlanabilirsiniz.
İlk olarak, modeli sunan uç noktaya sahip olan sorumlunun çıkarım için modeli yüklemek için gerekli izinlere sahip olduğundan emin olun. Ardından, Unity Kataloğu'ndaki model sürümlerine küçük bir trafik yüzdesi atamak için kopyalanan model dağıtım iş akışınızı güncelleştirin.
Modeli ortamlar arasında yükseltme
Databricks, ML işlem hatlarını kod olarak dağıtmanızı önerir. Bu, tüm üretim modelleri bir üretim ortamındaki otomatik eğitim iş akışları aracılığıyla üretilebildiği için modelleri ortamlar arasında yükseltme gereksinimini ortadan kaldırır.
Ancak bazı durumlarda, modelleri ortamlar arasında yeniden eğitmek çok pahalı olabilir. Bunun yerine, model sürümlerini ortamlar arasında yükseltmek için Unity Kataloğu'ndaki kayıtlı modeller arasında kopyalayabilirsiniz.
Aşağıdaki örnek kodu yürütmek için aşağıdaki ayrıcalıklara ihtiyacınız vardır:
USE CATALOG
staging
veprod
kataloglarında.USE SCHEMA
staging.ml_team
veprod.ml_team
şemalarında.EXECUTE
üzerindestaging.ml_team.fraud_detection
.
Ayrıca, kayıtlı modelin prod.ml_team.fraud_detection
sahibi olmanız gerekir.
Aşağıdaki kod parçacığı, MLflow 2.8.0 ve üzeri sürümlerde kullanılabilen MLflow İstemci API'sini kullanırcopy_model_version
.
import mlflow
mlflow.set_registry_uri("databricks-uc")
client = mlflow.tracking.MlflowClient()
src_model_name = "staging.ml_team.fraud_detection"
src_model_version = "1"
src_model_uri = f"models:/{src_model_name}/{src_model_version}"
dst_model_name = "prod.ml_team.fraud_detection"
copied_model_version = client.copy_model_version(src_model_uri, dst_model_name)
Model sürümü üretim ortamında olduktan sonra, gerekli dağıtım öncesi doğrulamayı gerçekleştirebilirsiniz. Ardından, diğer adları kullanarak dağıtım için model sürümünü işaretleyebilirsiniz.
client = mlflow.tracking.MlflowClient()
client.set_registered_model_alias(name="prod.ml_team.fraud_detection", alias="Champion", version=copied_model_version.version)
Yukarıdaki örnekte, yalnızca kayıtlı modelden staging.ml_team.fraud_detection
okuyabilen ve kayıtlı modele prod.ml_team.fraud_detection
yazabilen kullanıcılar hazırlama modellerini üretim ortamına yükseltebilir. Aynı kullanıcılar, üretim ortamında dağıtılan model sürümlerini yönetmek için diğer adları da kullanabilir. Model yükseltmeyi ve dağıtımı yönetmek için başka kurallar veya ilkeler yapılandırmanız gerekmez.
Bu akışı özelleştirerek model sürümünü kurulumunuzla eşleşen , qa
ve prod
gibi dev
birden çok ortamda yükseltebilirsiniz. Erişim denetimi her ortamda yapılandırıldığı gibi uygulanır.
Model dağıtımı için el ile onay için iş web kancalarını kullanma
Databricks, model dağıtım işlemi sırasında uygun denetimleri ve testleri kullanarak model dağıtımını mümkünse otomatikleştirmenizi önerir. Ancak, üretim modellerini dağıtmak için el ile onaylar gerçekleştirmeniz gerekiyorsa, model eğitim işiniz başarıyla tamamlandıktan sonra dış CI/CD sistemlerine çağrı yapmak üzere iş web kancalarını kullanarak modeli dağıtmak için el ile onay isteyebilirsiniz. El ile onay verildikten sonra CI/CD sisteminiz model sürümünü trafiğe hizmet vermek için dağıtabilir, örneğin üzerindeki "Şampiyon" diğer adını ayarlayarak.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin