Model Deployment
Makine öğrenmesi modellerini bulut veya uç ortamlarına nasıl dağıtacağını öğren. Ultralytics Platform'un YOLO26 için dışa aktarma ve üretim süreçlerini nasıl kolaylaştırdığını keşfet.
Model dağıtımı, eğitilmiş bir makine öğrenimi modelinin yeni verilere dayanarak pratik kararlar veya tahminler üretmesi için üretim ortamına entegre edildiği kritik aşamadır. Bu aşama, genellikle yalıtılmış not defterlerinde yürütülen araştırma veya deneme ortamından, modelin gerçek dünyadaki kullanıcılar ve sistemlerle etkileşime girdiği canlı bir uygulamaya geçişi temsil eder. Bu süreç, statik bir ağırlıklar ve mimari dosyasını, video akışındaki nesneleri tanımlamak veya bir web sitesinde ürün önermek gibi değer üretebilen etkin bir AI agent hâline dönüştürür.
Etkili dağıtım; gecikme, ölçeklenebilirlik ve donanım uyumluluğu gibi model training sürecinden farklı zorlukların ele alınmasını gerektirir. Kuruluşlar, bu yaşam döngüsünü kolaylaştırmak için genellikle Ultralytics Platform kullanır; böylece bulutta eğitilen modeller, güçlü sunuculardan kaynakları kısıtlı uç cihazlara kadar çeşitli ortamlara sorunsuzca aktarılabilir.
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 büyük ölçüde hız, gizlilik ve bağlantı gereksinimlerine bağlıdır.
- Bulut Dağıtımı: Model, genellikle AWS SageMaker veya Google Vertex AI gibi hizmetler tarafından yönetilen merkezi sunucularda bulunur. Uygulamalar, verileri bir REST API aracılığıyla internet üzerinden modele gönderir; model isteği işler ve sonucu döndürür. Bu yöntem neredeyse sınırsız işlem gücü sunar, bu nedenle büyük ve karmaşık modeller için idealdir; ancak istikrarlı bir internet bağlantısına dayanır.
- Uç Dağıtımı: Model, verilerin üretildiği akıllı telefon, drone veya fabrika kamerası gibi cihazda yerel olarak çalışır. Uç bilişim olarak bilinen bu yaklaşım, bilgilerin cihazdan çıkmaması sayesinde 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ıkça kullanılır.
Modelleri Üretime Hazırlama#
Bir model dağıtılmadan önce, hedef donanımda verimli çalışmasını sağlamak için genellikle optimizasyondan geçirilir. Bu süreç, eğitim biçiminin (örneğin PyTorch) ONNX (Açık Sinir Ağı Değişimi) veya OpenVINO gibi dağıtıma uygun bir biçime dönüştürüldüğü model export işlemini içerir.
Quantization gibi optimizasyon teknikleri, doğruluktan önemli ölçüde ödün vermeden modelin boyutunu ve bellek kullanımını azaltır. Geliştiriciler, farklı işlem ortamları arasında tutarlılığı sağlamak için modeli gerekli tüm yazılım bağımlılıklarıyla birlikte paketleyen Docker gibi containerization araçlarını sıkça kullanır.
Aşağıda, dağıtıma hazırlıkta yaygın bir adım olan ONNX biçimine bir YOLO26 model aktarma örneği 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 dağıtımı, çeşitli sektörlerde yaygın olarak kullanılan computer vision sistemlerine güç verir.
- Üretimde Kalite Kontrolü: Akıllı üretim süreçlerinde 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 ederek hatalı ürünleri kaldırması için robotik bir kolu tetikleyebilir. Bu işlem, yalnızca uç AI dağıtımının sağlayabileceği ultra düşük gecikme 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. Perakendeciler, nesne takibi modellerini güvenlik kamerası akışlarına entegre ederek popüler reyonların ısı haritalarını oluşturabilir. Bu içgörüler, mağaza düzenlerini optimize etmeye ve envanter yönetimini geliştirmeye yardımcı olur; birden çok konumdaki verileri bir araya getirmek için genellikle bulut tabanlı dağıtımdan yararlanılır.
Dağıtım ve Çıkarım ile Eğitim Arasındaki Fark#
Makine öğrenimi yaşam döngüsündeki ilgili terimlerle Model Dağıtımı arasındaki farkı ayırt etmek önemlidir:
- Model Eğitimi, algoritmanın bir veri kümesinden örüntüleri öğ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.
- Çıkarım, dağıtılan modelin bir tahmin üretmek üzere canlı verileri işlediği operasyonel aşamadır; yani bu işlemin kendisidir. Örneğin inference engine, dağıtılan model tarafından tanımlanan hesaplamaları yürütür.
İzleme ve Bakım#
Dağıtım yolun sonu değildir. Modeller canlıya alındıktan sonra, gerçek dünyadaki verilerin eğitim verilerinden farklılaşmaya başladığı data drift gibi sorunları tespit etmek için sürekli model monitoring gerektirir. Performans ölçümlerini izlemek ve 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 modelin yeniden eğitilmesi ve yeniden dağıtılması gerekebilir; böylece MLOps döngüsü tamamlanır.









