Visual Transformer'ın hesaplama maliyeti nasıl azaltılır? Zamansal artıklık yaklaşımı şaşırtıcıdır

Transformer, dil alanına değişiklikler getirdikten sonra görsel alana da giriyor ancak aynı zamanda yüksek hesaplama maliyeti sorunu da yaşıyor. Yakın zamanda Wisconsin-Madison Üniversitesi'ndeki bir araştırma ekibi, görsel Transformer'daki zaman fazlalığından yararlanarak maliyet tasarrufu sağlayabilecek Eventful Transformer'ı önerdi.

Resim kaynağı: Sınırsız Yapay Zeka tarafından oluşturulmuştur

Transformer başlangıçta doğal dil işleme görevleri için tasarlanmıştı ancak artık görsel görevlerde yaygın olarak kullanılıyor. Vision Transformer, çeşitli görsel tanıma görevlerinde olağanüstü doğruluk elde eder ve görüntü sınıflandırma, video sınıflandırma ve nesne algılama gibi görevlerde en son teknolojiye sahip performansa ulaşır.

Görsel Transformer'ın en büyük dezavantajı yüksek hesaplama maliyetidir. Tipik bir evrişimli ağ (CNN), görüntü başına onlarca GFlop'a ihtiyaç duyarken, görsel Transformer genellikle görüntü başına yüzlerce GFlop'a ulaşacak şekilde daha fazla büyüklük sırası gerektirir. Videoyu işlerken, büyük miktarda veri nedeniyle bu sorun daha da ciddidir. Yüksek hesaplama maliyeti, Visual Transformer'ın sınırlı kaynaklara veya sıkı gecikme gereksinimlerine sahip cihazlara konuşlandırılmasını zorlaştırıyor, bu da bu teknolojinin uygulama senaryolarını sınırlıyor, aksi takdirde zaten bazı heyecan verici uygulamalarımız olurdu.

Yakın tarihli bir makalede, Wisconsin-Madison Üniversitesi'nden Matthew Dutson, Yin Li ve Mohit Gupta'dan üç araştırmacı, ilk olarak video uygulamalarındaki görsel Transformatörlerin maliyetini azaltmak için sonraki girdiler arasındaki zamansal fazlalığın kullanılabileceğini öne sürdü. Ayrıca Eventful Transformer'ı oluşturmak için kullanılan PyTorch modülünü içeren model kodunu da yayınladılar.

* Kağıt adresi: *proje adresi:

Geçici artıklık: İlk olarak, bir video dizisini kare kare veya video klibi video klip işleyebilen görsel bir Transformer'ın olduğunu varsayalım. Bu Transformer, basit bir kare kare işleme modeli (bir nesne dedektörü gibi) veya uzay-zamansal bir modelin bir ara adımı (ViViT'in ayrıştırılmış modelinin ilk adımı gibi) olabilir. Bir girdinin tam bir dizi olduğu dil işleme Transformer'ından farklı olarak, buradaki araştırmacılar zaman içinde Transformer'a birden fazla farklı girdi (kareler veya video klipler) sağlıyor.

Doğal videolar önemli miktarda zamansal artıklık içerir, yani sonraki kareler arasındaki farklar küçüktür. Bununla birlikte, Transformers da dahil olmak üzere derin ağlar genellikle her kareyi "sıfırdan" hesaplar. Bu yöntem, önceki akıl yürütme yoluyla elde edilen potansiyel olarak ilgili bilgileri göz ardı eder ve bu son derece israftır. Bu nedenle bu üç araştırmacı şunu merak etti: Önceki hesaplama adımlarının ara hesaplama sonuçları, gereksiz dizilerin işlenmesi verimliliğini artırmak için yeniden kullanılabilir mi?

Uyarlanabilir çıkarım: Görsel Transformers ve genel olarak derin ağlar için çıkarımın maliyeti genellikle mimari tarafından belirlenir. Ancak gerçek uygulamalarda mevcut kaynaklar, örneğin rakip süreçler veya güç değişiklikleri nedeniyle zamanla değişebilir. Sonuç olarak, çalışma zamanında model hesaplama maliyetinin değiştirilmesine ihtiyaç duyulabilir. Bu yeni çabada araştırmacıların belirlediği ana tasarım hedeflerinden biri uyarlanabilirlikti; onların yaklaşımı, hesaplama maliyetleri üzerinde gerçek zamanlı kontrole izin veriyordu. Aşağıdaki Şekil 1 (altta), video işleme sırasında hesaplama bütçesinin değiştirilmesine bir örnek vermektedir.

