Aracılığıyla paylaş


MLOps Yığınları için Databricks Varlık Paketleri

MLOps Yığınları oluşturmak için GitHub'daki Databricks Varlık Paketleri, Databricks CLI ve Databricks MLOps Stack deposunu kullanabilirsiniz. MLOps Yığını, Azure Databricks'te üretimle ilgili en iyi yöntemleri izleyen bir MLOps projesidir. Bkz . Databricks Varlık Paketleri nedir?.

MLOps Stacks projesi oluşturmak, dağıtmak ve çalıştırmak için aşağıdaki adımları tamamlayın:

Gereksinimler

  • Hedef uzak çalışma alanında çalışma alanı dosyalarının etkinleştirildiğinden emin olun. Bkz . Çalışma alanı dosyaları nedir?.
  • Geliştirme makinenizde Databricks CLI sürüm 0.212.2 veya üzerinin yüklü olduğundan emin olun. Yüklü Databricks CLI sürümünüzü denetlemek için komutunu databricks -vçalıştırın. Databricks CLI sürümünüzü güncelleştirmek için bkz . Databricks CLI'yı yükleme veya güncelleştirme. (Paketler Databricks CLI 0.18 ve altı sürümlerle çalışmaz.)

1. Adım: Kimlik doğrulamayı ayarlama

Databricks CLI'yi kimlik doğrulaması için yapılandırın.

Bu makalede, OAuth kullanıcıdan makineye (U2M) kimlik doğrulamasını ve kimlik doğrulaması için adlı DEFAULT ilgili Azure Databricks yapılandırma profilini kullanmak istediğiniz varsayılır.

Not

U2M kimlik doğrulaması, bu adımları gerçek zamanlı olarak denemek için uygundur. Tam otomatik iş akışları için Databricks bunun yerine OAuth makineden makineye (M2M) kimlik doğrulamasını kullanmanızı önerir. Kimlik doğrulaması'nda M2M kimlik doğrulaması kurulum yönergelerine bakın.

  1. Her hedef çalışma alanı için aşağıdaki komutu çalıştırarak yerel olarak OAuth belirteci yönetimini başlatmak için Databricks CLI'sini kullanın.

    Aşağıdaki komutta değerini çalışma alanı başına Azure Databricks URL'nizle değiştirin<workspace-url>, örneğinhttps://adb-1234567890123456.7.azuredatabricks.net.

    databricks auth login --host <workspace-url>
    
  2. Databricks CLI, Azure Databricks yapılandırma profili olarak girdiğiniz bilgileri kaydetmenizi ister. Önerilen profil adını kabul etmek için basın Enter veya yeni veya mevcut bir profilin adını girin. Girdiğiniz bilgilerle aynı ada sahip mevcut tüm profillerin üzerine yazılır. Birden çok çalışma alanında kimlik doğrulama bağlamınızı hızla değiştirmek için profilleri kullanabilirsiniz.

    Mevcut profillerin listesini almak için, ayrı bir terminalde veya komut isteminde Databricks CLI'yi kullanarak komutunu databricks auth profilesçalıştırın. Belirli bir profilin mevcut ayarlarını görüntülemek için komutunu databricks auth env --profile <profile-name>çalıştırın.

  3. Web tarayıcınızda, Azure Databricks çalışma alanınızda oturum açmak için ekrandaki yönergeleri tamamlayın.

  4. Profilin geçerli OAuth belirteci değerini ve belirtecin yaklaşan süre sonu zaman damgasını görüntülemek için aşağıdaki komutlardan birini çalıştırın:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Aynı --host değere sahip birden çok profiliniz varsa Databricks CLI'sının --host doğru eşleşen OAuth belirteci bilgilerini bulmasına yardımcı olmak için ve -p seçeneklerini birlikte belirtmeniz gerekebilir.

