Rumah > Artikel > Peranti teknologi > Pendekatan yang mengejutkan untuk redundansi temporal: cara baharu untuk mengurangkan kos pengiraan Transformers visual
Transformer pada asalnya direka untuk tugas pemprosesan bahasa semula jadi, tetapi kini telah digunakan secara meluas dalam tugas penglihatan. Visual Transformer telah menunjukkan ketepatan yang sangat baik dalam pelbagai tugas pengecaman visual, dan mencapai prestasi semasa terbaik dalam tugas seperti klasifikasi imej, klasifikasi video dan pengesanan objek
Kelemahan utama Visual Transformer ialah kos pengiraan yang tinggi. Rangkaian konvolusi biasa (CNN) memerlukan berpuluh-puluh GFlop setiap imej, manakala Transformer visual selalunya memerlukan susunan magnitud yang lebih tinggi, mencecah ratusan GFlop setiap imej. Apabila memproses video, masalah ini lebih teruk kerana jumlah data yang besar. Kos pengiraan yang tinggi menyukarkan untuk menggunakan Transformer visual pada peranti yang mempunyai sumber terhad atau keperluan kependaman yang ketat, yang mengehadkan senario aplikasi teknologi ini, jika tidak, kami akan mempunyai beberapa aplikasi yang menarik.
Dalam kertas kerja baru-baru ini, tiga penyelidik dari University of Wisconsin-Madison, Matthew Dutson, Yin Li, dan Mohit Gupta, mula-mula mencadangkan bahawa redundansi sementara antara input berikutnya boleh digunakan untuk mengurangkan Transformer visual dalam aplikasi video . Mereka juga mengeluarkan kod model, yang termasuk modul PyTorch yang digunakan untuk membina Transformer Eventful.
Lewahan sementara: Mula-mula andaikan terdapat Transformer visual yang boleh memproses jujukan video bingkai demi bingkai atau klip video mengikut klip video. Transformer ini mungkin model pemprosesan bingkai demi bingkai yang ringkas (seperti pengesan objek) atau langkah perantaraan dalam model spatiotemporal (seperti langkah pertama model terurai ViViT). Tidak seperti Transformer pemprosesan bahasa, di mana satu input adalah urutan yang lengkap, di sini penyelidik menyediakan berbilang input berbeza (bingkai atau klip video) kepada Transformer dari semasa ke semasa.
Video semulajadi mengandungi redundansi temporal yang ketara, iaitu perbezaan antara bingkai berikutnya adalah kecil. Walau bagaimanapun, rangkaian dalam, termasuk Transformers, biasanya mengira setiap bingkai "dari awal." Kaedah ini membuang maklumat berpotensi berkaitan yang diperoleh melalui penaakulan sebelumnya, yang sangat membazir. Oleh itu, ketiga-tiga penyelidik ini tertanya-tanya: Bolehkah hasil pengiraan pertengahan langkah pengiraan sebelumnya digunakan semula untuk meningkatkan kecekapan pemprosesan jujukan berlebihan?
Inferens Suaian: Untuk Transformer visual, dan rangkaian dalam secara umum, kos inferens selalunya ditentukan oleh seni bina. Walau bagaimanapun, dalam aplikasi sebenar, sumber yang tersedia mungkin berubah dari semasa ke semasa, contohnya disebabkan oleh proses bersaing atau perubahan kuasa. Akibatnya, mungkin terdapat keperluan untuk mengubah suai kos pengiraan model pada masa jalan. Salah satu matlamat reka bentuk utama yang ditetapkan oleh penyelidik dalam usaha baharu ini ialah kebolehsuaian—pendekatan mereka membenarkan kawalan masa nyata ke atas kos pengiraan. Rajah 1 di bawah (bawah) memberikan contoh mengubah suai belanjawan pengiraan semasa pemprosesan video.
Transformer berasaskan peristiwa: Kertas kerja ini mencadangkan Transformer berasaskan peristiwa yang boleh memanfaatkan lebihan sementara antara input untuk mencapai penaakulan yang cekap dan adaptif. Istilah peristiwa diilhamkan oleh kamera acara, penderia yang merakam imej secara diskret apabila adegan berubah. Transformer berasaskan peristiwa menjejaki perubahan peringkat token dari semasa ke semasa dan secara terpilih mengemas kini perwakilan token dan peta perhatian diri pada setiap langkah masa. Modul Transformer berasaskan peristiwa mengandungi modul gating untuk mengawal bilangan token kemas kini Kaedah ini sesuai untuk model sedia ada (biasanya tanpa latihan semula) dan sesuai untuk banyak tugas pemprosesan video. Para penyelidik juga menjalankan eksperimen untuk membuktikan bahawa keputusan menunjukkan bahawa Transformer Eventful boleh digunakan pada model sedia ada yang terbaik sambil mengurangkan kos pengiraan dan mengekalkan ketepatan asal
Eventful Transformer
token gating: mengesan redundansi
#🎜🎜🎜 bahagian ini akan mulakan ##🎜 modul baharu yang dicadangkan oleh penyelidik: gerbang token dan penimbal token. Modul ini membolehkan model mengenal pasti dan mengemas kini token yang telah berubah dengan ketara sejak modul Gerbang terakhir: Gerbang ini memilih bahagian M daripada token input N dan menghantarnya ke lapisan Hilir melakukan pengiraan. Ia mengekalkan set token rujukan dalam ingatannya, dilambangkan sebagai u. Vektor rujukan ini mengandungi nilai setiap token pada masa kemas kini terbaharunya. Pada setiap langkah masa, setiap token dibandingkan dengan nilai rujukannya yang sepadan dan token yang jauh berbeza daripada nilai rujukan dikemas kini.Sekarang tandakan input semasa pintu pagar sebagai c. Pada setiap langkah masa, proses berikut diikuti untuk mengemas kini status get dan menentukan outputnya (lihat Rajah 2 di bawah): 🎜#1 Kira jumlah ralat e = u − c.
2 Gunakan strategi pemilihan untuk ralat e. Strategi pemilihan mengembalikan topeng binari m (bersamaan dengan senarai indeks token), menunjukkan token M yang perlu dikemas kini.
3 Ekstrak token yang dipilih oleh strategi di atas. Ini diterangkan dalam Rajah 2 sebagai produk c × m dalam amalan ia dicapai dengan melakukan operasi "kumpul" di sepanjang paksi pertama c. Token yang dikumpul direkodkan di sini sebagai , iaitu keluaran gerbang.
4. Kemas kini token rujukan kepada token yang dipilih. Rajah 2 menerangkan proses ini sebagai
; operasi yang digunakan dalam amalan ialah "scatter". Dalam langkah kali pertama, get mengemas kini semua token (memulakan u ← c dan mengembalikan c˜ = c).
Modul penimbal: Modul penimbal mengekalkan tensor keadaan , yang menjejaki setiap token input # Bila 🎜🎜 🎜🎜#
, penimbal menyebarkan token dari f (c˜) ke kedudukan sepadannya dalam b. Ia kemudian mengembalikan b yang dikemas kini sebagai outputnya, lihat Rajah 3 di bawah. Para penyelidik memasangkan setiap pintu masuk dengan penampan di belakangnya. Berikut ialah corak penggunaan mudah: output get
dihantar ke siri operasi f (c˜) untuk setiap token; Tensor yang terhasildisalurkan kepada penimbal yang akan memulihkan bentuk penuh.
Bina semula Transformer dengan lebihan yang dirasakan#🎜🎜🎜 untuk #🎜🎜 Oleh kerana lebihan masa di atas, pengkaji mencadangkan pelan pengubahsuaian kepada modul Transformer. Rajah 4 di bawah menunjukkan reka bentuk modul Eventful Transformer. Kaedah ini boleh mempercepatkan operasi pada token individu (seperti MLP) serta pendaraban nilai kunci pertanyaan dan nilai perhatian.
Dalam modul Transformer Operasi untuk setiap token, banyak operasi adalah untuk setiap token, yang bermaksud ia tidak melibatkan pertukaran maklumat antara token, termasuk transformasi linear dalam MLP dan MSA. Untuk menjimatkan kos pengiraan, para penyelidik menyatakan bahawa operasi berorientasikan token pada token yang tidak dipilih oleh pintu masuk boleh dilangkau. Disebabkan oleh kebebasan antara token, ini tidak mengubah hasil operasi pada token yang dipilih. Lihat Rajah 3.
Secara khusus, penyelidik menggunakan jujukan berterusan sepasang penimbal gerbang semasa memproses operasi setiap token, termasuk transformasi W_qkv, transformasi W_p dan MLP. Perlu diingat bahawa sebelum melangkau sambungan, mereka juga menambah penimbal untuk memastikan bahawa token dua operan tambahan diselaraskan dengan betul Kos operasi untuk setiap token adalah berkadar dengan bilangan token. Dengan mengurangkan nombor daripada N kepada M, kos operasi hiliran setiap token akan dikurangkan sebanyak N/M kali
Sekarang mari kita lihat hasil produk query-key-value B = q k^T
Rajah 5 di bawah menunjukkan kaedah untuk mengemas kini subset elemen secara jarang dalam produk nilai kunci pertanyaan B.
Kos keseluruhan kemas kini ini ialah 2NMD, berbanding kos pengkomputeran B dari awal ialah N^2D. Ambil perhatian bahawa kos kaedah baharu adalah berkadar dengan M, bilangan token yang dipilih. Apabila M
Perhatian - produk nilai: Penyelidik mencadangkan kaedah berdasarkan kenaikan Δ Kemas kini strategi.
Rajah 6 menunjukkan kaedah yang baru dicadangkan untuk mengira dengan cekap tiga sebutan tambahan
Apabila M kurang daripada separuh N, jumlah pengiraan boleh dikurangkan
Reka bentuk penting Eventful Transformer ialah strategi pemilihan tokennya. Memandangkan tensor ralat gerbang e, matlamat dasar sedemikian adalah untuk menghasilkan topeng m yang menunjukkan token yang perlu dikemas kini. Strategi khusus termasuk:
Strategi teratas: Strategi ini memilih token r dengan ralat terbesar e (norma L2 digunakan di sini). Strategi ambang: Strategi ini akan memilih semua token yang norma ralatnya e melebihi ambang h
Kandungan yang ditulis semula: Strategi lain: Menggunakan strategi pemilihan token yang lebih kompleks dan canggih boleh mencapai hasil yang lebih baik Tukar ganti ketepatan-kos , cth. rangkaian dasar ringan boleh digunakan untuk mempelajari dasar. Walau bagaimanapun, latihan mekanisme membuat keputusan dasar mungkin menghadapi kesukaran kerana topeng binari m biasanya tidak boleh dibezakan. Idea lain ialah menggunakan skor kepentingan sebagai maklumat rujukan untuk pemilihan. Walau bagaimanapun, idea-idea ini masih memerlukan kajian lanjut
Eksperimen
Para penyelidik menjalankan penilaian eksperimen bagi kaedah yang baru dicadangkan, khusus digunakan untuk pengesanan objek video dan tugas pengecaman tindakan video
di bawah Rajah 7. Keputusan eksperimen pengesanan sasaran. di mana paksi positif ialah kadar penjimatan pengiraan dan paksi negatif ialah pengurangan relatif dalam skor mAP50 untuk kaedah baharu. Ia dapat dilihat bahawa kaedah baru mengorbankan sedikit ketepatan sebagai pertukaran untuk penjimatan pengiraan yang ketara.
Rajah 8 di bawah menunjukkan perbandingan kaedah dan keputusan eksperimen ablasi untuk tugas pengesanan sasaran video
Rajah 9 di bawah menunjukkan keputusan eksperimen untuk pengecaman tindakan video
Dalam Jadual 2 di bawah, keputusan masa (dalam milisaat) ditunjukkan berjalan pada satu CPU (Xeon Silver 4214, 2.2 GHz) dan satu GPU (NVIDIA RTX3090). Dapat diperhatikan bahawa lebihan masa pada GPU membawa peningkatan kelajuan sebanyak 1.74 kali, manakala peningkatan pada CPU mencapai 2.47 kali ganda
Untuk butiran lanjut teknikal dan hasil eksperimen, sila rujuk kertas asal.
Atas ialah kandungan terperinci Pendekatan yang mengejutkan untuk redundansi temporal: cara baharu untuk mengurangkan kos pengiraan Transformers visual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!