Yolo Vision Shenzhen
Shenzhen
Şimdi katılın
Sözlük

FLOP'lar

Makine öğreniminde FLOP'ları anlayın! Model karmaşıklığını nasıl ölçtüğünü, verimliliği nasıl etkilediğini ve donanım seçimine nasıl yardımcı olduğunu öğrenin.

FLOP'lar veya Kayan Nokta İşlemleri, hesaplama karmaşıklığını ölçmek için temel bir ölçüt olarak hizmet eder. makine öğrenimi modelleri, özellikle derin öğrenme alanı. Bu ölçüm, toplama gibi matematiksel işlemlerin toplam sayısını hesaplar, ondalık sayıları içeren çıkarma, çarpma ve bölme işlemleri - tek bir ileri geçişi tamamlamak için gerekli sinir ağı. FLOP sayısını belirleyerek, Mühendisler bir modeli çalıştırmak için gereken işlem gücünü tahmin edebilir, bu da onu donanım için hayati bir istatistik haline getirir seçimi ve optimizasyonu. Dosya boyutu veya parametre sayısından farklı olmakla birlikte, FLOP'lar aşağıdakiler için teorik bir temel sağlar Bir modelin ne kadar "ağır" olduğu, işlemcilerde enerji tüketimi ve yürütme hızı ile doğrudan ilişkilidir gibi CPU veya GPU.

Yapay Zeka Geliştirmede FLOP'ların Önemi

Bir modelin hesaplama maliyetini anlamak, verimli bir model için çok önemlidir. Yapay zeka geliştirme. Daha düşük bir FLOP sayısı genellikle bir modelin bir tahmin üretmek için daha az hesaplama gerektirdiğini gösterir, bu da aşağıdakiler için kritik öneme sahiptir kısıtlı kaynaklara sahip ortamlar.

  • Donanım Seçimi: FLOP'ları bilmek, geliştiricilerin modelleri aşağıdakilerin yetenekleriyle eşleştirmesine olanak tanır NVIDIA Jetson serisi gibi belirli donanımlar veya standart gömülü mikro denetleyiciler.
  • Model Verimliliği: Mimarileri karşılaştırırken, örneğin YOLO11 performans ölçümleri, FLOPs doğruluğun yanı sıra verimliliği ölçmek için donanımdan bağımsız bir yol sunar.
  • Enerji Tüketimi: Pille çalışan cihazlarda, FLOP'ların azaltılması doğrudan daha uzun İşlemci kare başına daha az iş yaptığından pil ömrü uzar.

Gerçek Dünya Uygulamaları

FLOP'ların pratik etkisi en çok, modeller araştırmadan gecikme süresinin yüksek olduğu üretim ortamlarına geçtiğinde görülür. ve güç sınırlıdır.

  1. Akıllı Telefon Nesne Algılama: Performans gösteren bir mobil uygulama için gerçek zamanlı çıkarım, cihaz şunları işlemelidir Aşırı ısınmadan veya pili tüketmeden anında video kareleri. Geliştiriciler aşağıdaki gibi hafif bir model seçebilir Nano versiyonu YOLO11 çünkü düşük FLOP sayısı gibi mobil işlemcilerde sorunsuz performans sağlar. Qualcomm Snapdragon veya Apple Silicon.
  2. Otonom Drone Navigasyonu: Kullanılan dronlar hassas tarim i̇çi̇n onboard engelleri detect etmek ve araziyi haritalamak için bilgisayarlar. Bu cihazlar bataryayı kısıtlayan katı ağırlık sınırlarına sahip olduğundan boyutunda, mühendisler uçuş süresini en üst düzeye çıkarmak için düşük FLOP'ları optimize ederken gerekli nesne algılama yetenekleri.

Python ile FLOP'ları Hesaplama

Yerleşik profil oluşturma araçlarını kullanarak bir Ultralytics modelinin hesaplama karmaşıklığını belirleyebilirsiniz. Bu Aşağıdaki kod parçacığı bir model yükler ve belirli bir girdi boyutu için gereken FLOP'ları hesaplar.

from ultralytics import YOLO

# Load the YOLO11 nano model
model = YOLO("yolo11n.pt")

# Profile the model to see FLOPs, parameters, and speed
# The 'imgsz' argument defines the input resolution (e.g., 640x640)
model.profile(imgsz=640)

Bu yöntem, parametre sayısını, gradyanları ve GFLOP'ları (GigaFLOPs veya milyarlarca operasyon), modelin size uyup uymadığını değerlendirmenize yardımcı olur. dağıtım kısıtlamaları.

FLOP'lar ve İlgili Metrikler

FLOP'ları model boyutunu ve hızını tanımlayan diğer ölçütlerden ayırt etmek önemlidir, çünkü bunlar farklı performans yönleri.

  • Parametreler ve FLOP'lar: Bu model ağırlıkları veya parametreleri, ne kadar modeli saklamak için bellek (RAM) gereklidir. Buna karşılık, FLOP'lar onu çalıştırmak için gereken hesaplama işini ölçer. A 'de görüldüğü gibi, model depolama açısından küçük olabilir, ancak parametreleri sık sık yeniden kullanıyorsa hesaplama açısından pahalı olabilir. Tekrarlayan Sinir Ağları (RNN'ler).
  • MAC'ler ve FLOP'lar: Donanım özellikleri genellikle aşağıdakilere atıfta bulunur Çarpma-Toplama işlemleri (MAC'ler). Bir MAC tipik olarak bir çarpma ve ardından bir toplama işlemini içerir ve iki kayan nokta işlemi olarak sayılır. Bu nedenle, 1 GigaMAC kabaca 2 GFLOP'a eşdeğerdir.
  • FLOP'lara karşı gecikme: FLOP'lar teorik çabayı temsil ederken, çıkarım gecikmesi gerçek zamandır (cinsinden milisaniye) bir girdiyi işlemek için gereken süre. Gecikme FLOP'lardan etkilendiği gibi bellek bant genişliği, yazılım gibi optimizasyon kütüphaneleri TensorRTve donanım mimari.

Metriğin Sınırlamaları

FLOP'lar faydalı bir temel sağlarken, model performansının tüm hikayesini anlatmazlar. Şunları hesaba katmazlar bellek erişim maliyetleri (verileri işlemciye taşımak için harcanan enerji ve zaman), ki bu genellikle modern derin öğrenme sistemleri. Ayrıca, operasyonlar aktivasyon fonksiyonları gibi (örn. ReLU) veya normalleştirme katmanları düşük FLOP sayılarına sahiptir ancak yine de zaman tüketirler. Bu nedenle, FLOP'lar birlikte kullanılmalıdır gibi hedef donanımlar üzerinde gerçek dünya kıyaslaması ile Raspberry Pi, doğru bir resim elde etmek için performans.

Ultralytics topluluğuna katılın

Yapay zekanın geleceğine katılın. Küresel yenilikçilerle bağlantı kurun, işbirliği yapın ve birlikte büyüyün

Şimdi katılın