Aracılığıyla paylaş


MLOps Yığınları: kod olarak model geliştirme işlemi

Bu makalede MLOps Stacks'in geliştirme ve dağıtım işlemini kaynak denetimli bir depoda kod olarak uygulamanıza nasıl olanak sağlandığı açıklanmaktadır. Ayrıca, model geliştirme ve dağıtım sürecinin her adımını bir arada sunan tek bir platform olan Databricks Veri Zekası platformunda model geliştirmenin avantajlarını açıklar.

MLOps Yığınları nedir?

MLOps Yığınları ile model geliştirme sürecinin tamamı kaynak denetimli bir depoda kod olarak uygulanır, kaydedilir ve izlenir. İşlemi bu şekilde otomatikleştirmek daha tekrarlanabilir, öngörülebilir ve sistematik dağıtımları kolaylaştırır ve CI/CD işleminizle tümleştirmeyi mümkün kılar. Model geliştirme işlemini kod olarak temsil etmek, modeli dağıtmak yerine kodu dağıtmanızı sağlar. Kodun dağıtılması modeli oluşturma özelliğini otomatikleştirerek gerektiğinde modeli yeniden eğitmenizi çok daha kolay hale getirir.

MLOps Yığınlarını kullanarak bir proje oluşturduğunuzda, özellik mühendisliği, eğitim, test ve dağıtım için kullanılacak not defterleri, eğitim ve test için işlem hatları, her aşama için kullanılacak çalışma alanları ve kodunuzun otomatik test ve dağıtımı için GitHub Actions veya Azure DevOps kullanarak CI/CD iş akışları gibi ML geliştirme ve dağıtım sürecinizin bileşenlerini tanımlarsınız.

MLOps Stacks tarafından oluşturulan ortam, Databricks tarafından önerilen MLOps iş akışını uygular. Kuruluşunuzun süreçlerine veya gereksinimlerine uygun yığınlar oluşturmak için kodu özelleştirebilirsiniz.

MLOps Yığınları nasıl çalışır?

MlOps Yığını oluşturmak için Databricks CLI kullanırsınız. Adım adım yönergeler için bkz . MLOps Yığınları için Databricks Varlık Paketleri.

MlOps Stacks projesini başlattığınızda, yazılım yapılandırma ayrıntılarını girmeniz için size yol gösterir ve ardından projenizi oluşturan dosyaları içeren bir dizin oluşturur. Bu dizin veya yığın, Databricks tarafından önerilen üretim MLOps iş akışını uygular. Diyagramda gösterilen bileşenler sizin için oluşturulur ve özel kodunuzu eklemek için yalnızca dosyaları düzenlemeniz gerekir.

MLOps Yığınları bileşen diyagramı

Diyagramda:

  • Y: Veri bilimcisi veya ML mühendisi kullanarak databricks bundle init mlops-stacksprojeyi başlatır. Projeyi başlatırken ML kod bileşenlerini (genellikle veri bilimcileri tarafından kullanılır), CI/CD bileşenlerini (genellikle ML mühendisleri tarafından kullanılır) veya her ikisini de ayarlamayı seçebilirsiniz.
  • B: ML mühendisleri CI/CD için Databricks hizmet sorumlusu gizli dizilerini ayarlar.
  • C: Veri bilimciler Databricks veya yerel sistemleri üzerinde modeller geliştirir.
  • D: Veri bilimcileri ML kodunu güncelleştirmek için çekme istekleri oluşturur.
  • E: CI/CD çalıştırıcısı not defterlerini çalıştırır, işler oluşturur ve hazırlama ve üretim çalışma alanlarında diğer görevleri gerçekleştirir.

Kuruluşunuz varsayılan yığını kullanabilir veya bileşenleri kuruluşunuzun uygulamalarına uyacak şekilde eklemek, kaldırmak veya düzenlemek için gerektiğinde özelleştirebilir. Ayrıntılar için GitHub deposu benioku bölümüne bakın.

MLOps Yığınları, farklı ML ekiplerinin yazılım mühendisliği en iyi yöntemlerini takip ederken ve üretim sınıfı CI/CD'yi korurken bir proje üzerinde bağımsız olarak çalışmasına olanak sağlayacak modüler bir yapıyla tasarlanmıştır. Üretim mühendisleri, veri bilim adamlarının ML işlem hatlarını ve modellerini geliştirmesine, test etmesine ve üretime dağıtmasına olanak tanıyan ML altyapısını yapılandırmaktadır.

