saplama EfficientViT: Yüksek Çözünürlüklü Bilgisayarlı Görme için Bellek Verimli Görüntü Transformatörü - Unite.AI
Bizimle iletişime geçin

Yapay Zeka

EfficientViT: Yüksek Çözünürlüklü Bilgisayarlı Görme için Bellek Verimli Görüntü Transformatörü

mm

Yayınlanan

 on

Vision Transformer modelleri, yüksek model kapasiteleri nedeniyle son zamanlarda büyük başarı elde etti. Performanslarına rağmen, görüntü transformatörü modellerinin büyük bir kusuru vardır: Olağanüstü hesaplama yetenekleri, yüksek hesaplama maliyetlerine neden olur ve görüntü transformatörlerinin gerçek zamanlı uygulamalar için ilk tercih olmamasının nedeni de budur. Bu sorunun üstesinden gelmek için bir grup geliştirici, yüksek hızlı görüntü transformatörleri ailesi olan EfficientViT'i piyasaya sürdü. 

EfficientViT üzerinde çalışırken geliştiriciler, akım transformatörü modellerinin hızının genellikle verimsiz bellek işlemleriyle, özellikle de MHSA veya Çok Kafalı Kişisel Dikkat ağındaki öğe bazında işlevler ve tensörün yeniden şekillendirilmesiyle sınırlandığını gözlemledi. EfficientViT geliştiricileri, bu verimsiz bellek işlemlerinin üstesinden gelmek için sandviç düzeni kullanan yeni bir yapı taşı üzerinde çalıştı; yani EfficientViT modeli, bellek verimliliğini artırmaya yardımcı olan verimli FFN katmanları arasında tek bir belleğe bağlı Çok Kafalı Otomatik Dikkat ağını kullanır ve aynı zamanda genel kanal iletişimini de geliştirir. Ayrıca model, dikkat haritalarının genellikle kafalar arasında yüksek benzerliklere sahip olduğunu ve bunun da hesaplama fazlalığına yol açtığını da keşfediyor. Artıklık sorununun üstesinden gelmek için EfficientViT modeli, dikkatleri tam özelliğin farklı bölümleriyle besleyen basamaklı bir grup dikkat modülü sunar. Yöntem yalnızca hesaplama maliyetlerinden tasarruf etmeye yardımcı olmakla kalmıyor, aynı zamanda modelin dikkat çeşitliliğini de artırıyor. 

EfficientViT modeli üzerinde farklı senaryolarda gerçekleştirilen kapsamlı deneyler, EfficientViT'in mevcut verimli modellerden daha iyi performans gösterdiğini göstermektedir. Bilgisayar görüşü doğruluk ve hız arasında iyi bir denge kurarken. Öyleyse gelin daha derine inelim ve EfficientViT modelini biraz daha derinlemesine inceleyelim. 

Vision Transformers ve EfficientViT'e Giriş

Vision Transformers, üstün performans ve yüksek hesaplama yetenekleri sundukları için bilgisayarlı görüntü endüstrisindeki en popüler çerçevelerden biri olmaya devam ediyor. Ancak görüntü transformatörü modellerinin doğruluğunun ve performansının sürekli olarak iyileştirilmesiyle birlikte işletme maliyetleri ve hesaplama yükü de artar. Örneğin, SwinV2 ve V-MoE gibi ImageNet veri kümelerinde son teknoloji performansı sağladığı bilinen mevcut modeller sırasıyla 3B ve 14.7B parametrelerini kullanır. Bu modellerin büyüklüğü, hesaplama maliyetleri ve gereksinimleriyle birleştiğinde, onları gerçek zamanlı cihazlar ve uygulamalar için pratik olarak uygunsuz hale getiriyor. 

EfficientNet modeli performansın nasıl artırılacağını keşfetmeyi amaçlamaktadır. görüş transformatörü modellerive verimli ve etkili transformatör tabanlı çerçeve mimarileri tasarlamanın ardındaki ilkeleri bulmak. EfficientViT modeli, Swim ve DeiT gibi mevcut görüntü dönüştürücü çerçevelerini temel alır ve hesaplama yedekliliği, bellek erişimi ve parametre kullanımı dahil olmak üzere modellerin girişim hızlarını etkileyen üç temel faktörü analiz eder. Ayrıca model, görsel transformatör modellerinin hızının belleğe bağlı olduğunu gözlemler; bu, CPU'larda/GPU'larda bilgi işlem gücünün tam kullanımının belleğe erişim gecikmesi tarafından yasaklandığı veya kısıtlandığı anlamına gelir, bu da transformatörlerin çalışma zamanı hızı üzerinde olumsuz etkiye neden olur. . MHSA veya Çok Kafalı Kişisel Dikkat ağındaki öğe bazında işlevler ve tensörün yeniden şekillendirilmesi, bellek açısından en verimsiz işlemlerdir. Model ayrıca, FFN (ileri besleme ağı) ile MHSA arasındaki oranın en iyi şekilde ayarlanmasının, performansı etkilemeden belleğe erişim süresinin önemli ölçüde azaltılmasına yardımcı olabileceğini gözlemliyor. Ancak model aynı zamanda dikkat kafasının benzer doğrusal projeksiyonları öğrenme eğiliminin bir sonucu olarak dikkat haritalarında bir miktar fazlalık da gözlemliyor. 

