MLOps nedir?

Makine öğrenimi işlemleri (MLOps), makine öğrenimi (ML) iş akışlarını ve dağıtımlarını otomatikleştiren ve basitleştiren bir dizi uygulamadır. Makine öğrenimi ve yapay zeka (AI), karmaşık gerçek dünyadaki sorunları çözmek ve müşterilerinize değer sunmak için uygulayabileceğiniz temel yeteneklerdir. MLOps, ML uygulama geliştirmeyi (Dev) ML sistem dağıtımı ve işlemleri (Ops) ile birleştiren bir ML kültürü ve uygulamasıdır. Kuruluşunuz, ML yaşam döngüsü boyunca süreçleri otomatikleştirmek ve standartlaştırmak için MLOps kullanabilir. Bu süreçler model geliştirme, test, entegrasyon, sürüm ve altyapı yönetimini içerir.

MLOps neden gereklidir?


 

Yüksek bir seviyede, makine öğrenimi yaşam döngüsünü başlatmak için kuruluşunuzun işe genellikle veri hazırlama ile başlaması gerekir. Çeşitli kaynaklardan farklı türlerde veriler edinir ve toplama, tekrar temizleme ve özellik mühendisliği gibi etkinlikler gerçekleştirirsiniz.

Sonrasında, bu verileri ML modelini eğitmek ve doğrulamak için kullanırsınız. Daha sonra, eğitimli ve doğrulanmış modeli, diğer uygulamaların API'ler (Uygulama Programlama Arayüzleri) aracılığıyla erişebileceği bir tahmin hizmeti olarak dağıtabilirsiniz.

Keşifsel veri analizi, genellikle en iyi model sürümü dağıtıma hazır olana kadar farklı modellerle denemeler yapmanızı gerektirir. Sık model sürümü dağıtımları ve veri sürümü oluşturma sağlar. Uygulamalarınız modeli kodlarına entegre etmeden veya kod içinde tüketmeden önce deney izleme ve ML eğitim işlem hattı yönetimi çok önemlidir.

MLOps, uygulama kodu ve veri değişiklikleriyle yeni ML modellerinin piyasaya sürülmesini sistematik ve eş zamanlı olarak yönetmek için kritik öneme sahiptir. Optimal bir MLOps uygulaması, ML varlıklarını diğer sürekli entegrasyon ve teslim (CI/CD) ortamı yazılım varlıklarına benzer şekilde ele alır. ML modellerini, birleşik bir sürüm sürecinin parçası olarak kullandıkları uygulama ve hizmetleriyle ve bunları tüketen uygulamaların ve hizmetlerle birlikte dağıtırsınız.

MLOps ilkeleri nelerdir?

Sonraki bölümde, MLOps’un dört temel ilkesini açıklıyoruz.

Sürüm denetimi

Bu işlem, makine öğrenimi varlıklarındaki değişikliklerin takibini içerir, böylece sonuçları yeniden üretebilir ve gerekirse önceki sürümlere geri dönebilirsiniz. Her ML eğitim kodu veya model spesifikasyonu bir kod incelemesi aşamasından geçer. Her biri, ML modellerinin eğitimini tekrarlanabilir ve denetlenebilir hale getirmek için sürümlenmiştir.

Bir ML iş akışındaki tekrarlanabilirlik, veri işlemeden ML modelini dağıtmaya kadar her aşamada önemlidir. Bu, her bir aşamanın aynı girdi verildiğinde aynı sonuçları üretmesi gerektiği anlamına gelir.

Automation

Tekrarlanabilirlik, tutarlılık ve ölçeklenebilirlik sağlamak için makine öğrenimi işlem hattındaki çeşitli aşamaların otomatikleştirilmesi. Bu, veri alımı, ön işleme, model eğitimi ve doğrulamadan dağıtıma kadar olan aşamaları içerir.

Otomatik model eğitimini ve dağıtılmasını tetikleyebilecek bazı faktörler şunlardır:

  • Mesajlaşma
  • İzleme veya takvim etkinlikleri
  • Veri değişiklikleri
  • Model eğitim kodu değişiklikleri
  • Uygulama kodu değişiklikleri.

Otomatik test, hızlı hata düzeltmeleri ve öğrenmeler için sorunları erkenden keşfetmenize yardımcı olur. Kod olarak altyapı (IAC) ile otomasyon daha verimlidir. Altyapıyı tanımlamak ve yönetmek için araçlar kullanabilirsiniz. Bu, tekrarlanabilir olmasını ve çeşitli ortamlarda tutarlı bir şekilde dağıtılabilmesini sağlamaya yardımcı olur..

