Ultralytics YOLO27: Bekleme listesine katıl.
YOLO'yu lisansla
Görsel Yapay Zekâ

Model optimizasyonu nedir? Kısa bir rehber

Hiperparametre ayarı, model budama ve model niceleme gibi model optimizasyonu tekniklerinin bilgisayarlı görü modellerini daha verimli çalıştırmaya nasıl yardımcı olabileceğini öğrenin.

Abirami VinaAbirami Vina8 dakikalık okuma
Bilgisayarlı görü için model optimizasyonu teknikleri

Model optimizasyonu, makine öğrenimi modellerinin verimliliğini ve performansını artırmayı amaçlayan bir süreçtir. Optimizasyon, modelin yapısını ve işlevini iyileştirerek modellerin daha az hesaplama kaynağıyla ve daha kısa eğitim ve değerlendirme süreleriyle daha iyi sonuçlar vermesini sağlar.

Bu süreç, modellerin karmaşık görüntüleri analiz etmek için çoğu zaman önemli miktarda kaynağa ihtiyaç duyduğu bilgisayarlı görü gibi alanlarda özellikle önemlidir. Mobil cihazlar veya uç sistemler gibi kaynakların kısıtlı olduğu ortamlarda optimize edilmiş modeller, doğruluklarını korurken sınırlı kaynaklarla da verimli çalışabilir.

Model optimizasyonu için hiperparametre ayarlama, model budama, model niceleme ve karma hassasiyet gibi çeşitli teknikler yaygın olarak kullanılır. Bu makalede, bu teknikleri ve bilgisayarlı görü uygulamalarına sağladıkları faydaları inceleyeceğiz.

Model optimizasyonunu anlama#

Bilgisayarlı görü modelleri, görüntülerdeki karmaşık örüntüleri tanımakta başarılı olan derin katmanlara ve karmaşık yapılara sahiptir; ancak işlem gücü açısından oldukça talepkâr da olabilirler. Bu modeller, cep telefonları veya uç cihazlar gibi donanım olanakları sınırlı cihazlara dağıtıldığında bazı zorluklarla veya kısıtlamalarla karşılaşabilir.

Bu cihazlardaki sınırlı işlem gücü, bellek ve enerji; modellerin ayak uydurmakta zorlanması nedeniyle performansta belirgin düşüşlere yol açabilir. Bu sorunları aşmak için model optimizasyonu teknikleri büyük önem taşır. Bu teknikler modeli sadeleştirmeye, hesaplama gereksinimlerini azaltmaya ve sınırlı kaynaklarla bile etkili biçimde çalışmasını sağlamaya yardımcı olur. Model mimarisi basitleştirilerek, hesaplamaların sayısal hassasiyeti azaltılarak veya modeli daha küçük ve hızlı hâle getirmek için gereksiz bileşenler kaldırılarak optimizasyon yapılabilir.

Modellerini optimize etme nedenlerini gösteren diyagram

Şekil 1. Modellerini optimize etme nedenleri. Görselin sahibi yazar.

Aşağıda, sonraki bölümlerde daha ayrıntılı inceleyeceğimiz en yaygın model optimizasyonu tekniklerinden bazıları yer alıyor:

  • Hiperparametre ayarı: Model performansını iyileştirmek için öğrenme oranı ve toplu iş boyutu gibi hiperparametrelerin sistematik olarak ayarlanmasını içerir.
  • Model budama: Bu teknik, sinir ağındaki gereksiz ağırlıkları ve bağlantıları kaldırarak ağın karmaşıklığını ve hesaplama maliyetini azaltır.
  • Model niceleme: Niceleme, model ağırlıklarının ve aktivasyonlarının hassasiyetini genellikle 32 bitten 16 veya 8 bite düşürerek bellek ayak izini ve hesaplama gereksinimlerini önemli ölçüde azaltır.
  • Hassasiyet ayarlamaları: Karma hassasiyetli eğitim olarak da bilinen bu yöntem, modelin farklı bölümlerinde farklı hassasiyet biçimlerinin kullanılmasını ve doğruluktan ödün vermeden kaynak kullanımının optimize edilmesini içerir.

