Databricks makine öğrenmesi için CI/CD'yi nasıl destekler?

CI/CD (sürekli tümleştirme ve sürekli teslim), uygulamalarınızı geliştirmeye, dağıtmaya, izlemeye ve bakımını yapmaya yönelik otomatik bir işlemi ifade eder. Geliştirme ekipleri, kodun oluşturulmasını, testini ve dağıtımını otomatikleştirerek, birçok veri mühendisliği ve veri bilimi ekibinde hala yaygın olan el ile gerçekleştirilen işlemlerden daha sık ve güvenilir yayınlar sunabilir. Makine öğrenmesi için CI/CD, MLOps, DataOps, ModelOps ve DevOps tekniklerini bir araya getirir.

Bu makalede Databricks'in makine öğrenmesi çözümleri için CI/CD'yi nasıl desteklediği açıklanmaktadır. Makine öğrenmesi uygulamalarında CI/CD yalnızca kod varlıkları için değil, hem giriş verileri hem de model tarafından oluşturulan sonuçlar dahil olmak üzere veri işlem hatlarına da uygulanır.

ML için CI/CD öğelerini gösteren uçtan uca MLOps yaşam döngüsü diyagramı.

CI/CD gerektiren makine öğrenmesi öğeleri

ML geliştirmenin zorluklarından biri, farklı ekiplerin sürecin farklı bölümlerine sahip olmasıdır. Teams farklı araçlara güvenebilir ve farklı sürüm zamanlamalarına sahip olabilir. Azure Databricks, ekiplerin verimliliğini artırmak ve verilerle ML işlem hatlarının tutarlılığını ve tekrarlanabilirliğini sağlamak için tümleşik araçlara sahip tek, birleşik bir veri ve ML platformu sağlar.

Makine öğrenmesi görevleri için genel olarak, otomatik CI/CD iş akışında aşağıdakiler izlenmelidir:

  • Veri kalitesi, şema değişiklikleri ve dağıtım değişiklikleri dahil olmak üzere eğitim verileri.
  • Giriş veri işlem hatları.
  • Modeli eğiten, doğrulayıp sunan kod.
  • Model tahminleri ve performans.

Databricks'i CI/CD işlemlerinizle tümleştirme

MLOps, DataOps, ModelOps ve DevOps, geliştirme işlemlerinin "operasyonlar" ile tümleştirilmesini ifade eder ve süreçleri ve altyapıyı tahmin edilebilir ve güvenilir hale getirir. Bu makale kümesinde, Databricks platformundaki ML iş akışlarınızla operasyon ("ops") ilkelerinin nasıl tümleştirlanacağı açıklanır.

Databricks, yeniden üretilebilirliği sağlamak için "kod olarak yapılandırma" ve bulut hizmetlerinin sağlanmasını otomatikleştirmek için "kod olarak altyapı" oluşturmaya yönelik araçlar da dahil olmak üzere ML yaşam döngüsü için gereken tüm bileşenleri içerir. Ayrıca, oluşan sorunları algılamanıza ve gidermenize yardımcı olmak için günlüğe kaydetme ve hizmetleri uyarmayı da içerir.

DataOps: Güvenilir ve güvenli veriler

İyi ML modelleri güvenilir veri işlem hatlarına ve altyapıya bağlıdır. Databricks Veri Zekası Platformu ile veri alımından sunulan modelden çıkışlara kadar tüm veri işlem hattı tek bir platformdadır ve üretkenliği, yeniden üretilebilirliği, paylaşımı ve sorun gidermeyi kolaylaştıran aynı araç takımını kullanır.

DataOps diyagramı

Databricks'te DataOps görevleri ve araçları

Tabloda Databricks'teki yaygın DataOps görevleri ve araçları listelenir:

DataOps görevi Databricks'teki araç
Verileri alma ve dönüştürme Otomatik Yükleyici ve Apache Spark
Sürüm oluşturma ve köken dahil olmak üzere verilerde yapılan değişiklikleri izleme Delta tabloları
Veri işleme işlem hatlarını oluşturma, yönetme ve izleme Delta Live Tables
Veri güvenliğini ve idaresini sağlama Unity Kataloğu
Keşif veri analizi ve panolar Databricks SQL, Panolar ve Databricks not defterleri
Genel kodlama Databricks SQL ve Databricks not defterleri
Veri işlem hatlarını zamanlama Databricks İşleri
Genel iş akışlarını otomatikleştirme Databricks İşleri
Model eğitimi için özellikler oluşturma, depolama, yönetme ve keşfetme Databricks Özellik Deposu
Veri izleme Lakehouse İzleme

ModelOps: Model geliştirme ve yaşam döngüsü

