Yapay Zekâ
En Üstü MLOps Araçları Rehberi: Weights & Biases, Comet ve Daha Fazlası
Makine Öğrenimi Operasyonları (MLOps), makine öğrenimi modellerini üretim ortamlarında geliştirme, dağıtma ve bakımını birleştirmeyi amaçlayan bir dizi uygulama ve ilkedir. DevOps’tan sürekli entegrasyon, sürekli teslim ve sürekli izleme gibi ilkeleri, makine öğrenimi modellerini ve veri kümelerini yönetme挑warlarıyla birleştirir.
Makine öğreniminin çeşitli endüstrilerdeki benimsenmesi devam ettikçe, güçlü MLOps araçlarına olan talep de artmıştır. Bu araçlar, veri hazırlamadan model eğitimi ve dağıtımına kadar makine öğrenimi projelerinin tüm yaşam döngüsünü basitleştirmeye yardımcı olur. Bu kapsamlı rehberde, Weights & Biases, Comet ve diğerleri dahil olmak üzere bazı üstün MLOps araçlarını, özelliklerini, kullanım örneklerini ve kod örneklerini keşfedeceğiz.
Nedir MLOps?
MLOps, veya Makine Öğrenimi Operasyonları, makine öğrenimi, yazılım mühendisliği ve DevOps uygulamalarını birleştiren çok disiplinli bir alandır. Bu, üretim ortamlarında makine öğrenimi modellerinin dağıtımı, izlenmesi ve bakımını basitleştirmeyi amaçlar. Standardize edilmiş iş akışları kurarak, tekrarlanan görevleri otomatikleştirerek ve güçlü izleme ve yönetim mekanizmaları uygulayarak, MLOps, organizasyonların model geliştirmeyi hızlandırmasına, dağıtım güvenilirliğini iyileştirmesine ve makine öğrenimi girişimlerinden elde edilen değeri en üst düzeye çıkarmasına olanak tanır.
Makine Öğrenimi Boru Hatlarının Oluşturulması ve Bakımı
Herhangi bir makine öğrenimi tabanlı ürün veya hizmet oluştururken, modeli birkaç gerçek dünya örneğinde eğitmek ve değerlendirmek, sorumluluklarınızın sonu anlamına gelmez. Modeli son kullanıcılara sunmanız, izlemeniz ve gerektiğinde daha iyi performans için yeniden eğitmeniz gerekir. Geleneksel bir makine öğrenimi (ML) boru hattı, veri toplama, veri hazırlama, model eğitimi ve değerlendirmesi, hiperparametre ayarlaması (gerektiğinde), model dağıtımı ve ölçekleme, izleme, güvenlik ve uyumluluk ve sürekli entegrasyon ve teslim gibi çeşitli aşamaların topluluğudur.
Bir makine öğrenimi mühendisliği ekibi, ML boru hattının ilk dört aşaması üzerinde çalışmaktan sorumludur, son iki aşama ise operasyon ekibinin sorumluluğundadır. Çoğu organizasyon için makine öğrenimi ve operasyon ekipleri arasında net bir ayrıma sahip olunduğundan, bu iki ekip arasında etkili işbirliği ve iletişim, makine öğrenimi sistemlerinin başarılı bir şekilde geliştirilmesi, dağıtılması ve bakımı için gereklidir. Makine öğrenimi ve operasyon ekipleri arasındaki bu işbirliği, MLOps olarak adlandırılır ve modelleri üretime dağıtmayı, onları bakımı ve izlemeyi basitleştirmeye odaklanır. MLOps, ML ve operasyonların kısaltması olsa da, veri bilimcileri, DevOps mühendisleri ve BT ekipleri arasında işbirliği yapmasına olanak tanır.
MLOps’un temel sorumluluğu, model geliştirme ve dağıtım hızını artırmak için makine öğrenimi ve operasyon ekipleri arasında etkili işbirliğini kolaylaştırmaktır. Sürekli entegrasyon ve geliştirme (CI/CD) uygulamalarıyla tamamlanan model izleme, doğrulama ve yönetimini destekler. Otomatik CI/CD, kolay geliştirme, ölçeklendirilebilir dağıtım, iş akışı basitleştirme ve işbirliği artırma olanakları sunan araç ve yazılımlar genellikle MLOps araçları olarak adlandırılır. Çok fazla araştırma yapıldıktan sonra, büyük teknoloji devleri gibi Netflix, Uber, DoorDash, LUSH vb. tarafından kullanılan çeşitli MLOps araçlarının bir listesini derledim. Bu araçları bu makalede daha sonra tartışacağız.
MLOps Araçları Türleri
MLOps araçları, makine öğrenimi yaşam döngüsünün her aşamasında kritik bir rol oynar. Bu bölümde, MLOps araçlarının listesinin makine öğrenimi yaşam döngüsünün her aşamasındaki rollerinin net bir açıklamasını göreceksiniz.
Boru Hattı Orkestrasyon Araçları
Makine öğrenimi açısından boru hattı orkestrasyonu, makine öğrenimi iş akışının sonuna kadar veri ön işlemeden model eğitimi ve model dağıtımı ve izleme gibi çeşitli görevleri ve bileşenleri yönetme ve koordine etme sürecini ifade eder.
MLOps yazılımı, bu alanda oldukça popülerdir çünkü iş akışı yönetimi, bağımlılık yönetimi, paralelleştirme, sürüm kontrolü ve dağıtım otomasyonu gibi özellikler sunar. Bu, organizasyonların makine öğrenimi iş akışlarını basitleştirmesine, veri bilimcileri ve mühendisler arasında işbirliğini iyileştirmesine ve makine öğrenimi çözümlerinin teslimatını hızlandırmasına olanak tanır.
Model Eğitimi Çerçeveleri
Bu aşama, etiketli ve etiketsiz verilerle öngörülü modeller oluşturup iyileştirmeyi içerir. Eğitimin sırasında modeller, verilerin altındaki kalıpları ve ilişkileri öğrenir ve gerçek sonuçlarla öngörülen sonuçlar arasındaki farkı en aza indirgemek için parametrelerini ayarlar. Bu aşamanın, tüm makine öğrenimi boru hattının en kod yoğunluğu yüksek aşaması olduğunu düşünmek mümkündür.
Makine öğrenimi çerçeveleri gibi scikit-learn, makine öğrenimi modellerini eğitmek için oldukça popülerdir, mentre TensorFlow ve PyTorch derin öğrenimi modellerini eğitmek için popülerdir.
Model Dağıtımı ve Hizmet Sağlama Platformları
Geliştirme ekibi modeli eğittikten sonra, bu modeli üretim ortamında öngörüler üretebileceği şekilde kullanılabilir duruma getirmeleri gerekir. Bu genellikle, modeli hizmet altyapısına dağıtmayı, iletişimi için API’leri ayarlamayı, model sürümleme ve yönetimini, otomatik ölçeklendirme ve yük dengelemeyi ve ölçeklenebilirlik, güvenilirlik ve performansın sağlanmasını içerir.
MLOps araçları, konteynırlaştırma, orkestrasyon, model sürümleme, A/B testi ve günlüğe kaydetme gibi özellikler sunar. Bu, organizasyonların makine öğrenimi modellerini verimli ve etkili bir şekilde dağıtmalarına ve hizmet vermelerine olanak tanır.
İzleme ve Gözlemlenebilirlik Araçları
Modelleri geliştirmek ve dağıtmak bir kerelik bir işlem değildir. Bir modeli belirli bir veri dağılımında geliştirdiğinizde, aynı veri dağılımında üretim ortamında öngörüler üreteceğini beklersiniz. Bu ideal değildir, çünkü veri dağılımı gerçek dünyada değişmeye eğilimlidir, bu da modelin öngörme gücünün azalmasına neden olur, bu da veri kaymasına neden olur. Veri kaymasını tespit etmenin tek yolu, modellerinizi üretimde sürekli olarak izlemektir.
Makine öğrenimi izleme ve gözlemlenebilirliği, öngörme doğruluğu, gecikme, işleme hızı ve kaynak kullanımı gibi anahtar metriklerin izlenmesini, ayrıca veri dağılımında anomalilerin, kaymanın ve kavramsal değişimlerin tespitini içerir. MLOps izleme araçları, telemetri verilerinin otomatik toplamasını sağlayabilir, metriklerin gerçek zamanlı analizini ve görselleştirmesini etkinleştirebilir ve önceden tanımlanmış eşiklere veya koşullara göre uyarılar ve eylemler tetikleyebilir.
İşbirliği ve Deney Takip Platformları
Bir makine öğrenimi sistemi geliştirirken bir ekip içinde çalıştığınızı varsayalım. Bir mekanizma kullanmadığınız sürece, hangi modellerin denenip denenmediğini, kimin boru hattının hangi bölümü üzerinde çalıştığını takip edemezsiniz. İki geliştiricinin aynı özellikleri geliştirmeye çalıştığı bir durum olabilir, bu da zaman ve kaynak israfıdır. Proje ile ilgili hiçbir şeyi takip etmediğiniz için, bu bilgiyi gelecekteki projeler için kullanamazsınız, bu da yeniden üretilebilirliği sınırlar.
İşbirliği ve deney takip eden MLOps araçları, veri bilimcileri ve mühendislerin etkili bir şekilde işbirliği yapmasına, bilgi paylaşmasına ve makine öğrenimi modelleri için deneyleri yeniden üretmesine olanak tanır. Bu araçlar, deney takip, sürümleme, soy takibi ve model kaydı gibi özellikler sunar. Bu, ekiplerin deneyleri günlüğe kaydetmesine, değişiklikleri takip etmesine ve farklı makine öğrenimi modelleri arasındaki sonuçları karşılaştırmalarına olanak tanır.
Veri Depolama ve Sürümleme
Makine öğrenimi boru hatlarında çalışırken, ön işleme aşamasında ham verilere önemli değişiklikler yaparsınız. Modeli hemen eğitemiyorsanız, tekrar tekrar iş yapmamak için bu ön işlenmiş veriyi depolamak istersiniz. Aynı şey kod için de geçerlidir, her zaman önceki oturumunuzda bıraktığınız kod üzerinde çalışmaya devam etmek istersiniz.
MLOps veri depolama ve sürümleme araçları, veri sürümleme, artifact yönetimi, meta veri izleme ve veri soyu gibi özellikler sunar. Bu, ekiplerin değişiklikleri takip etmesine, deneyleri yeniden üretmesine ve makine öğrenimi modellerinin farklı sürümleri arasında tutarlılığı ve yeniden üretilebilirliği sağlamasına olanak tanır.
Hesaplama ve Altyapı
Modelleri eğitmek, dağıtmak ve ölçeklendirirken her şey hesaplama ve altyapuya gelir. Özellikle büyük dil modellerinin (LLM’ler) çeşitli endüstri tabanlı üretken AI projeleri için yol açtığı current zamanda. Basit bir sınıflandırıcıyı 8 GB RAM ve GPU cihazı olmadan bir sistemde eğitebilirsiniz, ancak bir LLM modelini aynı altyapıda eğitmek doğru olmaz.
Hesaplama ve altyapı araçları, konteynırlaştırma, orkestrasyon, otomatik ölçeklendirme ve kaynak yönetimi gibi özellikler sunar. Bu, organizasyonların makine öğrenimi iş yükleri için bulut kaynaklarını, şirket içi altyapıyı veya hibrit ortamları verimli bir şekilde kullanmasına olanak tanır.
2024 için En İyi MLOps Araçları ve Platformlar
Weights & Biases ve Comet nổimlı MLOps başlangıçları olsa da, makine öğrenimi yaşam döngüsünün çeşitli yönlerini destekleyen diğer birçok araç mevcuttur. İşte birkaç dikkat çekici örnek:
- MLflow: MLflow, makine öğrenimi yaşam döngüsünün tamamını yönetmeye yardımcı olan açık kaynaklı bir platformdur. Deney takip, yeniden üretilebilirlik, dağıtım ve merkezi bir model kaydı gibi özellikleri içerir.
- Kubeflow: Kubeflow, makine öğrenimi modellerini Kubernetes üzerinde dağıtmayı basitleştirmek için tasarlanmış açık kaynaklı bir platformdur. Veri hazırlama, model eğitimi, model optimizasyonu, tahmin sunma ve üretim ortamlarında model izleme için kapsamlı bir araç seti sağlar.
- BentoML: BentoML, üretim ortamlarında makine öğrenimi modellerini dağıtmak ve bakımını yapmak için Python-first bir araçtır. Paralel çıkarım, adaptif toplu işleme ve donanım hızlandırması gibi özellikleri destekler, böylece model sunma verimli ve ölçeklenebilir hale gelir.
- TensorBoard: TensorFlow ekibi tarafından geliştirilen TensorBoard, makine öğrenimi deneyleri için açık kaynaklı bir görselleştirme aracıdır. Kullanıcıların metrikleri izlemesine, model grafiklerini görselleştirmesine, gömme projelerini paylaşmasına ve deney sonuçlarını paylaşmasına olanak tanır.
- Evidently: Evidently AI, makine öğrenimi modellerini geliştirme, doğrulama ve üretim ortamlarında izleme için açık kaynaklı bir Python kütüphanesidir. Veri ve model kalitesini kontrol eder, veri kaymasını, hedef kaymasını ve regresyon ve sınıflandırma performansını izler.
- Amazon SageMaker: Amazon Web Services SageMaker, model eğitimi, deney takip, model dağıtımı, izleme ve daha fazlasını kapsayan kapsamlı bir MLOps çözümüdür. Veri bilimci ekipleri için işbirliği odaklı bir ortam sağlar, makine öğrenimi iş akışlarını otomatikleştirir ve üretim ortamlarındaki modellerin sürekli izlenmesini sağlar.
Weights & Biases Nedir?
Weights & Biases (W&B), veri bilimcileri ve makine öğrenimi uygulayıcılarının modellerini kolayca yönetmesine ve analiz etmesine yardımcı olan popüler bir makine öğrenimi deney takip ve görselleştirme platformudur. Makine öğrenimi iş akışının her aşamasını destekleyen bir dizi aracı sunar, bunlar proje kurulumundan model dağıtımı ve izlemeye kadar uzanır.
Weights & Biases’in Ana Özellikleri
- Deney Takip ve Günlüğe Kaydetme: W&B, kullanıcıların deneyleri günlüğe kaydetmesine ve takip etmesine olanak tanır, bu da önemli bilgiler gibi hiperparametreler, model mimarisi ve veri kümesi ayrıntılarının yakalanmasını sağlar. Bu parametreleri günlüğe kaydetmek, deneylerin yeniden üretilebilirliğini kolaylaştırır ve ekip üyeleri arasında işbirliğini destekler.
[kod dili=”PYTHON”]
import wandb
# W&B’yi başlat
wandb.init(proje=”my-proje”, varlık=”my-team”)
# Hiperparametreleri günlüğe kaydet
config = wandb.config
config.öğrenme_oranı = 0.001
config.toplu_boyut = 32
# Eğitim sırasında metrikleri günlüğe kaydet
wandb.log({“kayıp”: 0.5, “doğruluk”: 0.92})
[/kod]
- Görselleştirmeler ve Paneller: W&B, deney sonuçlarını görselleştirmek için etkileşimli bir panelli sunar, bu da trendleri analiz etmeyi, modelleri karşılaştırmayı ve geliştirme için alanları belirlemeyi kolaylaştırır. Bu görselleştirmeler arasında özelleştirilebilir grafikler, karışıklık matrisleri ve histogramlar bulunur. Paneller paylaşılabilecek şekilde tasarlanmıştır, böylece işbirliği ve bilgi paylaşımı kolaylaşır.
[kod dili=”PYTHON”]
# Karışıklık matrisini günlüğe kaydet
wandb.log({“karışıklık_matrisi”: wandb.plot.confusion_matrix(tahminler, etiketler)})
# Özel bir grafik günlüğe kaydet
wandb.log({“çizelge”: wandb.plot.line_series(x=[1, 2, 3], y=[[1, 2, 3], [4, 5, 6]])})
[/kod]
- Model Sürümleme ve Karşılaştırma: W&B ile kullanıcılar, farklı model sürümlerini kolayca takip edebilir ve karşılaştırabilir. Bu özellik, farklı mimariler, hiperparametreler veya ön işleme teknikleri denediğinizde özellikle değerlidir. Model geçmişini tutmak, en iyi performans gösteren yapılandırmaları belirlemenize ve veri temelli kararlar almanıza olanak tanır.
[kod dili=”PYTHON”]
# Model artifact’ini kaydet
wandb.save(“model.h5″)
# Birden çok model sürümünü günlüğe kaydet
with wandb.init(proje=”my-proje”, varlık=”my-team”):
# Model sürüm 1’i eğit ve günlüğe kaydet
wandb.log({“doğruluk”: 0.85})
with wandb.init(proje=”my-proje”, varlık=”my-team”):
# Model sürüm 2’yi eğit ve günlüğe kaydet
wandb.log({“doğruluk”: 0.92})
[/kod]
- Popüler ML Çerçeveleri ile Entegrasyon: W&B, TensorFlow, PyTorch ve scikit-learn gibi popüler ML çerçeveleri ile sorunsuz bir şekilde entegre olur. Hafif entegrasyonlar sunar, bu da minimum kod değişikliği gerektirir ve mevcut iş akışlarınızı bozmadan W&B’nin özelliklerinden yararlanmanızı sağlar.
[kod dili=”PYTHON”]
import wandb
import tensorflow as tf
# W&B’yi başlat ve eğitim sırasında metrikleri günlüğe kaydet
wandb.init(proje=”my-proje”, varlık=”my-team”)
wandb.tensorflow.log(tf.summary.scalar(‘kayıp’, kayıp))
[/kod]
Comet Nedir?
Comet, geliştiricilerin makine öğrenimi deneylerini takip edebileceği, karşılaştırabileceği, analiz edebileceği ve optimize edebileceği bir bulut tabanlı makine öğrenimi platformudur. Hızlı kurulumu ve kullanımı kolay olmasıyla tasarlanmıştır, böylece kullanıcılar sadece birkaç satır kodla makine öğrenimi deneylerini takip etmeye başlayabilir, herhangi bir özel kütüphane bağımlılığı olmadan.
Comet’in Ana Özellikleri
- Özelleştirilebilir Görselleştirmeler: Comet, deneyler ve veriler için özelleştirilebilir görselleştirmeler oluşturmanıza olanak tanır. Ayrıca, panellerde topluluk tarafından sağlanan görselleştirmeleri de kullanabilirsiniz, bu da sonuçların analizini ve yorumlanmasını geliştirir.
- Gerçek Zamanlı İzleme: Comet, devam eden deneyler hakkında gerçek zamanlı istatistikler ve grafikler sağlar, bu da modellerinizin performansını ve ilerlemesini izlemenizi sağlar.
- Deney Karşılaştırması: Comet ile deneyleri kolayca karşılaştırabilirsiniz, bu da kodu, metrikleri, öngörüler, içgörüler ve daha fazlasını içerir. Bu özellik, en iyi performans gösteren modelleri ve yapılandırmaları belirlemenizi kolaylaştırır.
- Hata Ayıklama ve Hata İzleme: Comet, model hatalarını, ortam özgü hataları ve eğitim ve değerlendirme sırasında ortaya çıkabilecek diğer sorunları ayıklamanıza olanak tanır.
- Model İzleme: Comet, modellerinizi izlemenize ve sorunlar veya hatalar oluştuğunda bildirim almanıza olanak tanır, böylece zamanında müdahale edebilirsiniz.
- İşbirliği: Comet, ekipler ve iş paydaşları arasında işbirliğini destekler, böylece bilgi paylaşımı ve iletişim kolaylaşır.
- Çerçeve Entegrasyonu: Comet, TensorFlow, PyTorch ve diğer popüler ML çerçeveleri ile kolayca entegre olur, bu da çeşitli projeler ve kullanım durumları için uygun bir araç haline getirir.
Doğru MLOps Aracını Seçme
Bir MLOps aracı seçerken, ekibinizin belirli çerçevelerle olan aşinalığını, projenin gereksinimlerini, modelin karmaşıklığını ve dağıtım ortamını dikkate almanız önemlidir. Bazı araçlar, belirli kullanım durumları veya mevcut altyapınızla daha iyi entegre olabilir.
Ayrıca, aracın belgelerini, topluluk desteğini ve kurulum ve entegrasyon kolaylığını değerlendirmek önemlidir. İyi belgelendirilmiş bir araç ve aktif bir topluluk, öğrenme eğrisini önemli ölçüde hızlandırabilir ve sorunları çözmenize yardımcı olabilir.
Etik MLOps Uygulamaları
MLOps araçlarının ve uygulamalarının faydalarını en üst düzeye çıkarmak için, bazı en iyi uygulamalara uymak önemlidir:
- Tutarlı Günlüğe Kaydetme: Tüm ilgili hiperparametreleri, metrikleri ve artifact’leri deneyler boyunca tutarlı bir şekilde günlüğe kaydetmeye özen gösterin. Bu, yeniden üretilebilirliği teşvik eder ve farklı çalışmalardan sonuçları karşılaştırmayı kolaylaştırır.
- İşbirliği ve Paylaşım: MLOps araçlarının işbirliği özelliklerini kullanarak deneyleri, görselleştirmeleri ve içgörülerinizi takım üyeleriyle paylaşın. Bu, bilgi alışverişi ve işbirliğini teşvik eder ve genel proje sonuçlarını iyileştirir.
- Belgeler ve Notlar: MLOps aracı içinde deney ayrıntıları, gözlemler ve içgörüler hakkında kapsamlı belgeler ve notlar tutun. Bu, geçmiş deneyleri anlamayı ve gelecekteki iterasyonlar için bilgi birikimini kolaylaştırır.
- Sürekli Entegrasyon ve Dağıtım (CI/CD): Makine öğrenimi modelleriniz için CI/CD boru hatlarını uygulayın. Bu, otomatik test, dağıtım ve izlemeyi sağlar ve hataların riskini azaltır.
Kod Örnekleri ve Kullanım Durumları
MLOps araçlarının pratik kullanımını daha iyi anlamak için, bazı kod örnekleri ve kullanım durumlarını keşfedeceğiz.
Weights & Biases ile Deney Takip
Weights & Biases, PyTorch gibi popüler makine öğrenimi çerçeveleri ile sorunsuz bir şekilde entegre olur. Aşağıda, PyTorch ile model eğitimi sırasında nasıl metrikleri günlüğe kaydedebileceğinizi ve görselleştirebileceğinizi gösteren bir örnek vardır:
[kod dili=”PYTHON”]
import wandb
import torch
import torchvision
# W&B’yi başlat
wandb.init(proje=”görüntü-sınıflandırma”, varlık=”my-team”)
# Veri ve modeli yükle
eğitim_yükleyici = torch.utils.data.DataLoader(…)
model = torchvision.models.resnet18(ön_eğitimli=True)
# Eğitim döngüsünü kur
optimizer = torch.optim.SGD(model.parametreleri(), lr=0.01)
kriter = torch.nn.CrossEntropyLoss()
for epoch in range(10):
for girdiler, etiketler in eğitim_yükleyici:
optimizer.sıfırla_grad()
çıktılar = model(girdiler)
kayıp = kriter(çıktılar, etiketler)
kayıp.backward()
optimizer.adım()
# Metrikleri günlüğe kaydet
wandb.log({“kayıp”: kayıp.item()})
# Modeli kaydet
torch.save(model.state_dict(), “model.pth”)
wandb.save(“model.pth”)
[/kod]
Bu örnekte, bir W&B çalışması başlatır, bir ResNet-18 modelini bir görüntü sınıflandırma görevi için eğitir ve her adımda eğitim kaybını günlüğe kaydederiz. Ayrıca, eğitilen modeli bir artifact olarak wandb.save() kullanarak kaydederiz. W&B, sistem metrikleri gibi GPU kullanımını otomatik olarak takip eder ve eğitim ilerlemesini, kayıp eğrilerini ve sistem metriklerini W&B panosunda görselleştirebiliriz.
Evidently ile Model İzleme
Evidently, üretim ortamlarında makine öğrenimi modellerini izlemek için güçlü bir araçtır. Aşağıda, veri kaymasını ve model performansını izlemek için nasıl kullanılabileceğini gösteren bir örnek vardır:
[kod dili=”PYTHON”]
import evidently
import pandas as pd
from evidently.model_monitoring import ModelMonitor
from evidently.model_monitoring.monitors import DataDriftMonitor, PerformanceMonitor
# Referans verilerini yükle
referans_verisi = pd.read_csv(“referans_verisi.csv”)
# Üretim verilerini yükle
üretim_verisi = pd.read_csv(“üretim_verisi.csv”)
# Modeli yükle
model = load_model(“model.pkl”)
# Veri kayması ve performans izleyicileri oluştur
veri_kayması_izleyici = DataDriftMonitor(referans_verisi)
performans_izleyici = PerformanceMonitor(referans_verisi, model)
# Model izleyici oluştur
model_izleyici = ModelMonitor(veri_kayması_izleyici, performans_izleyici)
model_izleyici.run(üretim_verisi)
# HTML raporunu kaydet
model_izleyici.report.save_html(“model_izleme_raporu.html”)
[/kod]
Bu örnekte, referans ve üretim verilerini yükler, eğitilmiş bir model yükleriz. Veri kayması ve performans izleyicileri oluşturur ve bunları ModelMonitor kullanarak üretim verilerini çalıştırırız. Son olarak, sonuçları bir HTML raporunda kaydederiz.
BentoML ile Dağıtım
BentoML, makine öğrenimi modellerini dağıtmak ve bakımını yapmak için basit bir araçtır. Aşağıda, scikit-learn modelini BentoML ile nasıl paketleyip dağıtabileceğinizi gösteren bir örnek vardır:
[kod dili=”PYTHON”]
import bentoml
from bentoml.io import NumpyNdarray
from sklearn.linear_model import LogisticRegression
# Modeli eğitin
clf = LogisticRegression()
clf.fit(X_eğitim, y_eğitim)
# BentoML hizmeti tanımla
class LogisticRegressionService(bentoml.BentoService):
@bentoml.api(girdi=NumpyNdarray(), batch=True)
def predict(self, girdi_verisi):
return self.artifact.clf.predict(girdi_verisi)
@bentoml.artifacts([LogisticRegression.artifacts])
def pack(self, artifacts):
artifacts.clf = clf
# Modeli paketleyin ve kaydedin
hizmet = bentoml.Service(“lojistik_regresyon”, runners=[LogisticRegressionService()])
hizmet.paket().kaydet()
# Modeli dağıtın
hizmet = LogisticRegressionService.yükle()
hizmet.başlat()
[/kod]
Sonuç
Makine öğrenimi alanının hızla geliştiği günümüzde, MLOps araçları makine öğrenimi projelerinin tüm yaşam döngüsünü basitleştirmede kritik bir rol oynar. Weights & Biases, Comet, MLflow, Kubeflow, BentoML ve Evidently gibi araçlar, makine öğrenimi iş akışının çeşitli yönlerini destekleyen bir dizi özellik sunar.
Bu araçları kullanarak, veri bilimci ekipleri işbirliğini, yeniden üretilebilirliği ve verimliliği artırabilir ve üretim ortamlarında güvenilir ve yüksek performanslı makine öğrenimi modellerinin dağıtılmasını sağlayabilir. Makine öğreniminin endüstriler genelinde benimsenmesi devam ettikçe, MLOps araçları ve uygulamalarının önemi yalnızca artacaktır, bu da inovasyonu teşvik edecek ve organizasyonların yapay zeka ve makine öğrenimi teknolojilerinden tam olarak yararlanmasına olanak tanıyacaktır.