Model, EfficientViT için yapılan araştırma çalışması sırasında elde edilen bulguların son halidir. Model, İleri Besleme Ağı veya FFN katmanları arasına tek bir belleğe bağlı MHSA katmanı uygulayan sandviç düzenine sahip yeni bir siyaha sahiptir. Bu yaklaşım, yalnızca MHSA'da belleğe bağlı işlemleri yürütmek için gereken süreyi azaltmakla kalmıyor, aynı zamanda daha fazla FFN katmanının farklı kanallar arasındaki iletişimi kolaylaştırmasına izin vererek tüm süreci bellek açısından daha verimli hale getiriyor. Model aynı zamanda yeni bir CGA veya Kademeli Grup Dikkat modülünü de kullanıyor; bu modül, yalnızca dikkat kafalarındaki hesaplama fazlalığını azaltarak hesaplamaları daha etkili hale getirmeyi değil, aynı zamanda ağın derinliğini artırarak model kapasitesinin artmasını da hedefliyor. Son olarak model, çerçevedeki parametreleri yeniden dağıtmak için ileri beslemeli ağlardaki gizli boyutlar gibi düşük değerli ağ bileşenlerini daraltırken, değer projeksiyonları da dahil olmak üzere temel ağ bileşenlerinin kanal genişliğini genişletir. 

Yukarıdaki görüntüde görülebileceği gibi EfficientViT çerçevesi, hem doğruluk hem de hız açısından mevcut son teknoloji CNN ve ViT modellerinden daha iyi performans göstermektedir. Peki EfficientViT çerçevesi mevcut bazı son teknoloji çerçevelerden daha iyi performans göstermeyi nasıl başardı? Hadi bunu öğrenelim. 

EfficientViT: Görüntü Transformatörlerinin Verimliliğini Artırma

EfficientViT modeli, mevcut görüntü transformatörü modellerinin verimliliğini üç perspektif kullanarak artırmayı amaçlamaktadır:

  1. Hesaplamalı Artıklık. 
  2. Bellek Erişimi. 
  3. Parametre Kullanımı. 

Model, yukarıdaki parametrelerin görüntü transformatörü modellerinin verimliliğini nasıl etkilediğini ve daha iyi verimlilikle daha iyi sonuçlar elde etmek için bunların nasıl çözüleceğini bulmayı amaçlamaktadır. Bunlardan biraz daha derinlemesine konuşalım. 

Bellek Erişimi ve Verimliliği

Bir modelin hızını etkileyen temel faktörlerden biri bellek erişimi ek yükü veya MAO. Aşağıdaki görüntüde görülebileceği gibi, transformatördeki eleman bazında toplama, normalleştirme ve sık sık yeniden şekillendirme gibi çeşitli operatörler, zaman alıcı bir süreç olan farklı bellek birimlerine erişim gerektirdiğinden, bellek açısından verimsiz işlemlerdir. 

Düşük dereceli yaklaşım ve seyrek dikkat gibi standart softmax kişisel dikkat hesaplamalarını basitleştirebilecek bazı mevcut yöntemler olmasına rağmen, bunlar genellikle sınırlı hızlanma sunar ve doğruluğu azaltır. 

Öte yandan EfficientViT çerçevesi, çerçevedeki bellek açısından verimsiz katmanların miktarını azaltarak belleğe erişim maliyetini düşürmeyi amaçlamaktadır. Model, DeiT-T ve Swin-T'yi 1.25X ve 1.5X daha yüksek girişim verimine sahip küçük alt ağlara ölçeklendirir ve bu alt ağların performansını MHSA katmanlarının oranlarıyla karşılaştırır. Aşağıdaki görüntüde görülebileceği gibi, bu yaklaşım uygulandığında MHSA katmanlarının doğruluğunu yaklaşık %20 ila %40 oranında artırıyor. 

Hesaplama Verimliliği

