Yolo Vision Shenzhen
Shenzhen
Şimdi katılın

Ultralytics : Bilgisayar görme modellerinin herhangi bir bölgeye dağıtılması

Ultralytics kullanarak bilgisayar görme modellerinizi herhangi bir bölgeye nasıl dağıtabileceğinizi öğrenin ve ölçeklenebilir, hızlı ve esnek bir yapay zeka dağıtımı gerçekleştirin.

Ultralytics ile bilgisayar görme projelerinizi ölçeklendirin

Başlamak

Bu haftanın başlarında Ultralytics , veri hazırlama ve model geliştirmeden devreye almaya kadar görsel yapay zeka iş akışının her aşamasını kolaylaştırarak bilgisayar görme (CV) sistemlerinin piyasaya sürülmesini hızlandırmak üzere tasarlanmış yeni bir uçtan uca ortam olan Ultralytics Ultralytics .

Ultralytics geliştirilmesinin ardındaki temel motivasyonlardan biri, makinelerin görüntü ve videoları analiz etmesini sağlayan bir bilgisayar görme çözümünün, fikir aşamasından etki yaratacak bir noktaya gelene kadar, sadece sağlam bir model oluşturmaktan ibaret olmadığıdır. Bir model eğitildikten ve doğrulama sürecinden geçtikten sonra, uygulamaların gerçek dünya ortamlarında güvenilir bir şekilde görüntü gönderebilmesi, tahminler alabilmesi ve çıkarım yapabilmesi için devreye alınması gerekir.

Makine öğrenimi yaşam döngüsünün bu aşaması, bilgisayar görme modellerinin deneme aşamasını geride bırakıp pratik sistemlere güç vermeye başladığı aşamadır. Veri kümesi hazırlama, etiketleme, model eğitimi ve test etme gibi önceki adımlar sorunsuz ilerlese bile, modelleri devreye almanın güvenilir bir yolu olmadan bu sonuçlar bir fark yaratamaz.

Birçok bilgisayar görme projesinde, uygulamaya geçirme aşaması iş akışındaki en karmaşık adımlardan biri olabilmektedir. 

Ekipler genellikle çıkarım API'lerini yapılandırmak, bilgi işlem kaynaklarını yönetmek, gecikmeyi azaltmak için modelleri kullanıcıların yakınında devreye almak ve sistemler üretim ortamında çalışmaya başladığında performansı izlemek zorunda kalır.

Ultralytics , model dışa aktarım formatları, paylaşımlı çıkarım hizmetleri ve küresel bölgelerdeki özel uç noktalar dahil olmak üzere çeşitli dağıtım seçenekleri sunarak bu süreci kolaylaştırır ve otomatikleştirir. Yönetilen altyapı ve yerleşik izleme özellikleri sayesinde ekipler, eğitilmiş modellerden üretim aşamasına hazır bilgisayar görme sistemlerine kolayca geçiş yapabilir.

Şekil 1. Ultralytics kullanılarak modellerin devreye alınmasına genel bir bakış (Kaynak)

Bu makalede, Ultralytics ’ndaki özel uç noktaları kullanarak bilgisayar görme modellerini herhangi bir bölgeye nasıl dağıtabileceğimizi inceleyeceğiz. Hadi başlayalım!

CV modeli dağıtımı nedir?

Ultralytics kullanarak derin öğrenme modellerini nasıl devreye alacağımıza geçmeden önce, bilgisayar görme modeli devreye almanın tam olarak ne anlama geldiğini daha iyi anlayalım.

Bilgisayar görme modelinin devreye alınması, eğitilmiş bir modeli alıp gerçek dünyada kullanılabilir hale getirme sürecidir. Model, yalnızca eğitim ortamında çalıştırılmak yerine, uygulamaların ona görüntü veya video gönderebilmesi ve karşılığında tahminler alabilmesi için yapılandırılır. 

Örneğin, bir model bir görüntüdeki detect edebilir, görüntü segmentasyonu gerçekleştirebilir, bir depodaki öğeleri tanımlayabilir veya video kayıtlarındaki kalıpları tanıyabilir. Çoğu gerçek dünya sisteminde bu işlem, bir API veya çıkarım uç noktası aracılığıyla gerçekleştirilir. 

Bir uygulama modele bir görüntü gönderir, model bunu işler ve milisaniyeler içinde bir tahmin döndürür. İşte bu sayede Ultralytics YOLO gibi bilgisayar görme modellerinin gerçek zamanlı uygulamaları mümkün kılmasıdır.

Modeller, kullanım amacına bağlı olarak farklı ortamlarda devreye alınabilir. Bazıları bulutta (bulut platformları aracılığıyla) çalışır ve birçok uygulama bu modellere erişebilirken, diğerleri ise hızlı yerel tahminlere ihtiyaç duyan şirket içi kameralar, robotlar veya gömülü sistemler gibi uç cihazlarda çalışır.

Ultralytics 'ndaki yapay zeka modeli dağıtım seçenekleri

Ultralytics , bilgisayar görme alanında karşılaşılan birçok zorluğun üstesinden gelirken, özellikle model dağıtımı konusunda, uygulamanızın ihtiyaçlarına göre esnek bir şekilde çıkarım işlemi gerçekleştirme imkânı sunar. 

İşte platformda mevcut olan model dağıtım seçeneklerine kısa bir bakış:

  • Model dışa aktarma: Modelleri ONNX, TensorRT, CoreML ve TFLite dahil olmak üzere 17 farklı biçime dışa aktarabilirsiniz. Bu sayede modelleri Raspberry Pi ve NVIDIA gibi uç cihazlar, mobil uygulamalar, Docker kapsayıcıları ve özel altyapılar gibi çok çeşitli ortamlarda çalıştırabilirsiniz.
  • Paylaşımlı çıkarım: Platform , modelleri hızlı bir şekilde test etmek için ideal olan, yönetilen bir paylaşımlı çıkarım hizmeti aracılığıyla tahminler gerçekleştirmenize olanak tanır 
  • Özel uç noktalar: Modelleri, 43 küresel bölgede çalıştırılabilen benzersiz API URL'lerine sahip bağımsız hizmetler olarak kolayca dağıtın; üretim ortamı dağıtımları için yerleşik otomatik ölçeklendirme, izleme ve durum denetimlerinden yararlanın.

Özel uç noktalar kullanarak dağıtım

Ultralytics önceden eğitilmiş modelleri veya özel olarak eğitilmiş bilgisayar görme modellerini üretim ortamında çalıştırmanın en ölçeklenebilir yollarından biri, özel uç noktalar kullanmaktır. Özel bir uç nokta, eğitilmiş bir modeli kendi başına bir hizmet olarak devreye almanıza olanak tanır; böylece uygulamalar bu modele görüntü gönderebilir ve bir API aracılığıyla tahminler alabilir.

Bir modeli yalnızca eğitim ortamında veya yerel bir not defterinde çalıştırmak yerine, onu bir uç nokta olarak devreye almak, gerçek uygulamaların bu modele erişebilmesini sağlar. Örneğin, bir depo sistemi nesne algılama amacıyla paketlerin görüntülerini gönderebilir, akıllı bir kamera video karelerini analiz edebilir veya bir robotik sistemi eylemleri yönlendirmek için tahminleri kullanabilir.

Her bir özel uç nokta, tek kiracılı bir hizmet olarak çalışır; bu, modelinizi çalıştıran altyapının diğer kullanıcılarla paylaşılmadığı anlamına gelir. Bu, daha öngörülebilir bir performans sağlar ve modelin üretim ortamında nasıl davrandığını izlemeyi kolaylaştırır.

Özel çıkarım uç noktalarının işlevselliğini anlamak

Özel bir uç noktayı, modeliniz için barındırılan bir hizmet olarak düşünebilirsiniz. Ultralytics , uygulamalar için giriş noktası görevi gören benzersiz bir uç nokta URL’si sağlar. 

Bir uygulama bu URL'ye bir istek gönderdiğinde, kimlik doğrulama için bir API anahtarının yanı sıra bir resim ve güven eşikleri veya resim boyutu gibi isteğe bağlı parametreler de ekler.

Hizmet, modelinizi kullanarak görüntü üzerinde çıkarım işlemi gerçekleştirir ve tahminleri yapılandırılmış bir yanıt olarak döndürür. Bu yapı, geliştiricilerin standart web araçlarını kullanarak bilgisayar görme modellerini gerçek sistemlere entegre etmelerine olanak tanır. 