IAC hakkında bilgi edinin »

Sürekli X

Otomasyon sayesinde, ML işlem hattınız boyunca sürekli olarak testler çalıştırabilir ve kodları dağıtabilirsiniz.

MLOps’da sürekli, sistemin herhangi bir yerinde herhangi bir değişikliğin yapıldığı durumda sürekli olarak gerçekleşen dört faaliyeti ifade eder:

  • Sürekli entegrasyon, kodun doğrulanması ve test edilmesini işlem hattındaki verilere ve modellere genişletir
  • Sürekli teslim, yeni eğitilmiş modeli veya model tahmin hizmetini otomatik olarak dağıtabilir
  • Sürekli eğitim, yeniden dağıtıma yönelik ML modellerini otomatik olarak yeniden eğitir
  • Sürekli izleme, işle ilgili metrikleri kullanarak veri izleme ve model izleme ile ilgilidir

Model yönetişimi

Yönetişim, verimlilik için ML sistemlerinin tüm yönlerini yönetmeyi içerir. Yönetişim için birçok faaliyet gerçekleştirmelisiniz:

  • Veri bilimcileri, mühendisler ve iş paydaşları arasında yakın işbirliğini teşvik edin
  • Herkesin uyumlu olmasını sağlamak için net belgelendirme ve etkili iletişim kanalları kullanın
  • Model tahminleri hakkında geri bildirim toplamak ve modelleri daha fazla yeniden eğitmek için mekanizmalar oluşturun
  • Hassas verilerin korunduğundan, modellere ve altyapıya erişimin güvenli olduğundan ve uyum gereksinimlerinin karşılandığından emin olun

Modelleri yayınlanmadan önce gözden geçirmek, doğrulamak ve onaylamak için yapılandırılmış bir sürecin varlığı da önemlidir. Bu, adalet, taraflılık ve etik konularındaki hususların kontrol edilmesini içerebilir.

MLOps'un faydaları nelerdir?

Makine öğrenimi, kuruluşların verileri analiz etmelerine ve karar vermeye yönelik içgörüler elde etmelerine yardımcı olur. Bununla birlikte, kendi zorluklarıyla birlikte gelen yenilikçi ve deneysel bir alandır. Hassas veri koruması, küçük bütçeler, beceri eksiklikleri ve sürekli gelişen teknoloji, bir projenin başarısını sınırlar. Kontrol ve rehberlik olmadan maliyetler sürekli artabilir ve veri bilimi ekipleri istenen sonuçlara ulaşamayabilir.

MLOps, ne tür engeller olursa olsun, ML projelerini başarıya doğru yönlendirecek bir harita sağlar. Aşağıda MLOps'un bazı temel faydaları belirtilmiştir.

Pazara daha hızlı ulaşma

MLOps, kuruluşunuza, veri bilimi hedeflerinize daha hızlı ve verimli bir şekilde ulaşmaya yönelik bir çerçeve sağlar. Geliştiricileriniz ve yöneticileriniz model yönetiminde daha stratejik ve hızlı hale gelebilir. ML mühendisleri, projelerin daha sorunsuz bir şekilde başlatılması için bildirimsel yapılandırma dosyaları aracılığıyla altyapı sağlayabilir.

Model oluşturma ve dağıtımın otomatikleştirilmesi, daha düşük operasyonel maliyetlerle daha hızlı pazara giriş süreleri sağlar. Veri bilimciler, herkese daha fazla iş değeri sunmak için bir kuruluşun verilerini hızla inceleyebilir.

Üretkenliğin geliştirilmesi

MLOps uygulamaları üretkenliği artırır ve ML modellerinin geliştirilmesini hızlandırır. Örneğin, geliştirme veya deney ortamını standartlaştırabilirsiniz. Sonrasında, ML mühendisleriniz yeni projeler başlatabilir, projeler arasında geçiş yapabilir ve ML modellerini uygulamalar genelinde yeniden kullanabilir. Hızlı deney ve model eğitimi için tekrarlanabilir süreçler oluşturabilirler. Yazılım mühendisliği ekipleri, daha fazla verimlilik için, ML yazılım geliştirme yaşam döngüsü boyunca işbirliği yapabilir ve koordinasyon sağlayabilir.

Verimli model dağıtımı

MLOps, üretimde sorun giderme ve model yönetimini geliştirir. Örneğin, yazılım mühendisleri model performansını izleyebilir ve sorun giderme amacıyla davranışı yeniden üretebilir. Model sürümlerini takip edebilir, merkezi olarak yönetebilir ve farklı iş kullanım durumları için doğru olanı seçebilirler.