MHSA katmanları, giriş dizisini birden fazla alt uzaya veya kafaya yerleştirme eğilimindedir ve dikkat haritalarını ayrı ayrı hesaplar; bu, performansı artırdığı bilinen bir yaklaşımdır. Ancak dikkat haritaları hesaplama açısından ucuz değildir ve hesaplama maliyetlerini araştırmak için EfficientViT modeli, daha küçük ViT modellerinde gereksiz dikkatin nasıl azaltılacağını araştırır. Model, genişliği küçültülmüş DeiT-T ve Swim-T modellerini 1.25x çıkarım hızlandırmayla eğiterek her bir kafanın ve her bloktaki kalan kafaların maksimum kosinüs benzerliğini ölçer. Aşağıdaki resimde görülebileceği gibi, dikkat kafaları arasında çok sayıda benzerlik vardır; bu da modelin hesaplama fazlalığına maruz kaldığını, çünkü çok sayıda kafanın tam özelliğin benzer projeksiyonlarını öğrenme eğiliminde olduğunu gösterir. 

Model, kafaları farklı modelleri öğrenmeye teşvik etmek için, her kafanın tüm özelliğin yalnızca bir kısmıyla beslendiği sezgisel bir çözümü açıkça uygular; bu, grup evrişimi fikrine benzeyen bir tekniktir. Model, değiştirilmiş MHSA katmanlarını içeren küçültülmüş modellerin farklı yönlerini eğitir. 

Parametre Verimliliği

Ortalama ViT modelleri, projeksiyonlar için eşdeğer bir genişlik kullanmak, genişletme oranını FFN'de 4'e ayarlamak ve NLP transformatörlerinden kademeleri artırmak gibi tasarım stratejilerini devralır. Hafif modüller için bu bileşenlerin konfigürasyonlarının dikkatli bir şekilde yeniden tasarlanması gerekir. EfficientViT modeli, Swim-T ve DeiT-T katmanlarındaki temel bileşenleri otomatik olarak bulmak için Taylor yapılandırılmış budamayı kullanır ve temel parametre tahsis ilkelerini daha da araştırır. Belirli kaynak kısıtlamaları altında, budama yöntemleri önemsiz kanalları ortadan kaldırır ve kritik olanları mümkün olan en yüksek doğruluğu sağlayacak şekilde tutar. Aşağıdaki şekil, Swin-T çerçevesinde budama öncesinde ve sonrasında kanalların giriş yerleştirmelerine oranını karşılaştırmaktadır. Şunlar gözlemlendi: Temel doğruluk: %79.1; budama doğruluğu: %76.5.

Yukarıdaki görüntü, çerçevenin ilk iki aşamasının daha fazla boyutu koruduğunu, son iki aşamasının ise çok daha az boyutu koruduğunu göstermektedir. Bu, her aşamadan sonra kanalı iki katına çıkaran veya tüm bloklar için eşdeğer kanalları kullanan tipik bir kanal konfigürasyonunun, son birkaç blokta önemli miktarda artıklığa yol açabileceği anlamına gelebilir. 

Verimli Görüş Transformatörü: Mimari

Yukarıdaki analiz sırasında elde edilen bilgilere dayanarak geliştiriciler, yüksek girişim hızları sunan yeni bir hiyerarşik model oluşturmaya çalıştı. VerimliViT modeli. EfficientViT çerçevesinin yapısına detaylı bir göz atalım. Aşağıdaki şekil size EfficientViT çerçevesi hakkında genel bir fikir vermektedir. 

EfficientViT Çerçevesinin Yapı Taşları

Daha verimli görüntü transformatör ağının yapı taşı aşağıdaki şekilde gösterilmektedir. 

Çerçeve, kademeli bir grup dikkat modülü, hafıza açısından verimli sandviç düzeni ve modelin sırasıyla hesaplama, hafıza ve parametre açısından verimliliğini artırmaya odaklanan bir parametre yeniden tahsis stratejisinden oluşur. Onlar hakkında daha ayrıntılı olarak konuşalım. 

Sandviç Düzeni

