Makine Öğrenimi Operasyonları (MLOps)
AI dağıtımını kolaylaştırmak için MLOps'un temel unsurlarını keşfedin. Ultralytics ve Platformumuzla CI/CD, veri sürümleme ve izlemeyi nasıl yöneteceğinizi öğrenin.
Makine Öğrenimi Operasyonları (MLOps), makine öğrenimi (ML) modellerini deneysel geliştirmeden güvenilir üretim dağıtımına
taşıma sürecini kolaylaştıran bir dizi uygulama, ilke ve teknolojidir.
Deneysel geliştirmeden güvenilir üretim dağıtımına Veri biliminin keşifsel doğasını DevOps'un titiz disipliniyle birleştiren MLOps,
Yapay Zeka (AI)
uygulamalarının sürüm döngüsünü birleştirmeyi amaçlamaktadır. Geleneksel yazılım geliştirme öncelikle kod sürümlerine odaklanırken, MLOps
büyük ölçekli verileri yönetme ve model davranışlarını geliştirme gibi ek karmaşıklıklar getirir. Bu bütünsel yaklaşım,
AI sistemlerinin tüm yaşam döngüsü boyunca ölçeklenebilir, doğru ve yönetilebilir olmasını sağlar.
MLOps'un Temelleri
Başarılı MLOps uygulamaları, üç farklı disiplin arasındaki boşluğu doldurmaya dayanır: veri mühendisliği,
makine öğrenimi ve DevOps.
-
Sürekli Entegrasyon ve Teslimat (CI/CD): Standart yazılımların
CI/CD boru hatlarını kullanarak test ve
dağıtımı otomatikleştirdiği gibi, MLOps boru hatları da model eğitimi ve doğrulamayı otomatikleştirir. Bu, kod veya verilerdeki değişikliklerin,
güncellemeler üretime ulaşmadan önce
model performansını doğrulamak için
otomatik olarak adımları tetiklemesini sağlar.
-
Veri ve Model Sürümleme: Geleneksel kodlamada, yalnızca kaynak kodun sürümünü alırsınız. MLOps'ta ise ekipler,
model hiperparametrelerinin yanı sıra eğitim verilerindeki track için DVC (Veri Sürüm Kontrolü) gibi araçlar kullanmalıdır.
Bu,
tekrar üretilebilirliği garanti eder ve
mühendislerin geçmişteki herhangi bir model sürümünü yeniden oluşturabilmelerini sağlar.
-
Sürekli İzleme: Dağıtıldıktan sonra modeller,
hedef değişkenin istatistiksel özelliklerinin zamanla değiştiği
kavram kayması nedeniyle bozulabilir. MLOps,
çıkarım gecikmesi ve doğruluğu gibi track için
gözlemlenebilirlik sistemleri kurmayı ve yeniden eğitim gerektiğinde
ekiplere otomatik olarak uyarı vermeyi içerir.
Gerçek Dünya Uygulamaları
MLOps, modern kurumsal yapay backbone kemiğidir ve şirketlerin tek bir modelden binlerce
dağıtılmış uç noktaya güvenilir bir şekilde ölçeklendirme yapmasını sağlar.
-
Üretimde Öngörücü Bakım: Fabrikalar,
montaj hatlarındaki kusurları tespit etmek için
bilgisayar görüşünü kullanır. MLOps boru hattı, yeni ürün hatları piyasaya sürüldükçe,
nesne algılama modellerinin yeni
görüntülerle yeniden eğitilmesini, sürümlenmesini ve kesintiye uğramadan fabrika kenar cihazlarına otomatik olarak dağıtılmasını sağlar. Bu, üretim koşulları değişse bile
kalite kontrolünün
tutarlı kalmasını sağlar.
-
Akıllı Perakende Envanteri: Perakendeciler, track stoklarını track için kameralar kullanıyor. Mağaza aydınlatması ve
ürün ambalajları sık sık değiştiği için, model sapması
sürekli bir risk oluşturuyor. MLOps sistemleri
güven puanlarını izliyor; güven düşerse, sistem
görüntüleri açıklama için işaretliyor ve bulutta yeniden eğitim döngüsü başlatarak, otomatik envanter yönetimini sürdürmek için mağazalara güncellenmiş bir model gönderiyor
.
Ultralytics ile MLOps Uygulama
Herhangi bir MLOps iş akışında kritik bir adım
deney takibidir. Bu, her
eğitim çalışmasının belirli yapılandırmasıyla kaydedilmesini sağlar ve ekiplerin sonuçları yeniden üretmesine veya gerekirse önceki
sürümlerine geri dönmesine olanak tanır.
Aşağıdaki örnek, proje takibi özelliğini etkinleştirirken
YOLO26 modelini ( Ultralytics tüm yeni projeler için Ultralytics en son teknoloji ürünü model)
nasıl eğiteceğinizi göstermektedir. Bu, doğal olarak üretim boru hattı için gerekli olan
yapay nesneleri oluşturur.
from ultralytics import YOLO
# Load the YOLO26 model (recommended for superior speed and accuracy)
model = YOLO("yolo26n.pt")
# Train the model while specifying project and name for organized logging
# This creates a structured directory of artifacts (weights, charts, args)
# which is essential for reproducibility in MLOps pipelines.
results = model.train(data="coco8.yaml", epochs=10, project="mlops_experiments", name="run_v1")
Eğitim çalışmalarını belirli projeler halinde organize ederek, ekipler
MLflow veya
TensorBoard gibi araçları kolayca entegre ederek zaman içindeki performans metriklerini görselleştirebilirler.
Kuruluşlar büyüdükçe, bu iş akışlarını genellikle
Ultralytics taşırlar. Bu Ultralytics , veri kümelerini yönetmek, uzaktan eğitim vermek ve modelleri
TensorRT gibi çeşitli formatlara dağıtmak için birleşik bir arayüz sunan Ultralytics Platformuna taşırlar.
MLOps ve İlgili Kavramlar
Bu uygulamaları etkili bir şekilde hayata geçirmek için, MLOps'u ekosistemdeki ilgili terimlerden ayırmak önemlidir.
-
MLOps ve DevOps: DevOps,
yazılım uygulamalarının sürekli teslimatına odaklanır. MLOps, "Veri" ve
"Model"i birinci sınıf unsurlar olarak ekleyerek bu ilkeleri genişletir. DevOps'ta, bir kod değişikliği bir derlemeyi tetikler; MLOps'ta ise veri
dağılımlarındaki bir değişiklik veya hassasiyetteki bir düşüş de
yeni bir ardışık düzen yürütmesini tetikleyebilir.
-
MLOps ve Model Sunumu:
Model sunumu, özellikle bir modeli barındırmak ve
çıkarım isteklerini işlemek için kullanılan altyapıyı ifade eder.
MLOps ise, sunumu da kapsayan daha geniş bir kavramdır, ancak aynı zamanda eğitim, yönetişim ve izleme aşamalarını da içerir.
MLOps veModel Sunumu:
-
MLOps ve AutoML:
Otomatik Makine Öğrenimi (AutoML)
model oluşturma sürecini (örneğin, algoritma seçimi) otomatikleştirmeye odaklanır. MLOps, model oluşturulduktan sonra
modelin yaşam döngüsünü yönetir ve AutoML araçlarını çalıştıran boru hattını işlevsel hale getirir.