Diyagramda gösterildiği gibi, varsayılan MLOps Yığını aşağıdaki üç bileşeni içerir:

  • ML kodu. MLOps Stacks, bir ML projesi için eğitim, toplu çıkarım vb. için not defterleri de dahil olmak üzere bir şablon kümesi oluşturur. Standartlaştırılmış şablon, veri bilimcilerinin hızlı bir şekilde çalışmaya başlamasını, ekipler arasında proje yapısını bir araya getirmesini ve test için hazır modülerleştirilmiş kodu zorunlu kılmasını sağlar.
  • Kod olarak ML kaynakları. MLOps Yığınları, eğitim ve toplu çıkarım gibi görevler için çalışma alanları ve işlem hatları gibi kaynakları tanımlar. Kaynaklar, ML ortamı için test, iyileştirme ve sürüm denetimini kolaylaştırmak için Databricks Varlık Paketleri'nde tanımlanır. Örneğin, otomatik model yeniden eğitme için daha büyük bir örnek türü deneyebilirsiniz ve değişiklik gelecekteki başvurular için otomatik olarak izlenir.
  • CI/CD. Ml kodunu ve kaynaklarını test etmek ve dağıtmak için GitHub Actions veya Azure DevOps kullanabilir, tüm üretim değişikliklerinin otomasyon aracılığıyla gerçekleştirilmesini ve yalnızca test edilen kodun prod'a dağıtılmasını sağlayabilirsiniz.

MLOps proje akışı

Varsayılan MLOps Stacks projesi geliştirme, hazırlama ve üretim Databricks çalışma alanlarında otomatik model eğitimi ve toplu çıkarım işlerini test etmek ve dağıtmak için CI/CD iş akışlarına sahip bir ML işlem hattı içerir. MLOps Yığınları yapılandırılabilir, böylece proje yapısını kuruluşunuzun işlemlerini karşılayacak şekilde değiştirebilirsiniz.

Diyagram, varsayılan MLOps Yığını tarafından uygulanan işlemi gösterir. Geliştirme çalışma alanında veri bilimcileri ML kodu ve dosya çekme isteklerini (PR) yineler. PR'ler, yalıtılmış bir hazırlama Databricks çalışma alanında birim testlerini ve tümleştirme testlerini tetikler. Bir çekme isteği main ile birleştirildiğinde, hazırlamada çalışan model eğitimi ve toplu çıkarım işleri hemen en son kodu çalıştıracak şekilde güncelleştirilir. Çekme isteğini main ile birleştirdikten sonra, zamanlanmış yayın sürecinizin bir parçası olarak yeni bir yayın dalını kesebilir ve kod değişikliklerini üretime dağıtabilirsiniz.

genel mlops akış diyagramı

MLOps Yığınları proje yapısı

MLOps Yığını, bir projenin uçtan uca tanımı olarak hizmet veren bir kaynak dosya koleksiyonu olan Databricks Varlık Paketleri'ni kullanır. Bu kaynak dosyalar, nasıl test edilecekleri ve dağıtılacakları hakkında bilgi içerir. Dosyaları paket olarak toplamak, değişiklikleri birlikte derlemeyi ve kaynak denetimi, kod gözden geçirme, test ve CI/CD gibi yazılım mühendisliği en iyi yöntemlerini kullanmayı kolaylaştırır.

Diyagramda, varsayılan MLOps Yığını için oluşturulan dosyalar gösterilir. Yığına dahil edilen dosyalar hakkında ayrıntılı bilgi için GitHub deposundaki belgelere veya MLOps Yığınları için Databricks Varlık Paketleri'ne bakın.

MLops Stacks dizin yapısı

MLOps Yığınları bileşenleri

"Yığın", geliştirme sürecinde kullanılan araç kümesini ifade eder. Varsayılan MLOps Yığını, birleşik Databricks platformundan yararlanır ve aşağıdaki araçları kullanır:

Bileşen Databricks'teki araç
ML modeli geliştirme kodu Databricks not defterleri, MLflow
Özellik geliştirme ve yönetim Özellik mühendisliği
ML model deposu Unity Kataloğu'ndaki modeller
ML modeli sunma Mozaik AI Modeli Sunma
Kod olarak altyapı Databricks Varlık Paketleri
Orchestrator Databricks İşleri
CI/CD GitHub Actions, Azure DevOps
Veri ve model performansı izleme Lakehouse izleme

Sonraki adımlar

Başlamak için bkz. MLOps Yığınları için Databricks Varlık Paketleri veya GitHub'daki Databricks MLOps Stacks deposu.