Model Deployment
Makine öğrenmesi modellerini bulut veya uç ortamlara nasıl dağıtacağını öğren. Ultralytics Platformunun YOLO26 için dışa aktarma ve üretimi nasıl kolaylaştırdığını keşfet.
Model deployment, eğitilmiş bir makine öğrenimi modelinin, yeni verilere dayanarak pratik kararlar veya tahminler yapmak üzere bir üretim ortamına entegre edildiği kritik aşamadır. Genellikle izole not defterlerinde gerçekleştirilen bir araştırma veya deneysel ortamdan, modelin gerçek dünya kullanıcıları ve sistemleriyle etkileşime girdiği canlı bir uygulamaya geçişi temsil eder. Bu süreç, ağırlıklar ve mimariden oluşan statik bir dosyayı, video akışındaki nesneleri tanımlamak veya bir web sitesinde ürün önermek gibi değer üretebilen aktif bir AI agent haline dönüştürür.
Etkili bir deployment, model training sürecinden farklı olarak gecikme, ölçeklenebilirlik ve donanım uyumluluğu gibi zorlukların ele alınmasını gerektirir. Kuruluşlar, bulutta eğitilen modellerin güçlü sunuculardan kaynak kısıtı olan uç cihazlara kadar çeşitli ortamlara sorunsuz bir şekilde sunulabilmesini sağlamak için genellikle Ultralytics Platform kullanır.
Dağıtım Ortamı#
Dağıtım stratejileri genel olarak iki kategoriye ayrılır: bulut dağıtımı ve uç dağıtımı. Seçim, hız, gizlilik ve bağlantı ile ilgili özel gereksinimlere büyük ölçüde bağlıdır.
- Bulut Deployment: Model, genellikle AWS SageMaker veya Google Vertex AI gibi hizmetler tarafından yönetilen merkezi sunucularda barındırılır. Uygulamalar, isteği işleyen ve sonucu döndüren bir REST API aracılığıyla verileri internet üzerinden modele gönderir. Bu yöntem neredeyse sınırsız bilgi işlem gücü sunarak büyük ve karmaşık modeller için ideal hale getirir, ancak kararlı bir internet bağlantısına dayanır.
- Edge Deployment: Model, akıllı telefon, drone veya fabrika kamerası gibi verilerin üretildiği cihazda yerel olarak çalışır. edge computing olarak bilinen bu yaklaşım, bilgiler cihazdan ayrılmadığı için gecikmeyi en aza indirir ve veri gizliliğini artırır. TensorRT gibi araçlar, modelleri bu ortamlar için optimize etmek amacıyla sıklıkla kullanılır.
Modelleri Üretime Hazırlama#
Bir model dağıtılabilmeden önce, hedef donanımda verimli bir şekilde çalışmasını sağlamak için tipik olarak optimizasyondan geçer. Bu süreç, eğitim formatının (PyTorch gibi) ONNX (Open Neural Network Exchange) veya OpenVINO gibi dağıtıma uygun bir biçime dönüştürüldüğü model export aşamasını içerir.
quantization gibi optimizasyon teknikleri, doğruluktan önemli ölçüde ödün vermeden modelin boyutunu ve bellek ayak izini azaltır. Farklı bilgi işlem ortamlarında tutarlılık sağlamak için geliştiriciler genellikle modeli gerekli tüm yazılım bağımlılıklarıyla birlikte paketleyen Docker gibi containerization araçlarını kullanır.
Aşağıda, deployment hazırlığında yaygın bir adım olan bir YOLO26 model modelini ONNX formatına nasıl export edeceğinize dair bir örnek verilmiştir:
from ultralytics import YOLO
# Load the YOLO26 nano model
model = YOLO("yolo26n.pt")
# Export the model to ONNX format for broad compatibility
# This creates a file suitable for various inference engines
path = model.export(format="onnx")
print(f"Model successfully exported to: {path}")Gerçek Dünya Uygulamaları#
Model deployment, çeşitli endüstrilerde yaygın olarak kullanılan computer vision sistemlerine güç sağlar.
- Üretim Kalite Kontrolü: smart manufacturing içinde, dağıtılan modeller konveyör bantlarını gerçek zamanlı olarak izler. NVIDIA Jetson cihazları için optimize edilmiş bir model çalıştıran kamera sistemi, ürünlerdeki kusurları anında tespit edebilir ve hatalı öğelerin kaldırılması için robotik bir kolu tetikleyebilir. Bu, yalnızca edge AI deployment sürecinin sağlayabileceği ultra düşük gecikme süresi gerektirir.
- Perakende Analitiği: Mağazalar, yaya trafiğini ve müşteri davranışlarını analiz etmek için dağıtılan modelleri kullanır. object tracking modellerini güvenlik kamerası akışlarına entegre ederek perakendeciler, popüler koridorların ısı haritalarını oluşturabilir. Bu içgörüler, mağaza düzenlerini optimize etmeye yardımcı olur ve genellikle birden fazla konumdan gelen verileri toplamak için bulut tabanlı deployment kullanarak inventory management sürecini iyileştirir.
Dağıtım vs. Çıkarım vs. Eğitim#
Model Dağıtımı terimini makine öğrenimi yaşam döngüsündeki ilgili terimlerden ayırmak önemlidir:
- Model Eğitimi, algoritmanın bir veri kümesinden kalıpları öğrendiği eğitim aşamasıdır.
- Model Dağıtımı, eğitilmiş modelin bir üretim altyapısına (sunucular, uygulamalar veya cihazlar) kurulduğu entegrasyon aşamasıdır.
- Inference, operasyonel aşamadır; dağıtılan modelin bir tahmin üretmek için canlı verileri işlemesinin fiili eylemidir. Örneğin, inference engine dağıtılan model tarafından tanımlanan hesaplamaları yürütür.
İzleme ve Bakım#
Deployment yolun sonu değildir. Canlıya alındıktan sonra modeller, gerçek dünya verilerinin eğitim verilerinden sapmaya başladığı data drift gibi sorunları tespit etmek için sürekli model monitoring gerektirir. Performans metriklerini takip etmek, sistemin zaman içinde güvenilir kalmasını sağlamak için Prometheus veya Grafana gibi araçlar genellikle entegre edilir. Performans düştüğünde, MLOps döngüsünü tamamlamak üzere modelin yeniden eğitilmesi ve yeniden dağıtılması gerekebilir.