2. Adım: Paket projesini oluşturma

  1. MLOps Stacks projenizin başlangıç dosyalarını oluşturmak için Databricks Varlık Paketi şablonlarını kullanın. Bunu yapmak için aşağıdaki komutu çalıştırarak başlayın:

    databricks bundle init mlops-stacks
    
  2. Ekrandaki istemleri yanıtlayın. Bu istemleri yanıtlama yönergeleri için bkz. GitHub'daki Databricks MLOps Stacks deposunda yeni proje başlatma.

    İlk istem ML kodu bileşenlerini, CI/CD bileşenlerini veya her ikisini ayarlama seçeneğini sunar. Yalnızca hemen ilgili bileşenleri oluşturmayı seçebildiğiniz için bu seçenek ilk kurulumu basitleştirir. (Diğer bileşenleri ayarlamak için başlatma komutunu yeniden çalıştırın.) Aşağıdakilerden birini seçin:

    • CICD_and_Project (varsayılan) - Hem ML kodunu hem de CI/CD bileşenlerini ayarlayın.
    • Project_Only - Yalnızca ML kod bileşenlerini ayarlayın. Bu seçenek, veri bilim adamlarının kullanmaya başlamasına yöneliktir.
    • CICD_Only - Yalnızca CI/CD bileşenlerini ayarlayın. Bu seçenek ML mühendislerinin altyapıyı ayarlamasına yöneliktir.

    Ekrandaki tüm istemleri yanıtladıktan sonra şablon, MLOps Stacks projenizin başlangıç dosyalarını oluşturur ve bunları geçerli çalışma dizininize ekler.

  3. MLOps Stacks projenizin başlangıç dosyalarını istediğiniz gibi özelleştirin. Bunu yapmak için yeni projenizde aşağıdaki dosyalarda yer alan yönergeleri izleyin:

    Role Goal Belgeler
    Bu deponun ilk kullanıcıları Bu depodaki ML işlem hattı ve kod yapısını anlama README.md
    Veri Bilimcisi Yepyeni bir proje için ML kodu yazmaya başlama <project-name>/README.md
    Veri Bilimcisi Mevcut bir proje için üretim ML kodunu (örneğin, model eğitim mantığı) güncelleştirme docs/ml-pull-request.md
    Veri Bilimcisi Üretim modeli ML kaynaklarını değiştirme (örneğin, model eğitimi veya çıkarım işleri) <project-name>/resources/README.md
    MLOps / DevOps Geçerli ML projesi için CI/CD'yi ayarlama docs/mlops-setup.md
    • Denemeleri özelleştirmek için, deneme bildirimindeki eşlemeler, YAML biçiminde ifade edilen REST API başvurusunda POST/api/2.0/mlflow/experiment/create içinde tanımlanan deneme oluşturma işleminin istek yüküne karşılık gelir.

    • İşleri özelleştirmek için, bir iş bildirimi içindeki eşlemeler, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne karşılık gelir.

      İpucu

      Databricks Varlık Paketleri'nde küme ayarlarını geçersiz kılma başlığında açıklanan teknikleri kullanarak paketlerde yeni iş kümelerinin ayarlarını tanımlayabilir, birleştirebilir ve geçersiz kılabilirsiniz.

    • Modelleri özelleştirmek için, bir model bildirimi içindeki eşlemeler, REST API başvurusunda POST/api/2.0/mlflow/registered-models/create içinde tanımlanan ve YAML biçiminde ifade edilen model oluşturma işleminin istek yüküne karşılık gelir.

    • İşlem hatlarını özelleştirmek için işlem hattı bildirimi içindeki eşlemeler, REST API başvurusunda POST /api/2.0/pipelines içinde tanımlanan ve YAML biçiminde ifade edilen işlem hattı oluşturma işleminin istek yüküne karşılık gelir.

3. Adım: Paket projesini doğrulama

Paket yapılandırmasının geçerli olup olmadığını denetleyin. Bunu yapmak için databricks CLI'sini projenin bulunduğu kökten databricks.yml aşağıdaki gibi çalıştırın:

databricks bundle validate

Paket yapılandırmasının özeti döndürülürse doğrulama başarılı olur. Herhangi bir hata döndürülürse, hataları düzeltin ve bu adımı yineleyin.

4. Adım: Paketi dağıtma

Projenin kaynaklarını ve yapıtlarını istenen uzak çalışma alanına dağıtın. Bunu yapmak için databricks CLI'sini projenin bulunduğu kökten databricks.yml aşağıdaki gibi çalıştırın:

databricks bundle deploy -t <target-name>

değerini dosya içinde istenen hedefin adıyla değiştirin<target-name>; örneğindev, , teststagingveya prod.databricks.yml

5. Adım: Dağıtılan paketi çalıştırma

Projenin dağıtılan Azure Databricks işleri, önceden tanımlanmış zamanlamalarında otomatik olarak çalıştırılır. Dağıtılan bir işi hemen çalıştırmak için databricks CLI'sini projenin bulunduğu kökten databricks.yml aşağıdaki gibi çalıştırın:

databricks bundle run -t <target-name> <job-name>
  • değerini <target-name> , işin dağıtıldığı dosyada databricks.yml istenen hedefin adıyla değiştirin; örneğin dev, , test, stagingveya prod.
  • değerini içindeki dosyalardan birinde işin adıyla değiştirin<job-name>; örneğinbatch_inference_job, , write_feature_table_jobveya model_training_job..yml<project-name>/databricks-resources

İşi Azure Databricks kullanıcı arabiriminde açmak için web tarayıcınıza kopyalayabileceğiniz Azure Databricks işinin bağlantısı görüntülenir.

6. Adım: Dağıtılan paketi silme (isteğe bağlı)

Dağıtılan bir projenin kaynaklarını ve yapıtlarını artık ihtiyacınız yoksa silmek için databricks CLI'sini databricks.yml projenin bulunduğu kökten aşağıdaki gibi çalıştırın:

databricks bundle destroy -t <target-name>

değerini dosya içinde istenen hedefin adıyla değiştirin<target-name>; örneğindev, , teststagingveya prod.databricks.yml

Daha önce dağıtılan kaynakların ve yapıtların silinmesini onaylamak için ekrandaki istemleri yanıtlayın.