Açıklamalı: Makine öğrenimi modellerindeki hiperparametreler#

Modelin verilerden nasıl öğrendiğini şekillendiren ayarları, yani hiperparametrelerini düzenleyerek modelin öğrenmesine ve daha iyi performans göstermesine yardımcı olabilirsin. Hiperparametre ayarlama, bu ayarları optimize ederek modelin verimliliğini ve doğruluğunu artıran bir tekniktir. Modelin eğitim sırasında öğrendiği parametrelerden farklı olarak hiperparametreler, eğitim sürecine yön veren önceden belirlenmiş değerlerdir.

Ayarlanabilecek bazı hiperparametre örneklerine bakalım:

  • Öğrenme oranı: Bu parametre, modelin iç ağırlıklarını ayarlamak için attığı adımların boyutunu belirler. Daha yüksek bir öğrenme oranı öğrenmeyi hızlandırabilir ancak en uygun çözümün gözden kaçırılması riskini taşır; daha düşük bir oran ise daha doğru sonuç verebilir ama daha yavaştır.
  • Toplu iş boyutu: Her eğitim adımında işlenen veri örneği sayısını belirler. Daha büyük toplu işler daha kararlı öğrenme sağlar, ancak daha fazla bellek gerektirir. Daha küçük toplu işler daha hızlı eğitilir, ancak daha az kararlı olabilir.
  • Epoch: Bu parametreyle modelin veri kümesinin tamamını kaç kez göreceğini belirleyebilirsin. Daha fazla epoch doğruluğu artırabilir, ancak aşırı öğrenme riskini de beraberinde getirir.
  • Çekirdek boyutu: Evrişimli Sinir Ağlarındaki (CNN'ler) filtrenin boyutunu tanımlar. Daha büyük çekirdekler daha geniş örüntüleri yakalar, ancak daha fazla işlem gerektirir; daha küçük çekirdekler ise daha ince ayrıntılara odaklanır.

Hiperparametre ayarı nasıl çalışır?#

Hiperparametre ayarlama genellikle her hiperparametre için olası değer aralıklarını belirlemekle başlar. Ardından bir arama algoritması, en iyi performansı sağlayan ayarları bulmak için bu aralıklardaki farklı kombinasyonları inceler.

Yaygın ayarlama yöntemleri arasında ızgara araması, rastgele arama ve Bayes optimizasyonu bulunur. Izgara araması, belirtilen aralıklardaki olası tüm değer kombinasyonlarını dener. Rastgele arama, kombinasyonları rastgele seçer ve çoğu zaman etkili ayarları daha hızlı bulur. Bayes optimizasyonu, önceki sonuçlara dayanarak umut vadeden hiperparametre değerlerini tahmin etmek için olasılıksal bir model kullanır. Bu yaklaşım genellikle gereken deneme sayısını azaltır.

Son olarak, her hiperparametre kombinasyonu için modelin performansı değerlendirilir. İstenen sonuçlara ulaşılana kadar süreç tekrarlanır.

Hiperparametreler ve model parametreleri#

Hiperparametre ayarı üzerinde çalışırken hiperparametrelerle model parametreleri arasındaki farkı merak edebilirsin.

Hiperparametreler, öğrenme oranı veya yığın boyutu gibi, eğitimden önce belirlenen ve modelin öğrenme biçimini kontrol eden değerlerdir. Bu ayarlar eğitim boyunca sabit kalır ve öğrenme sürecini doğrudan etkiler. Model parametreleri ise modelin eğitim sırasında öğrendiği değerlerdir. Bunlar, model eğitilirken değişen ve sonunda tahminlerine yön veren ağırlıklar ile bias değerlerini içerir. Kısacası hiperparametreler öğrenme sürecini şekillendirirken model parametreleri bu öğrenme sürecinin sonucudur.

Parametrelerin ve hiperparametrelerin karşılaştırması

Şekil 2. Parametreler ve hiperparametrelerin karşılaştırması.

Derin öğrenmede model budama neden önemlidir?#

Model budama, modeli daha verimli hâle getirmek için gereksiz ağırlıkları ve parametreleri kaldıran bir boyut küçültme tekniğidir. Bilgisayarlı görüde, özellikle derin sinir ağlarında, ağırlıklar ve aktivasyonlar (nihai çıktının hesaplanmasına yardımcı olan ara çıktılar) gibi çok sayıda parametre hem karmaşıklığı hem de hesaplama gereksinimlerini artırabilir. Budama, performansa çok az katkı sağlayan parametreleri belirleyip kaldırarak modeli sadeleştirir ve daha hafif, verimli bir model ortaya çıkarır.

Model budama öncesi ve sonrası sinir ağı

Şekil 3. Model budama öncesi ve sonrası.

Model eğitildikten sonra, büyüklük temelli budama veya duyarlılık analizi gibi teknikler her parametrenin önemini değerlendirebilir. Ardından düşük önem düzeyindeki parametreler, üç temel teknikten biri kullanılarak budanır: ağırlık budama, nöron budama veya yapılandırılmış budama.

Ağırlık budama, çıktı üzerinde en az etkiye sahip bağlantıları tek tek kaldırır. Nöron budama, modelin işlevine çok az katkıda bulunan nöronların tamamını kaldırır. Yapılandırılmış budama, model verimliliğini artırmak için evrişim filtreleri veya tam bağlantılı katmanlardaki nöronlar gibi daha büyük bölümleri ortadan kaldırır. Budama tamamlandıktan sonra kalan parametreleri ince ayarlamak ve modelin küçültülmüş hâlinde de yüksek doğruluğu korumasını sağlamak için model yeniden eğitilir.

Kuantizasyonla yapay zekâ modellerinde gecikmeyi azaltma#

Model niceleme, model ağırlıklarını ve aktivasyonlarını temsil etmek için kullanılan bit sayısını azaltır. Genellikle yüksek hassasiyetli 32 bit kayan noktalı değerleri, 16 bit kayan noktalı veya 8 bit tam sayı gibi daha düşük hassasiyetli değerlere dönüştürür. Bit hassasiyetini azaltan niceleme, modelin boyutunu, bellek ayak izini ve hesaplama maliyetini önemli ölçüde düşürür.

Bilgisayarlı görüde 32 bit kayan noktalı değerler standarttır; ancak 16 veya 8 bite dönüştürmek verimliliği artırabilir. İki temel niceleme türü vardır: ağırlık niceleme ve aktivasyon niceleme. Ağırlık niceleme, boyut küçültme ile doğruluk arasında denge kurarak model ağırlıklarının hassasiyetini düşürür. Aktivasyon niceleme ise aktivasyonların hassasiyetini azaltarak bellek ve hesaplama gereksinimlerini daha da düşürür.

32 bitlik kayan noktadan 8 bitlik tamsayıya nicemleme

Şekil 4. 32 bitlik kayan noktadan 8 bitlik tamsayıya nicemleme örneği.

Karma hassasiyet yapay zekâ çıkarımını nasıl hızlandırır#

Karma hassasiyet, sinir ağının farklı bölümlerinde farklı sayısal hassasiyetler kullanan bir tekniktir. Karma hassasiyet, 32 bit kayan noktalı değerler gibi daha yüksek hassasiyetli değerleri 16 veya 8 bit kayan noktalı değerler gibi daha düşük hassasiyetli değerlerle birleştirir; böylece bilgisayarlı görü modellerinin doğruluktan ödün vermeden eğitimi hızlandırmasını ve bellek kullanımını azaltmasını sağlar.

Eğitim sırasında karma hassasiyet, ağ genelinde gereken yerlerde yüksek hassasiyeti korurken belirli katmanlarda daha düşük hassasiyet kullanılarak elde edilir. Bu işlem, tür dönüştürme ve kayıp ölçekleme yoluyla gerçekleştirilir. Tür dönüştürme, modelin gereksinimlerine göre veri türlerini farklı hassasiyetler arasında dönüştürür. Kayıp ölçekleme, sayısal alt taşmayı önlemek ve kararlı bir eğitim sağlamak için azaltılmış hassasiyeti ayarlar. Karma hassasiyet, büyük modeller ve büyük toplu iş boyutları için özellikle kullanışlıdır.

FP16 ve FP32 kayan nokta türlerini kullanan karma hassasiyetli eğitim

Şekil 5. Karma hassasiyetli eğitimde hem 16 bitlik (FP16) hem de 32 bitlik (FP32) kayan nokta türleri kullanılır.

Model doğruluğu ile verimliliği dengeleme#

Birkaç model optimizasyonu tekniğini ele aldığımıza göre, şimdi özel ihtiyaçlarına göre hangisini seçeceğine bakalım. Seçim; mevcut donanım, dağıtım ortamının hesaplama ve bellek kısıtları ve gereken doğruluk düzeyi gibi etkenlere bağlıdır.

Örneğin, daha küçük ve hızlı modeller kaynakları sınırlı mobil cihazlar için daha uygundur; daha büyük ve doğru modeller ise yüksek performanslı sistemlerde kullanılabilir. Her tekniğin farklı hedeflere nasıl uyduğunu aşağıda görebilirsin:

  • Budama: Model boyutunu doğruluğu önemli ölçüde etkilemeden küçültmek için idealdir; bu da onu cep telefonları veya Nesnelerin İnterneti (IoT) cihazları gibi kaynakları kısıtlı cihazlar için mükemmel bir seçenek hâline getirir.
  • Niceleme: Model boyutunu küçültmek ve çıkarımı hızlandırmak için, özellikle bellek ve işlem gücü sınırlı mobil cihazlarda ve gömülü sistemlerde harika bir seçenektir. Doğruluktaki küçük düşüşlerin kabul edilebilir olduğu uygulamalarda iyi sonuç verir.
  • Karma hassasiyet: Büyük ölçekli modeller için tasarlanan bu teknik, karma hassasiyet işlemlerini destekleyen GPU ve TPU gibi donanımlarda bellek kullanımını azaltır ve eğitimi hızlandırır. Verimliliğin önemli olduğu yüksek performanslı görevlerde sıkça kullanılır.
  • Hiperparametre ayarlama: Hesaplama açısından yoğun olsa da tıbbi görüntüleme veya otonom sürüş gibi yüksek doğruluk gerektiren uygulamalar için vazgeçilmezdir.

Önemli çıkarımlar#

Model optimizasyonu, özellikle yapay zekâyı gerçek dünya uygulamalarında kullanıma sunarken makine öğreniminin önemli bir parçasıdır. Hiperparametre ayarlama, model budama, nicemleme ve karma hassasiyet gibi teknikler, bilgisayarlı görü modellerinin performansını, verimliliğini ve kaynak kullanımını iyileştirmeye yardımcı olur. Bu optimizasyonlar modelleri hızlandırır ve kaynak ihtiyacını azaltır; bu da onları belleği ve işlem gücü sınırlı cihazlar için ideal kılar. Optimize edilmiş modellerin farklı platformlarda ölçeklendirilmesi ve dağıtılması da daha kolaydır; böylece çok çeşitli kullanımlara uygun, etkili ve uyarlanabilir yapay zekâ çözümleri sunulur.

Yapay zekânın üretim ve tarım alanlarındaki uygulamaları hakkında daha fazla bilgi edinmek için Ultralytics GitHub deposunu ziyaret et ve topluluğumuza katıl.

Yazan

Abirami Vina
Abirami Vina

İçerik Üreticisi · Ultralytics

Bilgisayarlı görü mühendisi olarak kariyerine başlayan Abirami Vina, görü AI’sı ve makine öğrenimi alanlarında sağlam bir temel oluşturdu. Ultralytics’te İçerik Üreticisi, Scribe of AI’da ise Kurucu ve Baş Yazar olarak AI odaklı şirketler için nitelikli teknik içerikler hazırlıyor. AI’yı hem anlaşılır hem de ilgi çekici kılma tutkusuyla çalışan Abirami, en yeni teknolojiler ile gerçek dünyadaki etkileri arasında köprü kuruyor.

Yorumlar

Soru sor, sonuçlarını paylaş veya başka birine yardım et.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla