"Tüm Çerezleri Kabul Et" seçeneğine tıklayarak, sitede gezinmeyi geliştirmek, site kullanımını analiz etmek ve pazarlama çabalarımıza yardımcı olmak için cihazınızda çerezlerin saklanmasını kabul edersiniz. Daha fazla bilgi
Çerez Ayarları
"Tüm Çerezleri Kabul Et" seçeneğine tıklayarak, sitede gezinmeyi geliştirmek, site kullanımını analiz etmek ve pazarlama çabalarımıza yardımcı olmak için cihazınızda çerezlerin saklanmasını kabul edersiniz. Daha fazla bilgi
CPU'larda GPU sınıfı performans için Ultralytics YOLOv5 model eğitimini ve dağıtımını Neural Magic'in DeepSparse ile güçlendirin. Daha hızlı, ölçeklenebilir YOLOv5 dağıtımları elde edin.
YOLOv5 modellerinizin eğitimini ve dağıtımını hızlandırmak mı istiyorsunuz? Sizi teminat altına aldık! Karşınızda en yeni ortağımız Neural Magic. Neural Magic, en yüksek model performansını ve iş akışı basitliğini vurgulayan yazılım araçları sağladığından, YOLOv5 dağıtım sürecini daha da iyi hale getirecek bir çözüm sunmak için bir araya gelmemiz çok doğal.
DeepSparse, Neural Magic'in sinir ağlarındaki seyreklik ve düşük hassasiyetli aritmetikten yararlanarak emtia donanımında olağanüstü performans sunan CPU çıkarım çalışma zamanıdır. Örneğin, ONNX Runtime taban çizgisine kıyasla DeepSparse, aynı makinede çalışan YOLOv5'ler için 5,8 kat hız artışı sunar!
İlk kez, derin öğrenme iş yükleriniz, donanım hızlandırıcılarının karmaşıklığı ve maliyetleri olmadan üretimin performans taleplerini karşılayabilir. Basitçe söylemek gerekirse, DeepSparse size GPU'ların performansını ve yazılımın basitliğini sunar:
Esnek Dağıtımlar: Herhangi bir donanım sağlayıcısıyla bulut, veri merkezi ve uçta tutarlı bir şekilde çalıştırın
Sonsuz Ölçeklenebilirlik: Standart Kubernetes ile, dikey olarak 100'lerce çekirdeğe ölçeklendirin veya sunucusuz ile tamamen soyutlayın
Kolay Entegrasyon: Modelinizi bir uygulamaya entegre etmek ve üretimde izlemek için temiz API'ler kullanın
Commodity CPU'larda GPU Sınıfı Performans Elde Edin
DeepSparse, performans hızını artırmak için model seyrekliğinden yararlanır.
Budama ve niceleme yoluyla seyrekleştirme, yüksek doğruluğu korurken bir ağı yürütmek için gereken boyut ve hesaplamada büyüklük sırasına göre azalma sağlar. DeepSparse seyrekliğin farkındadır, sıfırla çarpma eklemelerini atlar ve bir ileri geçişte hesaplama miktarını küçültür. Seyrek hesaplama belleğe bağlı olduğundan, DeepSparse ağı derinlemesine yürütür ve sorunu önbelleğe sığan dikey hesaplama şeritleri olan Tensör Sütunlarına böler.
Önbellekte derinlik bazında yürütülen sıkıştırılmış hesaplamaya sahip seyrek ağlar, DeepSparse'ın CPU'larda GPU sınıfı performans sunmasına olanak tanır!
Özel Veriler Üzerinde Eğitilmiş Seyrek Bir YOLOv5 Sürümü Oluşturun
Neural Magic'in açık kaynaklı model deposu SparseZoo, her YOLOv5 modelinin önceden ayrıştırılmış kontrol noktalarını içerir. Ultralytics ile entegre olan SparseML'yi kullanarak, tek bir CLI komutuyla verilerinize seyrek bir kontrol noktası ayarlayabilirsiniz.
YOLOv5'i DeepSparse ile Dağıtın
DeepSparse'ı yükleyin
DeepSparse'ı yüklemek için aşağıdakileri çalıştırın. Python ile sanal bir ortam kullanmanızı öneririz.
pip deepsparse[server,yolo,onnxruntime] yükleyin
ONNX Dosyası Toplama
DeepSparse, ONNX biçiminde bir modeli kabul eder, ya olarak geçirilir:
ONNX modeline giden yerel bir yol
SparseZoo'daki bir modeli tanımlayan bir SparseZoo saplaması
Standart yoğun YOLOv5'leri aşağıdaki SparseZoo taslaklarıyla tanımlanan budanmış-kuvantize YOLOv5'lerle karşılaştıracağız:
Boru hatları, ön işleme ve çıktı son işlemeyi çalışma zamanının etrafına sararak DeepSparse'ı bir uygulamaya eklemek için temiz bir arayüz sağlar. DeepSparse-Ultralytics entegrasyonu, ham görüntüleri kabul eden ve sınırlayıcı kutuları çıkaran kullanıma hazır bir Ardışık Düzen içerir.
Bir Boru Hattı oluşturun ve çıkarımı çalıştırın:
from deepsparse import Pipeline
# yerel dosya sistemindeki resimlerin listesi images = ["basilica.jpg"]
Eğer bulutta çalışıyorsanız, open-cv'nin libGL.so.1'i bulamadığına dair bir hata alabilirsiniz. Ubuntu'da aşağıdakileri çalıştırmak onu yükler:
apt-get install libgl1-mesa-glx
HTTP Sunucusu
DeepSparse Server, popüler FastAPI web çerçevesi ve Uvicorn web sunucusu üzerinde çalışır. Sadece tek bir CLI komutuyla, DeepSparse ile kolayca bir model hizmet uç noktası kurabilirsiniz. Sunucu, YOLOv5 ile nesne algılama da dahil olmak üzere DeepSparse'tan herhangi bir Pipeline'ı destekler ve uç noktaya ham görüntüler göndermenizi ve sınırlayıcı kutuları almanızı sağlar.
Sunucuyu budanmış-kuvantize edilmiş YOLOv5'lerle çalıştırın:
Motorun açıklamalı bir fotoğrafı diske kaydetmesini sağlamak için annotate komutunu da kullanabilirsiniz. Canlı web kamerası akışınıza açıklama eklemek için --source 0 komutunu deneyin!
> Orijinal Model Yolu: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none > Toplu İş Boyutu: 32 > Senaryo: sync > Verim (öğe/sn): 241.2452
Parti 1 Performans Karşılaştırması
DeepSparse ayrıca gecikmeye duyarlı, toplu iş 1 senaryosu için ONNX Çalışma Zamanı'na göre hız kazanabilmektedir.
ONNX Çalışma Zamanı Temel Çizgisi
Parti 1'de, ONNX Çalışma Zamanı standart, yoğun YOLOv5'lerle 48 görüntü/sn'ye ulaşır.
> Orijinal Model Yolu: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/base-none > Toplu İş Boyutu: 1 > Senaryo: sync > Verim (öğe/sn): 48.0921
DeepSparse Seyrek Performans
Modele seyreklik uygulandığında, DeepSparse'ın ONNX Runtime'a göre performans kazanımları daha da güçlüdür.
Yığın 1'de DeepSparse, budanmış-kuvantize edilmiş YOLOv5'lerle 135 görüntü/sn'ye ulaşıyor; bu daONNX Çalışma Zamanına göre 2,8 kat performans artışı demek!
> Orijinal Model Yolu: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none > Toplu İş Boyutu: 1 > Senaryo: sync > Verim (öğe/sn): 134.9468
c6i.8xlarge örnekleri VNNI talimatlarına sahip olduğundan, ağırlıklar 4'lü bloklar halinde budanırsa DeepSparse'ın verimi daha da artırılabilir.
Yığın 1'de DeepSparse, 4 bloklu budanmış-kuvantize edilmiş YOLOv5'lerle 180 öğe/sn'ye ulaşarakONNX Runtime'a göre 3,7 kat performans artışı sağlar!
> Orijinal Model Yolu: zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned35_quant-none-vnni > Toplu İş Boyutu: 1 > Senaryo: sync > Verim (öğe/sn): 179.7375
Ultralytics'te, YOLOv5 gibi harika açık kaynaklı araçlarımızın araştırma ve geliştirmesini finanse etmemize yardımcı olmak ve bunları herkes için ücretsiz tutmak için ticari olarak diğer girişimlerle ortaklık yapıyoruz. Bu makale, bu ortaklara bağlı bağlantılar içerebilir.