Model, çerçeve için daha etkili ve verimli bir bellek bloğu oluşturmak amacıyla yeni bir sandviç düzeni kullanıyor. Sandviç düzeni daha az belleğe bağlı kişisel dikkat katmanı kullanır ve kanal iletişimi için daha verimli bellek ileri besleme ağlarından yararlanır. Daha spesifik olmak gerekirse, model, mekansal karışım için FFN katmanları arasına sıkıştırılmış tek bir öz-dikkat katmanı uyguluyor. Tasarım, öz-dikkat katmanları nedeniyle bellek zamanı tüketimini azaltmaya yardımcı olmakla kalmıyor, aynı zamanda FFN katmanlarının kullanımı sayesinde ağ içindeki farklı kanallar arasında etkili iletişime de olanak sağlıyor. Model ayrıca bir DWConv veya Yanıltıcı Evrişim kullanarak her ileri beslemeli ağ katmanından önce ekstra bir etkileşim belirteç katmanı uygular ve yerel yapısal bilginin endüktif önyargısını getirerek model kapasitesini artırır. 

Kademeli Grup Dikkati

MHSA katmanlarıyla ilgili en önemli sorunlardan biri, hesaplamaları daha verimsiz hale getiren dikkat kafalarındaki fazlalıktır. Sorunu çözmek için model, verimli CNN'lerdeki grup evrişimlerinden ilham alan yeni bir dikkat modülü olan görüş transformatörleri için CGA veya Kademeli Grup Dikkatini önermektedir. Bu yaklaşımda model, bireysel kafaları tüm özelliklerin bölümleriyle besler ve dolayısıyla dikkat hesaplamasını açıkça kafalar arasında ayrıştırır. Her bir kafaya tüm özellikleri beslemek yerine özellikleri bölmek hesaplama tasarrufu sağlar ve süreci daha verimli hale getirir ve model, katmanları daha zengin bilgiye sahip özellikler hakkındaki projeksiyonları öğrenmeye teşvik ederek doğruluğu ve kapasitesini daha da geliştirmek için çalışmaya devam eder. 

Parametre Yeniden Tahsisi

Parametrelerin verimliliğini artırmak için model, kritik modüllerin kanal genişliğini genişletirken, çok önemli olmayan modüllerin kanal genişliğini daraltarak ağdaki parametreleri yeniden tahsis eder. Taylor analizine dayalı olarak model, ya her aşamada her kafadaki projeksiyonlar için küçük kanal boyutları belirler ya da model, projeksiyonların girişle aynı boyuta sahip olmasına izin verir. İleri beslemeli ağın genişleme oranı da parametre yedekliliğine yardımcı olmak için 2'ten 4'ye düşürüldü. EfficientViT çerçevesinin uyguladığı önerilen yeniden tahsis stratejisi, önemli modüllere daha fazla kanal tahsis ederek bunların yüksek boyutlu bir alandaki temsilleri daha iyi öğrenmelerine olanak tanıyarak özellik bilgisi kaybını en aza indirir. Ayrıca, müdahale sürecini hızlandırmak ve modelin verimliliğini daha da artırmak için model, önemsiz modüllerdeki gereksiz parametreleri otomatik olarak kaldırır. 

EfficientViT çerçevesinin genel görünümü yukarıdaki resimde açıklanabilir; burada parçalar,

  1. EfficientViT'in mimarisi,
  2. Sandviç Düzeni bloğu,
  3. Kademeli Grup Dikkati.

 

EfficientViT : Ağ Mimarileri

Yukarıdaki görüntü EfficientViT çerçevesinin ağ mimarisini özetlemektedir. Model, modelin düşük seviyeli görsel temsil öğreniminde daha iyi performans gösterme kapasitesini artıran, C20,80 boyut belirteçlerine 16x16 yamayı yerleştiren bir örtüşen yama yerleştirmeyi [1] tanıtmaktadır. Modelin mimarisi, her aşamanın EfficientViT çerçevesinin önerilen yapı taşlarını istiflediği ve her alt örnekleme katmanındaki jeton sayısının (çözünürlüğün 2 katı alt örneklemesi) 4 kat azaltıldığı üç aşamadan oluşur. Alt örneklemeyi daha verimli hale getirmek için model, örnekleme sırasında bilgi kaybını azaltmak için ters çevrilmiş bir artık bloğun dikkat katmanının yerini alması dışında önerilen sandviç düzenine de sahip bir alt örnekleme bloğu önerir. Ayrıca model, geleneksel LayerNorm(LN) yerine BatchNorm(BN)'yi kullanır çünkü BN, LN'ye göre çalışma zamanı avantajı sağlayan önceki doğrusal veya evrişimsel katmanlara katlanabilir. 

 

EfficientViT Model Ailesi