Model iş akışlarını sürekli entegrasyon ve teslim (CI/CD) işlem hatlarıyla entegre ettiğinizde, performans düşüşünü sınırlandırır ve modeliniz için kaliteyi korursunuz. Bu, yükseltmelerden ve model ayarlarından sonra bile geçerlidir.

MLOP'lar bir kuruluşta nasıl uygulanır

Kuruluşunuzdaki otomasyon olgunluğuna bağlı olarak üç MLOps uygulaması seviyesi vardır.

MLOps seviye 0

Manuel ML iş akışları ve veri bilimcisi odaklı bir süreç, makine öğrenimi sistemleri kullanmaya yeni başlayan kuruluşlar için seviye 0’ı gösterir.

Veri hazırlama, ML eğitimi, model performansı ve doğrulama dahil olmak üzere her adım manueldir. Adımlar arasında manuel geçiş gerektirir ve her adım interaktif bir biçimde yürütülür ve yönetilir. Veri bilimcileri tipik olarak eğitimli modelleri mühendislik ekibinin API altyapısında devreye aldığı yapıtlar olarak teslim eder.

Süreç, modeli oluşturan veri bilimcilerini ve onu dağıtan mühendisleri birbirinden ayırır. Seyrek sürümler, veri bilimi ekiplerinin modelleri yılda yalnızca birkaç kez yeniden eğitebileceği anlamına gelir. Uygulama kodunun geri kalanına sahip ML modelleri için Sürekli Entegrasyon (CI)/Sürekli Teslim (CD) hususları söz konusu değildir. Benzer şekilde, aktif performans izleme yoktur.

MLOps seviye 1

Aynı modelleri yeni verilerle eğitmek isteyen kuruluşlar sıklıkla seviye 1olgunluk uygulaması gerektirir. MLOps seviye 1, ML işlem hattını otomatize ederek modeli sürekli olarak eğitmeyi amaçlar.

Seviye 0'da, eğitimli bir modeli üretime dağıtırsınız. Buna karşılık, 1. seviye için, eğitimli modeli diğer uygulamalarınıza sunmak için tekrar tekrar çalışan bir eğitim işlem hattı dağıtırsınız. Minimum düzeyde, model tahmin hizmetinin sürekli teslimini sağlarsınız.

Seviye 1 olgunluk şu özelliklere sahiptir:

  • Önemli ölçüde otomasyon içeren hızlı ML deney adımları
  • Canlı işlem hattı tetikleyicileri olarak yeni verilerle üretimde modelin sürekli eğitimi
  • Geliştirme, üretim öncesi ve üretim ortamları genelinde aynı işlem hattı uygulaması

Mühendislik ekipleriniz, yeniden kullanılabilir, birleştirilebilir ve ML işlem hatları arasında potansiyel olarak paylaşılabilir modülerleştirilmiş kod bileşenleri oluşturmak için veri bilimcilerle birlikte çalışır. Ayrıca ML eğitimi ve sunumu için özelliklerin depolanmasını, erişimini ve tanımını standartlaştıran merkezi bir özellik deposu oluşturursunuz. Ek olarak, işlem hattının her çalışmasıyla ilgili bilgiler ve tekrarlanabilirlik verileri gibi meta verileri de yönetebilirsiniz.

MLOps seviye 2

MLOps seviye 2, daha fazla deney yapmak isteyen ve sürekli eğitim gerektiren yeni modeller oluşturmak isteyen kuruluşlar içindir. Modellerini dakikalar içinde güncelleyen, saatlik veya günlük olarak yeniden eğiten ve aynı anda binlerce sunucuda yeniden dağıtan teknoloji odaklı şirketler için uygundur.

Geçerli birkaç ML işlem hattı olduğundan, MLOps seviye 2 kurulumu, MLOps seviye 1 kurulumunun tümünü gerektirir. Ayrıca şunları gerektirir:

  • Bir ML işlem hattı düzenleyicisi
  • Birden çok modeli izlemek için bir model kaydı defteri

Aşağıdaki üç aşama, modelin sürekli teslimatını sağlamak için birkaç ML işlem hattı için ölçekte tekrarlanır.

İşlem hattını inşa et

Deneme adımlarının düzenlenmesini sağlarken yinelemeli olarak yeni modelleme ve yeni ML algoritmalarını denersiniz. Bu aşama, ML işlem hatlarınız için kaynak kodunu çıkarır. Kodu bir kaynak deposunda saklarsınız.