Olaylı Transformatör: Bu makale, verimli ve uyarlanabilir akıl yürütme elde etmek için girdiler arasındaki zamansal fazlalıktan yararlanabilen Olaylı Transformatör'ü önermektedir. Olaylı terimi, sahne değiştikçe görüntüleri ayrı ayrı kaydeden sensörler olan olay kameralarından ilham almıştır. Eventful Transformer, zaman içinde simge düzeyindeki değişiklikleri izler ve her zaman adımında simge temsillerini ve kişisel dikkat haritalarını seçici olarak günceller. Eventful Transformer modülü, çalışma zamanı sırasında güncellenen token sayısını kontrol etmek için kullanılan bir geçiş modülü içerir.

Bu yöntem, kullanıma hazır modellerle kullanılabilir (genellikle yeniden eğitim gerektirmeden) ve birçok video işleme göreviyle uyumludur. Araştırmacılar ayrıca deneysel gösteriler gerçekleştirdiler ve sonuçlar, Eventful Transformer'ın mevcut en iyi modellerde kullanılabileceğini ve orijinal doğruluklarını korurken hesaplama maliyetlerini büyük ölçüde azaltabileceğini gösterdi.

Olaylı Transformatör

Bu araştırmanın amacı, video tanıma için Vision Transformer'ı hızlandırmaktır. Bu senaryoda, görsel Transformer'ın video karelerini veya video kliplerini tekrar tekrar işlemesi gerekir.Belirli görevler arasında video hedefi algılama ve video eylemi tanıma yer alır. Burada önerilen temel fikir, zamansal artıklıktan yararlanmak, yani önceki zaman adımlarının hesaplama sonuçlarını yeniden kullanmaktır. Aşağıda, Transformer modülünün zaman yedekliliğini algılayabilmesi için nasıl değiştirileceği ayrıntılı olarak açıklanacaktır.

belirteç geçişi: fazlalığı tespit etme

Bu bölümde araştırmacılar tarafından önerilen iki yeni modül tanıtılacaktır: token kapısı ve token buffer. Bu modüller, modelin son güncellemeden bu yana önemli ölçüde değişen tokenleri tanımlamasına ve güncellemesine olanak tanır.

Kapı modülü: Bu kapı, giriş jetonu N'den bir M parçasını seçecek ve bunu hesaplama için aşağı akış katmanına gönderecektir. Belleğinde u olarak gösterilen bir referans token seti tutar. Bu referans vektörü, her bir tokenin en son güncelleme anındaki değerini içerir. Her zaman adımında, her token karşılık gelen referans değeriyle karşılaştırılır ve referans değerinden önemli ölçüde farklı olan token güncellenir.

Şimdi kapıya gelen akım girişinin c olmasına izin verin. Her zaman adımında, kapının durumunu güncellemek ve çıktısını belirlemek için aşağıdaki süreç takip edilir (aşağıdaki Şekil 2'ye bakınız):

1. Toplam hatayı e = u − c'yi hesaplayın.

  1. Hata için bir seçim stratejisi kullanın e. Seçim stratejisi, hangi M belirteçlerinin güncellenmesi gerektiğini belirten bir m ikili maskesini (belirteç indeks listesine eşdeğer) döndürür.

  2. Yukarıdaki stratejiye göre seçilen jetonu çıkarın. Bu, Şekil 2'de c × m çarpımı olarak tanımlanmaktadır; pratikte, c'nin birinci ekseni boyunca bir "toplama" işlemi gerçekleştirilerek elde edilir. Toplanan jetonlar buraya şu şekilde kaydedilir:

, bu kapının çıkışıdır.

  1. Referans jetonunu seçilen jetona güncelleyin. Şekil 2 bu süreci şu şekilde açıklamaktadır:

;Uygulamada kullanılan işlem "scatter"dır. İlk zaman adımında, kapı tüm belirteçleri günceller (u ← c'yi başlatır ve c˜ = c'yi döndürür).

Tampon modülü: Tampon modülü bir durum tensörünü korur

, her giriş jetonunu izleyen

olduğunda, tampon, jetonları f (c˜)'den b'deki karşılık gelen konumlarına dağıtır. Daha sonra güncellenen b'yi çıktı olarak döndürür, aşağıdaki Şekil 3'e bakın.

Araştırmacılar her kapıyı arkasında bir tamponla eşleştirdiler. İşte basit bir kullanım modeli: kapının çıktısı

her jeton üzerinde bir dizi f(c˜) işlemine geçirilir; daha sonra ortaya çıkan tensör

Tam şekli geri yükleyecek bir tampona aktarıldı.

Yedekliğin farkında olan bir Transformer oluşturun

Yukarıdaki zaman fazlalığından yararlanmak için araştırmacılar Transformer modülünde bir değişiklik şeması önerdiler. Aşağıdaki Şekil 4, Eventful Transformer modülünün tasarımını göstermektedir. Bu yöntem, sorgu anahtarı değeri ve dikkat değeri çarpımının yanı sıra bireysel belirteçler (MLP gibi) üzerindeki işlemleri de hızlandırabilir.

Her token için Transformer Operasyonu modülünde, her token için birçok işlem gerçekleştirilir; bu, MLP ve MSA'daki doğrusal dönüşümler de dahil olmak üzere tokenler arasında bilgi alışverişini içermediği anlamına gelir. Hesaplama maliyetlerinden tasarruf etmek için araştırmacılar, kapı tarafından seçilmeyen tokenların token odaklı işlemlerinin atlanabileceğini belirtti. Tokenlar arasındaki bağımsızlık nedeniyle bu, seçilen token üzerindeki işlemin sonucunu değiştirmez. Bkz. Şekil 3.

Spesifik olarak araştırmacılar, her bir jeton üzerindeki sürekli işlem dizisi için (W_qkv dönüşümü, W_p dönüşümü ve MLP dahil) bir çift kapı arabelleği kullandılar. Ayrıca, iki toplama işleneninin belirteçlerinin düzgün şekilde hizalandığından emin olmak için atlama bağlantısından önce bir arabellek eklediklerini unutmayın.

Her token için işlemin maliyeti, token sayısıyla orantılıdır. Kapı bu sayıyı N'den M'ye düşürebilir; bu da her bir token için aşağı yönlü işlemlerin hesaplama maliyetini N/M kez azaltır.

Sorgu-anahtar-değer çarpımı: Şimdi sorgu-anahtar-değer çarpımına B = qk^T bakalım.

Aşağıdaki Şekil 5, sorgu-anahtar-değer ürünü B'deki öğelerin bir alt kümesini seyrek olarak güncellemeye yönelik bir yöntemi göstermektedir.

Bu güncellemelerin toplam maliyeti, B'yi sıfırdan hesaplamanın maliyeti olan N^2D ile karşılaştırıldığında 2 NMD'dir. Yeni yöntemin maliyetinin, kapı tarafından seçilen token sayısı olan M ile orantılı olduğunu unutmayın. M < N/2 olduğunda (şu anda güncellenen tokenler toplamın yarısından azdır), hesaplama miktarı kaydedilebilir.

Dikkat-değer çarpımı: Araştırmacı Δ artışına dayalı bir güncelleme stratejisi önerdi.

Aşağıdaki Şekil 6, üç artımlı terimin verimli bir şekilde hesaplanması için yeni önerilen yöntemi göstermektedir.

Benzer şekilde M < N/2 olduğunda hesaplama miktarı kaydedilebilir.

jeton seçim stratejisi

Eventful Transformer'ın önemli bir tasarımı token seçim stratejisidir. Bir geçit hatası tensörü e verildiğinde, böyle bir politikanın amacı, güncellenmesi gereken belirteçleri gösteren bir m maskesi oluşturmaktır. Spesifik stratejiler şunları içerir:

Top-r stratejisi: Bu strateji, en büyük hata e'ye sahip r jetonlarını seçer (burada L2 normu kullanılır).

Eşik stratejisi: Bu strateji, hata normu e, h eşiğini aşan tüm jetonları seçer.

Diğer stratejiler: Daha karmaşık ve sofistike token seçim stratejileri, daha iyi doğruluk-maliyet dengesi sağlayabilir. Örneğin, bir stratejiyi öğrenmek için hafif bir politika ağı kullanılabilir. Ancak politikanın karar verme mekanizmasının eğitimi zor olabilir çünkü m ikili maskesi genellikle türevlendirilemez. Başka bir fikir, önem puanını seçim için referans bilgisi olarak kullanmaktır. Ancak bu fikirler hala gelecekteki araştırmaları bekliyor.

Deney

Araştırmacılar, yeni önerilen yöntemi video nesnesi algılama ve video eylemi tanıma görevleri üzerinde deneysel olarak değerlendirdiler.

Aşağıdaki Şekil 7, video hedefi tespitinin deneysel sonuçlarını göstermektedir. Pozitif eksen hesaplamalı tasarruf oranı, negatif eksen ise yeni yöntemin mAP50 skorundaki göreceli azalmadır. Yeni yöntemin doğruluktan küçük bir fedakarlık ile önemli hesaplama tasarrufları sağladığı görülebilir.

Aşağıdaki Şekil 8, video hedefi tespit görevindeki yöntem karşılaştırmasını ve ablasyon deneysel sonuçlarını göstermektedir.

Aşağıdaki Şekil 9, video eylemi tanımanın deneysel sonuçlarını göstermektedir.

Aşağıdaki Tablo 2'de bir CPU (Xeon Silver 4214, 2,2 GHz) ve bir GPU (NVIDIA RTX3090) üzerinde çalışma süresi (milisaniye) sonuçları gösterilmektedir.GPU üzerinde zaman yedekliliğinin getireceği hız artışının 1,74'e kadar çıkabileceği görülmektedir. kez ve CPU'daki iyileşme 2,47 kata ulaşabilir.

View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
  • Pin
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)