Makine Öğrenimi alanında hızla gelişen bir süreçte, AI modellerinin eğitimi tanıdık ama zorlu ve karmaşık bir bölüm. Geleneksel olarak, bu görev güçlü bulut sunucuları tarafından üstlenildi ve geniş veri setleri ile model parametrelerini güncellemek için hesaplama yetenekleri kullanıldı. Ancak, Edge AI geliştirme ve dağıtılmış hesaplama alanında kaydedilen çığır açıcı ilerlemeler sayesinde bu anlatı değişiyor.
Bu blogda, geleneksel AI geliştirme ve dağıtım iş akışının nasıl gerçekleştirildiğine daha yakından bakacağız, bu iş akışının tamamını kenarda tamamlamanın faydalarını keşfedeceğiz ve AI uygulamanızda ilerlemek için adım adım rehberliği inceleyeceğiz.
AI Uygulama Geliştirme Döngüsü
Geleneksel yaklaşımda, AI uygulama yolculuğu, sağlam modeller eğitmek için veri edinme ve düzenleme ile başlar. Bu veri seti dikkatlice etiketlenir ve modelin öğrenimini hızlandıran çeşitli bir bilgi seti oluşturur. Veri hazırlığı tamamlandıktan sonra, model eğitimi güçlü hesaplama sunucularında gerçekleştirilir ve parametreleri optimize etmek için veri seti üzerinde yinelemeler yapılır. İnce ayar yapılmış model, belirli cihazlarda kesintisiz çalışması için optimize edilir, bu da en yüksek performans için kritik öneme sahiptir. Son olarak, model, gerçek dünya AI uygulamaları için hazır olarak bulut üzerinden Jetson cihazlarına dağıtılır.
AI modelinin performansı, kesişimler, otoparklar, perakende, hızlı servis restoranları, atık geri dönüşümü, robotik vb. gibi sahnelerin sürekli değişen gerçekliğindeki gerçek dünya verilerinin girdisine yüksek derecede bağımlıdır, bu da gecikme, bant genişliği ve gizlilikle ilgili sorunların ortaya çıkmasına neden olabilir. Bu, merkezi bir bulut veya kurumsal veri merkezinde işlem yaparken zorluklara yol açabilir.
Peki, tüm süreci kenarda tamamlamayı düşünürsek ne olur?