İşlem hattını dağıtın

Ardından, kaynak kodunu oluşturur ve dağıtım için işlem hattı bileşenlerini elde etmek için testler çalıştırırsınız. Çıktı, yeni model uygulaması ile dağıtılmış bir işlem hattıdır.

İşlem hattını sunun

Son olarak, işlem hattını uygulamalarınız için bir tahmin hizmeti olarak sunarsınız. Dağıtılan model tahmin hizmeti ile ilgili istatistikleri canlı verilerden toplarsınız. Bu aşama çıktısı, işlem hattını veya yeni bir deney döngüsünü çalıştırmak için bir tetikleyicidir.


 

MLOps ve DevOps arasındaki fark nedir?

MLOps ve DevOps, her ikisi de yazılım uygulamalarını geliştirdiğiniz, dağıttığınız ve izlediğiniz süreçleri iyileştirmeyi amaçlayan uygulamalardır.

DevOps, geliştirme ve operasyon ekipleri arasındaki boşluğu kapatmayı amaçlamaktadır. DevOps, kod değişikliklerinin otomatik olarak test edilmesini, entegre edilmesini ve üretime verimli ve güvenilir bir şekilde dağıtılmasını sağlamaya yardımcı olur. Daha hızlı sürüm döngüleri, iyileştirilmiş uygulama kalitesi ve kaynakların daha verimli kullanımı için bir işbirliği kültürünü teşvik eder.

Diğer yandan, MLOps, makine öğrenimi projeleri için özel olarak tasarlanmış bir en iyi uygulamalar dizisidir. Geleneksel yazılımları dağıtmak ve entegre etmek nispeten basit olsa da, ML modelleri kendine özgü zorluklar getirir. Veri toplama, model eğitimi, doğrulama, dağıtım ve sürekli izleme ve yeniden eğitim içerir.

MLOps, ML yaşam döngüsünü otomatize etmeye odaklanır. Modellerin sadece geliştirilmesini değil, aynı zamanda sistematik bir şekilde ve tekrar tekrar dağıtılmasını, izlenmesini ve yeniden eğitilmesini sağlamaya yardımcı olur. DevOps ilkelerini ML'ye getirir. MLOps, ML modellerinin daha hızlı dağıtımını, zaman içinde hassasiyetlerinin artmasını ve gerçek iş değeri sağladıklarına yönelik daha çok güvence sağlar.

AWS, MLOps gereksinimlerinizi nasıl destekleyebilir?

Amazon SageMaker, verileri hazırlamak ve ML modelleri oluşturmak, eğitmek ve dağıtmak için kullanabileceğiniz, tam olarak yönetilen bir hizmettir. Tam olarak yönetilen altyapı, araçlar ve iş akışları ile, her türlü kullanım durumu için uygundur.

SageMaker, ML yaşam döngüsü boyunca süreçleri otomatikleştirme amacıyla MLOP'lar için amaca yönelik olarak oluşturulmuş araçlar sağlar. MLOps için Sagemaker araçlarını kullanarak, ölçekte seviye 2 MLOps olgunluğuna hızla ulaşabilirsiniz. 

SageMaker'ın kullanabileceğiniz temel özellikleri şunlardır:

  • Parametreler, metrikler ve veri kümeleri gibi model eğitim işlerinizle ilgili yapıtları izlemek için SageMaker Deneyleri’ni kullanın.
  • SageMaker İşlem Hatları'nı düzenli aralıklarla otomatik olarak veya belirli olaylar tetiklendiğinde çalışması için yapılandırın.
  • Model sürümlerini takip etmek için SageMaker Model Kayıt Defteri'ni kullanın. Ayrıca, kullanım durumu gruplaması ve model performans metrikleri temelleri gibi meta verilerini merkezi bir depodan da takip edebilirsiniz. Bu bilgileri, iş gereksinimlerinize göre en iyi modeli seçmek için kullanabilirsiniz.

Hemen bir hesap oluşturarak Amazon Web Services'da (AWS) MLOps hizmetini kullanmaya başlayın.

AWS'de Sonraki Adımlar

Ürünle ilgili diğer kaynaklara göz atın
AWS üretici yapay zeka hizmetleriyle daha hızlı yenilik yapın 
Ücretsiz bir hesap açmak için kaydolun

AWS Ücretsiz Kullanım için anında erişim elde edin.

Kaydolun 
Konsolda oluşturmaya başlayın

AWS Yönetim Konsolu'nda oluşturmaya başlayın.

Oturum açın