Uygulamalar, Python, JavaScript, cURL veya diğer HTTP istemcileri kullanarak istek gönderebilir; bu sayede modellerin gösterge panellerine, robotik sistemlere veya bulut uygulamalarına bağlanması kolaylaşır. Uç nokta bağımsız olarak çalıştığı için ölçeklendirme, izleme ve küresel dağıtımı da destekleyebilir; böylece ekiplerin güvenilir üretim amaçlı bilgisayar görme sistemleri oluşturmasına yardımcı olur.

Çok bölgeli dağıtım, gerçek zamanlı çıkarım sürecini iyileştirir

Ultralytics 'ndaki özel uç noktaların en önemli avantajlarından biri, modelleri dünya çapında 43 bölgeye dağıtma imkanı sunmasıdır. Bu bölgeler, Kuzey Amerika, Güney Amerika, Avrupa, Asya Pasifik, Orta Doğu ve Afrika dahil olmak üzere dünyanın birçok bölgesini kapsamaktadır.

Şekil 2. Ultralytics 43 küresel bölgeyi desteklemektedir (Kaynak)

Modelleri uygulamaların çalıştığı yerlere daha yakın bölgelerde devreye almak, gecikmeyi azaltmaya yardımcı olur; gecikme, bir uygulamanın bir görüntüyü göndermesi ve bir tahmin alması için geçen süredir. Ayrıca, veri işlemeyi kaynağına daha yakın tutarak kuruluşların veri gizliliği ve veri yerleşim gerekliliklerini karşılamasına da yardımcı olabilir. 

Düşük gecikme süresi, robotik sistemler, Nesnelerin İnterneti (IoT) cihazları, endüstriyel denetim süreçleri ve akıllı şehir altyapısı gibi gerçek zamanlı çıkarımlara dayanan birçok bilgisayar görme uygulaması için önemlidir.

Örneğin, bir uygulama ağırlıklı olarak Avrupa'da kullanılıyorsa, modeli uzak bir bölgede çalıştırmaya kıyasla Avrupa bölgesinde devreye almak yanıt sürelerini önemli ölçüde iyileştirebilir. 

Ultralytics ile herhangi bir bölgeye nasıl dağıtım yapılır

Bir modeli belirli bir bölgeye dağıtmak oldukça basittir ve genellikle sadece birkaç dakika sürer. Platform, altyapı kurulumunu üstlendiği için geliştiriciler, modeli uygulamalarına entegre etmeye odaklanabilirler. Gelin, gerekli adımları tek tek inceleyelim.

1. Adım: Bir model eğitin veya yükleyin

Uygulamaya geçmeden önce, projenizde kullanıma hazır, eğitilmiş bir modele ihtiyacınız vardır. Bu, doğrudan Ultralytics üzerinde eğitilmiş bir model, başka bir yerde eğitildikten sonra yüklenen bir model veya “Keşfet sekmesi”nde bulunan bir topluluk projesinden kopyalanmış bir model olabilir; bu sekmede, diğer kullanıcılar tarafından paylaşılan genel projeler tek bir tıklamayla kendi hesabınıza kopyalanabilir.

Model hazır olduğunda, devam etmek için projenizdeki model sayfasını açın.

2. Adım: Dağıtım sekmesini açın

Modelin "Dağıtım" sekmesine gidin. Platformun bu bölümü, dağıtımları yapılandırmanıza ve başlatmanıza olanak tanır.

Bu sayfada, dünya çapında mevcut dağıtım konumlarını gösteren bir bölge tablosu ve etkileşimli bir harita göreceksiniz. Platform, bulunduğunuz konumdan gecikme süresini ölçer ve en uygun bölgeyi seçmenize yardımcı olmak için bölgeleri buna göre sıralar.

Şekil 3. Ultralytics gecikme süresine göre sıralanmış bölgeler (Kaynak)

3. Adım: Dağıtım bölgesini seçin

Kullanıcılarınızın veya uygulamalarınızın bulunduğu yere göre bir bölge seçin. Modeli isteklerin kaynağına daha yakın bir yere kurmak, yanıt sürelerini önemli ölçüde kısaltabilir.

4. Adım: Uç noktayı devreye alın

Bölgeyi seçip yapılandırmayı onayladıktan sonra, Dağıt düğmesine tıklayabilirsiniz.

Platform daha sonra dağıtım ortamını hazırlar, model görüntüsünü indirir, hizmeti başlatır ve uç noktanın hazır olduğundan emin olmak için bir durum kontrolü gerçekleştirir. Bu işlem genellikle yaklaşık bir ila iki dakika sürer.