Neden Hem Kenarda Eğitim Hem de Dağıtım Yapmalıyız?
1. Cihaz Üzerinde Eğitim:
Yeterli hesaplama gücüne sahip Jetson cihazları, geliştiricilerin cihaz üzerinde eğitim yapmalarına olanak tanır. Bu, AI modelinin, merkezi bir sunucu veya buluta veri göndermeye gerek kalmadan, gerçek sahneden sürekli yeni veri girdisine dayanarak doğrudan kenar cihazında güncellenip yeniden eğitilebileceği anlamına gelir; bu da merkeziyetsiz ve verimli bir iş akışı sağlar.
2. Gizliliği Artırma
Jetson, verileri yerel olarak işleyerek ve yalnızca analiz edilen içgörüleri buluta yükleyerek gizliliği artırır. Eğitim için bir veri alt kümesi iletilse bile, güçlü anonimleştirme kullanıcı kimliklerini korur. Bu, yalnızca gizliliği korumakla kalmaz, aynı zamanda veri düzenlemelerine uyumu da kolaylaştırır.
3. Daha Kararlı İşlem
Geleneksel hesaplama sunucularında dalgalanan iş yükleri ve potansiyel darboğazlarla uğraşmak yerine, Jetson’un verimliliği, işlemleri hassasiyet ve istikrarla gerçekleştirme yeteneği ile gösterilebilir; sık sık insan bakımı ve karmaşık yenilemeler olmadan 7/24 çalışabilir.
4. Gecikmeyi Minimize Etme
Jetson Edge cihazı, verimli veri işleme yaklaşımı sayesinde gecikmeyi azaltan bir güç merkezi olarak öne çıkıyor. Verilerin dağıtım noktası ile merkezi sunucu arasında gidip gelmesine gerek kalmadan, uygulamalarda gerçek zamanlı yanıt elde etmek için kritik bir faktördür. Jetson, büyük veri setlerinin tamamını iletmek yerine, kısa ve güncellenmiş verileri iletmeye odaklanarak bant genişliği verimliliğini optimize eder. Hızlı karar verme için yalnızca gerekli bilgileri sunarak, Jetson’u hızlı ve yanıt veren hesaplama gerektiren uygulamalar için etkileyici bir çözüm haline getirir.
Tüm Süreci Jetson Orin NX Üzerinde Tamamlayın
Şimdi, yoğun trafik yolunda YOLOv8 nesne algılama algoritmasını referans alarak bir nesne algılama modelini eğitmek ve dağıtmak için sizi yönlendirmekten mutluluk duyuyorum; burada reComputer J4012 Jetson Orin NX 16GB kullanıyoruz ve önceden yüklenmiş Jetpack 5.1.1 sürümüne sahibiz. Bu demo için uygulama mühendisimiz Youjiang‘a katkılarından dolayı teşekkür ederiz ve net bir yol bulmak için, tam detayları bu wiki‘de de kontrol edebilirsiniz.
Veri Seti Toplama
İyi model performansı için yüksek kaliteli bir veri seti hazırlamak için iki yöntemimiz var:
1. Önceden etiketlenmiş açık kaynaklı kamu veri setini indirin
Uygulama senaryonuza uygun bir kamu veri setini Roboflow, Kaggle gibi açık platformlar aracılığıyla bulabilirsiniz. Kaggle’dan trafik Algılama proje veri setini indirdikten sonra, data.json dosyasındaki eğitim, test ve doğrulama setlerinin konumlarına yönlendiren yolları değiştirmeniz gerekecek.
train: ./train/images
val: ./valid/images
test: ./test/images
nc: 5
names: ['bicycle', 'bus', 'car', 'motorbike', 'person']
2. Görüntüleri toplayın ve eğitim için veri setiniz olarak etiketleyin
Görüntüleri etiketlemeye Label Studio ile kolayca başlayabilirsiniz. Bunu yapmadan önce, aşağıdaki gibi etiketleme aracını yükleyin ve çalıştırın:
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo systemctl restart docker
sudo chmod a+rw /var/run/docker.sock
mkdir label_studio_data
sudo chmod -R 776 label_studio_data
docker run -it -p 8080:8080 -v $(pwd)/label_studio_data:/label-studio/data heartexlabs/label-studio:latest
Etiketleme projenizi oluşturmak ve veri setini YOLO formatında dışa aktarmak için adım kılavuzlarını takip edin. İndirilen verilerle birlikte düzenlemek için, tüm görüntüleri train/images klasörüne kaydedebilir ve ardından oluşturulan etiketleme metin dosyalarını train/labels klasörüne kopyalayabilirsiniz; her iki klasör de kamu veri seti içindir.

Çalışma Ortamını Kurma
Burada, reComputer üzerinde YOLOv8 kaynak kodunu indireceğiz, önce requirements.txt dosyasını değiştireceğiz ve PyTorch Jetson sürümünü yükleyeceğiz. wiki komutlarını takip edin.
YOLO’yu başarıyla yükleyip yüklemediğinizi kontrol etmeyi unutmayın:
yolo detect predict model=yolov8s.pt source='https://ultralytics.com/images/bus.jpg'
Modelinizi Eğitin
Python scriptinizi aşağıdaki gibi düzenleyerek gözden geçirin; model eğitmek için farklı yapılandırmalar ayarlayarak CLI yaklaşımını kullanmak isteğe bağlıdır. Eğitim kısmı için tam adımlar wiki‘de bulunabilir.
from ultralytics import YOLO
# Bir modeli yükle
model = YOLO('yolov8s.pt')
# Modeli eğit
results = model.train(
data='/home/nvidia/Everything_Happens_Locally/Dataset/data.yaml',
batch=8, epochs=100, imgsz=640, save_period=5
)
Eğitim süreci tamamlandıktan sonra, model ağırlık dosyalarının belirli bir klasörde kaydedildiğini göreceksiniz:

