Model Deployment
Model dağıtımı, yeni veriler üzerinde tahmin sunması için eğitilmiş bir modeli üretime alır. Bulut ve uç hedefleri, dışa aktarma, aşamalı kullanıma sunma ve izlemeyi ele alır.
Model dağıtımı, eğitilmiş bir makine öğrenimi modelini üretime alma sürecidir; bu aşamada uygulamalar modele yeni veriler gönderir ve tahminlerine göre işlem yapar. Süreç; modelin nerede çalışacağını seçmeyi, modeli hedef çalışma zamanının yürütebileceği bir biçime dönüştürmeyi, bir API veya uygulama aracılığıyla girdilere ve çıktılara bağlamayı, yeni sürümleri güvenli biçimde yayımlamayı ve gerçek kullanıcılar modele güvenmeye başladıktan sonra modelin davranışını izlemeyi kapsar. Not defterinde iyi puan alan bir model, dağıtılana kadar yalnızca bir denemedir. Dağıtım, veri biliminin gecikme, maliyet, çalışma süresi ve güvenlik gibi yazılım mühendisliği kısıtlarıyla buluştuğu makine öğrenimi operasyonları (MLOps) aşamasıdır.
Modeller Nerede Dağıtılır#
- Bulut dağıtımı: Model, genellikle istekleri toplu hâlde işleyip çoğaltmaları talebe göre ölçeklendiren bir model sunum sistemi aracılığıyla REST veya gRPC uç noktalarının arkasındaki sunucularda çalışır. Büyük modeller ve değişken trafik için uygundur; her istek ağ üzerinden gidiş dönüş gerektirir.
- Uç dağıtımı: Model; telefon, kamera, robot veya NVIDIA Jetson modülü gibi veriyi yakalayan cihazda çalışır. Gizliliği korumak için girdiler cihazdan çıkmaz ve model çevrim dışıyken de çalışır; ancak sınırlı bellek ve güç genellikle sıkıştırılmış bir model gerektirir.
- Sunucusuz dağıtım: Platform, örnekleri isteğe bağlı başlatır ve boştayken bunları sıfıra ölçeklendirir. İlk istek için soğuk başlatma gecikmesini göze alırken hiç istek gelmediğinde ödeme yapmazsın.
- Toplu dağıtım: Zamanlanmış bir iş, gecelik ürün önerileri gibi büyük bir veri kümesini tek seferde puanlar; burada istek başına hızdan çok iş hacmi önemlidir.
Ultralytics Platform, eğitilmiş bir YOLO modelini 42 bölgeden herhangi birindeki özel bir uç noktaya dağıtır. Her uç noktanın kendine ait URL'si ve izleme sistemi bulunur; varsayılan kaynak boyutundaki uç noktalar boştayken sıfıra ölçeklenir. Hedef seçimi, uygulamayla ilgili birkaç sorunun yanıtına bağlıdır:
Bir Modeli Üretime Hazırlama#
Eğitim çerçeveleri esneklik sağlamak üzere tasarlanır; bu nedenle üretim modelleri genellikle bir çıkarım motorunun verimli biçimde çalıştırdığı bir biçime aktarılır. Bunlara taşınabilirlik için ONNX, NVIDIA GPU'ları için TensorRT, Intel donanımı için OpenVINO ya da telefonlar için LiteRT ve Core ML örnek verilebilir. Hedef cihazın kaynakları kısıtlıysa model nicemleme ve model budama, modeli daha da küçültür. Ardından dışa aktarılan model ve ön işleme kodu, sürümleri sabitlenmiş bağımlılıklarla paketlenir; genellikle bir dizüstü bilgisayarda, sunucuda veya Kubernetes kümesinde aynı şekilde çalışan bir Docker kapsayıcısına konur. Eğitilmiş bir nesne algılayıcıyı dışa aktarıp yayımlamadan önce hızlıca denetlemek için dışa aktarılan dosyayı yüklemek şöyle görünür:
from ultralytics import YOLO
# Load a trained model (replace with your own best.pt)
model = YOLO("yolo26n.pt")
# Export to ONNX, a portable format that many inference engines run
path = model.export(format="onnx")
print(f"Deployable model: {path}")
# Smoke-test the exported file with the same API before shipping it
onnx_model = YOLO(path)
results = onnx_model("https://ultralytics.com/images/bus.jpg")
results[0].save(filename="bus_onnx.jpg")Dışa aktarma çağrısı yeni yolo26n.onnx dosyasının yolunu döndürür ve kaydedilen görüntü, dışa aktarılan dosyanın yüklendiğini ve tespit ürettiğini doğrular. Biçim dönüştürme ve düşük hassasiyet çıktıları az miktarda değiştirebildiğinden ekipler, bir doğrulama kümesinde dışa aktarılan modelin doğruluğunu ve hızını orijinal modelinkiyle de karşılaştırır.
Yeni Model Sürümlerini Yayımlama#
Çevrim dışı metrikler üretim koşullarının tümünü yansıtmadığından, yeni model sürümü bir model kayıt sisteminde saklanır ve aşamalı olarak yayımlanır. Gölge dağıtımda yeni model canlı trafikten bir kopya alırken kullanıcıları mevcut model yanıtlamaya devam eder; böylece risk almadan iki model karşılaştırılabilir. Ardından kanarya sürümü, gerçek trafiğin küçük bir bölümünü yeni sürüme yönlendirir ve hata oranları, gecikme ve tahmin kalitesi sağlıklı kaldığı sürece bu oranı artırır; A/B testleri de iş sonuçları üzerindeki etkiyi ölçer. Önceki sürümün yeniden dağıtılabilir durumda tutulması, geri almayı acil bir yeniden derleme yerine bir yapılandırma değişikliğine dönüştürür:
Model Dağıtımı ve İlişkili Terimler#
- Model eğitimi: Bir veri kümesinden modelin ağırlıklarını öğrenir. Dağıtım, tamamlanmış ağırlıklarla başlar.
- Model sunumu: Tahmin isteklerine yanıt veren çalışma zamanı katmanıdır. Paketleme, yayımlama ve izlemeyi de kapsayan dağıtımın bir parçasıdır.
- Çıkarım gecikmesi: Dağıtılan modelin her bir tahmini hesaplamasının ne kadar sürdüğüdür ve dağıtımın karşılaması gereken temel gereksinimlerden biridir.
Dağıtım Sonrası İzleme#
Dünya değiştiğinde dağıtılan bir model sessizce performans kaybeder. Model izleme, gecikme, iş hacmi, hata oranları ve donanım kullanımı gibi operasyonel sinyallerin yanı sıra girdilerin ve tahminlerin istatistiklerini de izler; bunun için genellikle Prometheus ve Grafana gibi araçlar kullanılır. İzleme bir sorun belirlediğinde ekipler yeni başarısızlık örneklerini etiketler, modeli yeniden eğitir ve yeni sürümü aynı yayımlama sürecinden geçirir. En erken uyarıyı girdi istatistikleri verir: yeni açıya taşınan kamera veya kış ışığına geçiş gibi girdi dağılımındaki değişim olan veri kayması, üretim verilerinin doğruluğu ölçmeye yarayan gerçek etiketleri gelmeden günler veya haftalar önce burada görülür.