EfficientViT model ailesi, farklı derinlik ve genişlik ölçeklerine sahip 6 modelden oluşur ve her aşama için belirli sayıda kafa tahsis edilmiştir. Modeller, son aşamalarla karşılaştırıldığında ilk aşamalarda daha az blok kullanır; bu, MobileNetV3 çerçevesinin izlediği işleme benzer bir süreçtir çünkü daha büyük çözünürlüklerle erken aşama işleme süreci zaman alıcıdır. Daha sonraki aşamalarda fazlalığı azaltmak için genişlik küçük bir faktörle aşamalar halinde artırılır. Aşağıda ekli tablo, EfficientViT model ailesinin mimari ayrıntılarını sunmaktadır; burada C, L ve H, belirli bir aşamadaki genişlik, derinlik ve kafa sayısını ifade eder. 

EfficientViT: Modelin Uygulanması ve Sonuçları

EfficientViT modelinin toplam parti boyutu 2,048'dir, Timm & PyTorch ile oluşturulmuştur, 300 Nvidia V8 GPU kullanılarak 100 dönem boyunca sıfırdan eğitilmiştir, bir kosinüs öğrenme oranı planlayıcısı, bir AdamW optimizasyon aracı kullanır ve görüntü sınıflandırma deneyini ImageNet üzerinde gerçekleştirir -1K. Giriş görüntüleri rastgele kırpılır ve 224×224 çözünürlüğe göre yeniden boyutlandırılır. Aşağı akış görüntü sınıflandırmasını içeren deneyler için EfficientViT çerçevesi, modele 300 dönem boyunca ince ayar yapar ve 256 toplu iş boyutuna sahip AdamW optimizerini kullanır. Model, COCO'da nesne tespiti için RetineNet'i kullanır ve modelleri 12 dönem daha eğitmeye devam eder. aynı ayarlara sahip dönemler. 

ImageNet'teki Sonuçlar

EfficientViT'in performansını analiz etmek için ImageNet veri kümesindeki mevcut ViT ve CNN modelleriyle karşılaştırılır. Karşılaştırmanın sonuçları aşağıdaki şekilde rapor edilmiştir. Görüldüğü gibi EfficientViT model ailesi çoğu durumda mevcut çerçevelerden daha iyi performans gösteriyor ve hız ile doğruluk arasında ideal bir denge kurmayı başarıyor. 

Verimli CNN'ler ve Verimli ViT'lerle Karşılaştırma

Model ilk olarak performansını EfficientNet gibi Efficient CNN'lerle ve MobileNets gibi standart CNN çerçeveleriyle karşılaştırır. Görüldüğü üzere EfficientViT modelleri, MobileNet çerçeveleriyle karşılaştırıldığında daha iyi bir ilk 1 doğruluk puanı elde ederken, Intel CPU ve V3.0 GPU'da sırasıyla 2.5 kat ve 100 kat daha hızlı çalışıyor.  

Yukarıdaki şekil, EfficientViT modelinin performansını ImageNet-1K veri kümesinde çalışan son teknoloji ürünü büyük ölçekli ViT modelleriyle karşılaştırmaktadır. 

Aşağı Akış Görüntü Sınıflandırması

EfficientViT modeli, modelin transfer öğrenme yeteneklerini incelemek için çeşitli alt görevlere uygulanır ve aşağıdaki resim deneyin sonuçlarını özetlemektedir. Görülebileceği gibi EfficientViT-M5 modeli, çok daha yüksek bir verimi korurken tüm veri kümelerinde daha iyi veya benzer sonuçlar elde etmeyi başarıyor. Bunun tek istisnası, EfficientViT modelinin doğruluk sağlamada başarısız olduğu Cars veri kümesidir. 

Nesne algılama

EfficientViT'in nesneleri algılama yeteneğini analiz etmek için COCO nesne algılama görevindeki verimli modellerle karşılaştırılır ve aşağıdaki resim karşılaştırmanın sonuçlarını özetlemektedir. 

Son Düşüncelerimiz

Bu yazımızda, kademeli grup dikkatini kullanan ve bellek açısından verimli işlemler sağlayan hızlı görüş transformatör modelleri ailesi olan EfficientViT'ten bahsettik. EfficientViT'in performansını analiz etmek için gerçekleştirilen kapsamlı deneyler, EfficientViT modelinin çoğu durumda mevcut CNN ve görüntü transformatörü modellerinden daha iyi performans göstermesi nedeniyle umut verici sonuçlar vermiştir. Ayrıca görüş transformatörlerinin girişim hızını etkilemede rol oynayan faktörler üzerine bir analiz sunmaya çalıştık. 

"Meslek olarak bir mühendis, ezbere bir yazar". Kunal, yapay zeka ve makine öğrenimine derin bir sevgi ve anlayışa sahip, ilgi çekici ve bilgilendirici belgeleriyle bu alanlardaki karmaşık kavramları basitleştirmeye kendini adamış bir teknik yazardır.