Dağıtım tamamlandığında, platform uygulamaların çıkarım isteklerini göndermek için kullanabilecekleri benzersiz bir uç nokta URL'si oluşturur.

Şekil 4. Dağıtılmış bir uç noktanın örneği (Kaynak)

6. Adım: Çıkarım isteklerini göndermeye başlayın

Uç nokta çalışır durumdayken, uygulamalar sağlanan REST API ve Authorization başlığında iletilen bir API anahtarını kullanarak modele görüntü göndermeye başlayabilir. Uç nokta her isteği işler ve algılanan nesneler, sınırlayıcı kutular veya göreve özgü diğer çıktılar gibi tahminleri döndürür.

Model dağıtımıyla ilgili daha fazla ayrıntı için Ultralytics resmi belgelerine göz atın .

Dağıtılmış uç noktaların model performansını ve metriklerini izleme

Bir bilgisayar görme modeli devreye alındığında, performansını izlemek sistemin güvenilirliğini ve sağlamlığını korumak açısından önemli bir unsur haline gelir. İyi eğitilmiş bir model bile, hızlı yanıt vermeye devam ettiğinden, gelen istekleri doğru bir şekilde işlediğinden ve doğru tahminler sunduğundan emin olmak için üretim ortamında izlenmelidir.

Ultralytics , ekiplere dağıtılmış uç noktaların performansına ilişkin görünürlük sağlayan yerleşik izleme araçları sunar. Platformun Dağıtım sayfası, bir izleme paneli işlevi görür ve çalışan tüm uç noktaların merkezi bir görünümünü sunarken, track durumunu ve kullanımını track yardımcı olan temel metrikleri de içerir.

İşte Platformu kullanarak izleyebileceğiniz bazı metrikler:

  • P95 gecikmesi: Bu metrik, çıkarım istekleri için sunucu tarafındaki yanıt süresinin 95. yüzdelik dilimini ölçer. Çoğu çıkarım isteğinin ne kadar sürdüğü konusunda bilgi sağlar ve performans düşüşlerini tespit eder.
  • Hata oranı: Seçilen izleme aralığı içinde başarısız olan veya hata döndüren isteklerin yüzdesini gösterir . Hata oranlarını izlemek, ekiplerin dağıtımlarla veya gelen isteklerle ilgili detect hızla detect sağlar.
  • Toplam istek sayısı: Bu metrik, seçilen zaman aralığı (örneğin, son 24 saat) boyunca devreye alınmış uç noktalarda işlenen toplam çıkarım isteği sayısını gösterir. Bu metrik, ekiplerin trafik düzeylerini ve modellerinin ne sıklıkla kullanıldığını anlamalarına yardımcı olur.

Bu ölçümlerin yanı sıra, platform ayrıca uç nokta durum denetimleri ve dağıtım günlükleri de sunar. Durum denetimleri, bir uç noktanın düzgün bir şekilde yanıt verip vermediğini gösterirken, günlükler son istekler ve sistem etkinliği hakkında ayrıntılı bilgiler sağlar.

Önemli çıkarımlar

Bilgisayar görme modellerinin devreye alınması, eğitilmiş modelleri gerçek dünyadaki uygulamaları destekleyen sistemlere dönüştürmenin hayati bir adımıdır. Ultralytics ile ekipler, 43 küresel bölgedeki özel uç noktalar aracılığıyla modelleri kolayca devreye alabilir, API’ler üzerinden gerçek zamanlı çıkarımlar gerçekleştirebilir ve tek bir ortamdan performansı izleyebilir. Esnek devreye alma seçenekleri, yerleşik izleme ve ölçeklenebilir altyapıyı bir araya getiren platform, geliştiricilerin eğitilmiş makine öğrenimi modellerinden güvenilir bilgisayar görme uygulamalarına daha hızlı geçiş yapmasına yardımcı olur.

Büyüyen topluluğumuzun bir parçası olun! Yapay zeka hakkında daha fazla bilgi edinmek için GitHub depomuza göz atın. Bilgisayarlı görme çözümleri oluşturmak istiyorsanız, lisanslama seçeneklerimize göz atın. Sağlık hizmetlerinde bilgisayarlı görmenin faydalarını keşfedin ve lojistikte yapay zekanın nasıl bir fark yarattığını görün!

Hadi birlikte yapay zekanın geleceğini şekillendirelim!

Makine öğreniminin geleceği ile yolculuğunuza başlayın