Model Doğrulama & Dağıtım
Tahmin sonuçlarını doğrulayarak, modelin gerçek senaryoda beklenen yetenekleri yerine getirip getiremeyeceğini ilk olarak belirleyeceksiniz. Ancak, bu yalnızca modelin uygulanabilirliğinin doğrulanmasıdır; gerçek dünya uygulamasındaki pratik gereksinimlere dayalı olarak çıkarım hızını dikkate almaz. Bu nedenle, dağıtım sürecinde verimlilik ile tahmin doğruluğu arasında denge bulmak kritik bir rol oynar. TensorRT Çıkarım motoru, modelin çıkarım hızını artırmaya yardımcı olabilir. Çıkarım.py dosyasını oluşturmak için wiki’yi takip edin ve model ve cap kısmını yollarınızla değiştirin.
Daha hızlı çıkarım sağlayan daha çok yönlü bir model oluşturmak için, kuantize edilmiş modelin dağıtım kısmında da önemli olduğunu belirtmek gerekir. Bu demodaki testlerimize dayanarak, kuantize edilmiş model kullanıldıktan sonra çıkarım performansı 21.9 FPS’den 29.76 FPS’ye artırılabilir.
“`html

Geleceğe bakarken, çıkarım hızını artırmaya odaklanmak hala çok önemlidir. 100 TOPS’a kadar ulaşabilen olağanüstü Orin NX AI performansından yararlanarak, bir sonraki adım, kenar AI çıkarımında daha büyük hızlar açığa çıkarmak için AI modelini ince ayar yapmaktır.
Ayrıca, üretken AI’yi tüm döngü ile birleştirerek AI geliştirme sürecini hızlandırmak da mümkündür; bu, yalnızca veri seti genişletmesini hızlandırmakla kalmaz, aynı zamanda daha az miktarda görev spesifik veriye dayalı transfer öğrenme yeteneği ile AI modellerini yeniden eğitme imkanı da sunar. Tüm bu gelişmeler, reComputer Jetson Orin kenar cihazımızla yönetilebilir ve ardından uçtan uca kenar AI uygulama geliştirme ve dağıtım süreçlerine sorunsuz bir şekilde entegre edilebilir, çeşitli endüstri alanlarında ve ekosistemlerde yenilik göstermeye devam eder.

Bizimle AI yeniliğinin ön saflarında yer alın! Endüstrilerde makine öğreniminin gerçek dünyada dağıtımını devrim niteliğinde değiştirmek için en son donanım ve teknolojinin gücünden yararlanın. Geliştiricilere ve işletmelere mevcut en iyi ML çözümlerini sunma misyonumuzun bir parçası olun. Daha fazla kenar AI olasılıklarını keşfetmek için başarı vakası çalışma kataloğumuzu gözden geçirin!
Görsel AI kaynak merkezimiz aracılığıyla sonsuz bilgisayarla görme uygulama olasılıklarını keşfedin !
İlk adımı atın ve bu heyecan verici yolculuğun bir parçası olmak için bize edgeai@seeed.cc adresine bir e-posta gönderin!
Size uygun bir seçenek bulmak için en son Jetson ürün Kataloğumuzu indirin. İhtiyaçlarınız için hazır Jetson donanım çözümünü bulamazsanız, lütfen özelleştirme hizmetlerimizi kontrol edin ve değerlendirme için bize yeni bir ürün talebi gönderin: odm@seeed.cc.
“`