Model geliştirmek için bir dizi deneme ve bu denemelerin koşullarını ve sonuçlarını izlemek ve karşılaştırmak için bir yol gerekir. Databricks Veri Zekası Platformu, model geliştirme izleme için MLflow ve model yapıtlarını hazırlama, sunma ve depolama dahil olmak üzere model yaşam döngüsünü yönetmek için MLflow Model Kayıt Defteri'ni içerir.

Bir model üretime sunulduktan sonra, performansını etkileyebilecek birçok şey değişebilir. Modelin tahmin performansını izlemeye ek olarak, modelin yeniden eğitilmesi gerekebilecek kalite veya istatistiksel özelliklerdeki değişiklikler için giriş verilerini de izlemeniz gerekir.

ModelOps diyagramı

Databricks'te ModelOps görevleri ve araçları

Tabloda Databricks tarafından sağlanan yaygın ModelOps görevleri ve araçları listelenir:

ModelOps görevi Databricks'teki araç
Model geliştirmeyi izleme MLflow modeli izleme
Model yaşam döngüsünü yönetme Unity Kataloğu'ndaki modeller
Model kodu sürüm denetimi ve paylaşımı Databricks Git klasörleri
Kod içermeyen model geliştirme Mozaik AutoML
Model izleme Lakehouse İzleme

DevOps: Üretim ve otomasyon

Databricks platformu üretimdeki ML modellerini aşağıdakilerle destekler:

  • Uçtan uca veri ve model kökeni: Üretimdeki modellerden ham veri kaynağına ve aynı platformda.
  • Üretim düzeyinde Model Sunma: İş gereksinimlerinize göre ölçeği otomatik olarak büyütür veya küçültür.
  • İşler: İşleri otomatikleştirir ve zamanlanmış makine öğrenmesi iş akışları oluşturur.
  • Git klasörleri: Çalışma alanından kod sürümü oluşturma ve paylaşma, ekiplerin yazılım mühendisliği en iyi yöntemlerini izlemesine de yardımcı olur.
  • Databricks Terraform sağlayıcısı: ML çıkarım işleri, uç noktaları sunma ve özellik geliştirme işleri için bulutlar genelinde dağıtım altyapısını otomatikleştirir.

Model sunma

Modelleri üretime dağıtmak için MLflow, büyük miktarlardaki veriler için toplu iş olarak veya otomatik ölçeklendirme kümesinde REST uç noktası olarak tek tıklamayla dağıtım sağlayarak işlemi önemli ölçüde basitleştirir. Databricks Özellik Deposu'nun MLflow ile tümleştirilmesi, eğitim ve sunum için özelliklerin tutarlılığını da sağlar; ayrıca MLflow modelleri, düşük gecikme süreli çevrimiçi sunum için bile Özellik Mağazası'ndan otomatik olarak özellik arayabilir.

Databricks platformu birçok model dağıtım seçeneğini destekler:

  • Kod ve kapsayıcılar.
  • Toplu hizmet sunma.
  • Düşük gecikme süreli çevrimiçi sunum.
  • Cihazda veya uçta kullanıma sunma.
  • Örneğin çoklu bulut, modeli bir bulutta eğitip başka bir bulutla dağıtma.

Daha fazla bilgi için bkz . Mozaik Yapay Zeka Modeli Sunma.

İşler

Databricks İşleri , ETL'den ML'ye kadar her tür iş yükünü otomatikleştirmenize ve zamanlamanıza olanak tanır. Databricks, Airflow gibi popüler üçüncü taraf düzenleyicilerle tümleştirmeleri de destekler.

Git klasörleri

Databricks platformu, ekiplerin kullanıcı arabirimi aracılığıyla Git işlemlerini gerçekleştirerek yazılım mühendisliği en iyi yöntemlerini izlemesine yardımcı olmak için çalışma alanında Git desteği içerir. Yöneticiler ve DevOps mühendisleri API'leri kullanarak sık kullandıkları CI/CD araçlarıyla otomasyonu ayarlayabilir. Databricks, özel ağlar da dahil olmak üzere her tür Git dağıtımını destekler.

Databricks Git klasörlerini kullanarak kod geliştirmeye yönelik en iyi yöntemler hakkında daha fazla bilgi için bkz . Git tümleştirmesi ve Databricks Git klasörleri ile CI/CD iş akışları ve CI/CD kullanma. Bu teknikler Databricks REST API ile birlikte GitHub Actions, Azure DevOps işlem hatları veya Jenkins işleri ile otomatik dağıtım işlemleri oluşturmanıza olanak tanır.

İdare ve güvenlik için Unity Kataloğu

Databricks platformu, yöneticilerin Databricks genelindeki tüm veriler ve yapay zeka varlıkları için ayrıntılı erişim denetimi, güvenlik ilkeleri ve idare ayarlamasına olanak tanıyan Unity Kataloğu'nu içerir.