Machine Learning Operations (MLOps)
Yapay zekâ dağıtımını kolaylaştırmak için MLOps temellerini keşfet. Ultralytics YOLO26 ve Platform ile CI/CD, veri sürümleme ve izlemeyi nasıl yöneteceğini öğren.
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. Veri biliminin keşif odaklı yapısını DevOps'un titiz disipliniyle birleştiren MLOps, Yapay Zeka (AI) uygulamalarının sürüm döngüsünü birleştirmeyi amaçlar. Geleneksel yazılım geliştirme öncelikle kod sürümlemeye odaklanırken MLOps, büyük ölçekli verileri ve zaman içinde değişen model davranışlarını yönetmenin getirdiği ek karmaşıklıkları ele alır. Bu bütünsel yaklaşım, AI sistemlerinin tüm yaşam döngüleri boyunca ölçeklenebilir, doğru ve yönetişim altında kalmasını sağlar.
MLOps'un Temel Sütunları#
Başarılı MLOps uygulamaları; veri mühendisliği, makine öğrenimi ve DevOps olmak üzere üç farklı disiplin arasındaki boşluğu kapatmaya dayanır.
- Sürekli Entegrasyon ve Teslimat (CI/CD): Standart yazılımlarda test ve dağıtımı otomatikleştirmek için CI/CD işlem hatları kullanıldığı gibi, MLOps işlem hatları da model eğitimi ve doğrulamasını otomatikleştirir. Bu sayede kod veya verilerdeki değişiklikler, güncellemeler üretime ulaşmadan önce model performansını doğrulamak için gereken adımları otomatik olarak tetikler.
- Veri ve Model Sürümleme: Geleneksel kodlamada yalnızca kaynak kodu sürümlersin. MLOps'ta ekiplerin, eğitim verilerindeki değişiklikleri model hiperparametreleriyle birlikte izlemek için DVC (Veri Sürüm Kontrolü) gibi araçları kullanması gerekir. Bu, yeniden üretilebilirliği garanti ederek mühendislerin geçmişteki belirli bir model sürümünü yeniden oluşturmasına olanak tanır.
- Sürekli İzleme: Dağıtıldıktan sonra modeller, hedef değişkenin istatistiksel özelliklerinin zaman içinde değiştiği kavram kayması nedeniyle performans kaybedebilir. MLOps, çıkarım gecikmesi ve doğruluk gibi ölçümleri izlemek için gözlemlenebilirlik sistemleri kurmayı ve yeniden eğitimin gerekli olduğu durumlarda ekipleri otomatik olarak uyarmayı kapsar.
Gerçek Dünya Uygulamaları#
MLOps, modern kurumsal AI'ın omurgasıdır ve şirketlerin tek bir modelden güvenilir biçimde dağıtılmış binlerce uç noktaya ölçeklenmesini sağlar.
-
Üretimde Öngörülü Bakım: Fabrikalar, montaj hatlarındaki kusurları belirlemek için bilgisayarlı görü kullanır. Bir MLOps işlem hattı, yeni ürün hatları kullanıma sunuldukça nesne algılama modellerinin yeni görüntülerle yeniden eğitilmesini, sürümlenmesini ve fabrika uç cihazlarına kesinti olmadan otomatik olarak dağıtılmasını sağlar. Böylece üretim koşulları değişse bile kalite denetimi tutarlı kalır.
-
Akıllı Perakende Envanteri: Perakendeciler, raflardaki stokları takip etmek için kameralar kullanır. Mağaza aydınlatması ve ürün ambalajları sık sık değiştiğinden model kayması sürekli bir risktir. MLOps sistemleri güven skorlarını izler; güven düştüğünde sistem görüntüleri anotasyon için işaretler ve bulutta yeniden eğitim döngüsünü başlatır, ardından otomatik envanter yönetimini sürdürmek için güncellenmiş modeli mağazalara gönderir.
Ultralytics ile MLOps Uygulama#
Her MLOps iş akışındaki kritik adımlardan biri deney takibidir. Bu, her eğitim çalıştırmasının kendine özgü yapılandırmasıyla günlüğe kaydedilmesini sağlayarak ekiplerin gerektiğinde sonuçları yeniden üretmesine veya önceki sürümlere geri dönmesine olanak tanır.
Aşağıdaki örnek, proje takibini etkinleştirirken YOLO26 modelinin nasıl eğitileceğini gösterir. YOLO26, Ultralytics'in tüm yeni projeler için önerdiği en yeni son teknoloji modelidir. Bu işlem, bir üretim işlem hattı için gereken yapıtları doğal olarak 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")Ekipler, eğitim çalışmalarını belirli projeler halinde düzenleyerek performans ölçümlerini zaman içinde görselleştirmek için MLflow veya TensorBoard gibi araçları kolayca entegre edebilir. Kuruluşlar ölçeklendikçe bu iş akışlarını genellikle veri kümelerini yönetmek, uzaktan eğitim gerçekleştirmek ve modelleri optimize edilmiş çıkarım hızı için TensorRT gibi çeşitli biçimlere dağıtmak üzere birleşik bir arayüz sağlayan Ultralytics Platformu'na taşır.
MLOps ve İlgili Kavramlar#
Bu uygulamaları etkili biçimde hayata geçirmek için MLOps'u ekosistemdeki ilgili terimlerden ayırt etmek önemlidir.
- MLOps ve DevOps: DevOps, yazılım uygulamalarının sürekli teslimine odaklanır. MLOps, "Veri" ve "Model"i birinci sınıf bileşenler olarak ekleyerek bu ilkeleri genişletir. DevOps'ta kod değişikliği bir derlemeyi tetikler; MLOps'ta veri dağılımlarındaki bir değişiklik veya kesinlikte bir düşüş de yeni bir işlem hattı yürütmesini tetikleyebilir.
- MLOps ve Model Sunumu: Model sunumu, bir modeli barındırmak ve çıkarım isteklerini işlemek için kullanılan altyapıyı ifade eder. MLOps, sunumu da kapsayan daha geniş bir şemsiye kavramdır; ayrıca eğitim, yönetişim ve izleme aşamalarını da içerir.
- MLOps ve AutoML: Otomatik Makine Öğrenimi (AutoML), model oluşturma sürecini (ör. algoritma seçimini) otomatikleştirmeye odaklanır. MLOps, model oluşturulduktan sonra yaşam döngüsünü yönetir ve AutoML araçlarını çalıştıran işlem hattını operasyonel hale getirir.









