Setelah melakukan perubahan pada bidang bahasa, Transformer memasuki bidang visual, tetapi juga memiliki masalah biaya komputasi yang tinggi. Baru-baru ini, tim peneliti di University of Wisconsin-Madison mengusulkan Eventful Transformer, yang dapat menghemat biaya dengan memanfaatkan redundansi waktu dalam visual Transformer.
Sumber gambar: Dihasilkan oleh AI Tanpa Batas
Transformer awalnya dirancang untuk tugas pemrosesan bahasa alami, namun sekarang banyak digunakan untuk tugas penglihatan. Vision Transformer mencapai akurasi luar biasa pada berbagai tugas pengenalan visual dan mencapai kinerja canggih pada tugas-tugas seperti klasifikasi gambar, klasifikasi video, dan deteksi objek.
Kelemahan utama Transformer visual adalah biaya komputasinya yang tinggi. Jaringan konvolusional (CNN) pada umumnya memerlukan puluhan GFlop per gambar untuk diproses, sedangkan Transformer visual seringkali memerlukan urutan besarnya lebih banyak, mencapai ratusan GFlop per gambar. Saat memproses video, masalah ini menjadi lebih parah karena banyaknya data. Biaya komputasi yang tinggi mempersulit penerapan Visual Transformer pada perangkat dengan sumber daya terbatas atau persyaratan latensi yang ketat, sehingga membatasi skenario penerapan teknologi ini, jika tidak, kita pasti sudah memiliki beberapa aplikasi yang menarik.
Dalam makalah baru-baru ini, tiga peneliti dari Universitas Wisconsin-Madison, Matthew Dutson, Yin Li, dan Mohit Gupta, pertama kali mengusulkan bahwa redundansi temporal antara input berikutnya dapat digunakan untuk mengurangi biaya Transformers visual dalam aplikasi video. Mereka juga merilis kode model, yang mencakup modul PyTorch yang digunakan untuk membuat Eventful Transformer.
* Alamat kertas:
*alamat proyek:
Redundansi temporal: Pertama asumsikan ada Transformer visual yang dapat memproses rangkaian video bingkai demi bingkai atau klip video demi klip video. Transformer ini mungkin merupakan model pemrosesan frame-demi-frame sederhana (seperti detektor objek) atau langkah perantara dari model spatiotemporal (seperti langkah pertama model dekomposisi ViViT). Berbeda dengan pemrosesan bahasa Transformer, di mana satu masukan merupakan rangkaian lengkap, para peneliti di sini memberikan beberapa masukan berbeda (bingkai atau klip video) ke Transformer seiring waktu.
Video alami mengandung redundansi temporal yang signifikan, yaitu perbedaan antara frame berikutnya kecil. Meskipun demikian, jaringan dalam, termasuk Transformers, biasanya menghitung setiap frame “dari awal.” Metode ini membuang informasi yang berpotensi relevan yang diperoleh melalui penalaran sebelumnya, sehingga sangat sia-sia. Oleh karena itu, ketiga peneliti ini bertanya-tanya: Dapatkah hasil penghitungan antara dari langkah penghitungan sebelumnya digunakan kembali untuk meningkatkan efisiensi pemrosesan rangkaian redundan?
Inferensi adaptif: Untuk Transformer visual, dan jaringan dalam secara umum, biaya inferensi sering kali ditentukan oleh arsitektur. Namun, dalam aplikasi nyata, sumber daya yang tersedia dapat berubah seiring waktu, misalnya karena persaingan proses atau perubahan daya. Akibatnya, mungkin ada kebutuhan untuk memodifikasi biaya penghitungan model saat runtime. Salah satu tujuan desain utama yang ditetapkan oleh para peneliti dalam upaya baru ini adalah kemampuan beradaptasi—pendekatan mereka memungkinkan pengendalian biaya komputasi secara real-time. Gambar 1 di bawah (bawah) memberikan contoh modifikasi anggaran komputasi selama pemrosesan video.
Eventful Transformer: Makalah ini mengusulkan Eventful Transformer, yang dapat memanfaatkan redundansi temporal antara input untuk mencapai penalaran yang efisien dan adaptif. Istilah eventful terinspirasi oleh kamera peristiwa, sensor yang merekam gambar secara terpisah seiring perubahan pemandangan. Eventful Transformer melacak perubahan tingkat token dari waktu ke waktu dan secara selektif memperbarui representasi token dan peta perhatian mandiri di setiap langkah waktu. Modul Eventful Transformer berisi modul gating yang digunakan untuk mengontrol jumlah token yang diperbarui selama runtime.
Metode ini dapat digunakan dengan model siap pakai (biasanya tanpa pelatihan ulang) dan kompatibel dengan banyak tugas pemrosesan video. Para peneliti juga melakukan demonstrasi eksperimental, dan hasilnya menunjukkan bahwa Eventful Transformer dapat digunakan pada model terbaik yang ada, sehingga sangat mengurangi biaya komputasi sekaligus mempertahankan keakuratan aslinya.
Transformator Penting
Tujuan dari penelitian ini adalah untuk mempercepat Vision Transformer untuk pengenalan video. Dalam skenario ini, Transformer visual perlu berulang kali memproses bingkai video atau klip video.Tugas khusus mencakup deteksi target video dan pengenalan tindakan video. Ide utama yang diusulkan di sini adalah untuk memanfaatkan redundansi temporal, yaitu menggunakan kembali hasil perhitungan langkah waktu sebelumnya. Berikut akan dijelaskan secara detail cara memodifikasi modul Transformer agar mampu mendeteksi redundansi waktu.
token gating: mendeteksi redundansi
Bagian ini akan memperkenalkan dua modul baru yang diusulkan oleh para peneliti: token gate dan token buffer. Modul ini memungkinkan model untuk mengidentifikasi dan memperbarui token yang telah berubah secara signifikan sejak pembaruan terakhir.
Modul gerbang: Gerbang ini akan memilih bagian M dari token masukan N dan mengirimkannya ke lapisan hilir untuk perhitungan. Ia mempertahankan token referensi yang ditetapkan dalam memorinya, dilambangkan sebagai u. Vektor referensi ini berisi nilai setiap token pada saat pembaruan terkini. Pada setiap langkah waktu, setiap token dibandingkan dengan nilai referensi terkait, dan token yang berbeda secara signifikan dari nilai referensi diperbarui.
Sekarang biarkan masukan arus ke gerbang menjadi c. Pada setiap langkah waktu, proses berikut diikuti untuk memperbarui status gerbang dan menentukan outputnya (lihat Gambar 2 di bawah):
1. Hitung kesalahan total e = u − c.
Gunakan strategi seleksi untuk kesalahan e. Strategi pemilihan mengembalikan topeng biner m (setara dengan daftar indeks token), yang menunjukkan token M mana yang harus diperbarui.
Ekstrak token yang dipilih dengan strategi di atas. Hal ini dijelaskan pada Gambar 2 sebagai hasil kali c × m; dalam praktiknya hal ini dicapai dengan melakukan operasi "kumpulkan" sepanjang sumbu pertama c. Token yang dikumpulkan dicatat di sini sebagai
, yang merupakan output dari gerbang.
Perbarui token referensi ke token yang dipilih. Gambar 2 menggambarkan proses ini sebagai
;Operasi yang digunakan dalam praktik adalah "menyebar". Pada langkah pertama, gerbang memperbarui semua token (menginisialisasi u ← c dan mengembalikan c˜ = c).
Modul buffer: Modul buffer mempertahankan tensor status
, yang melacak setiap token masukan
Ketika , buffer menyebarkan token dari f (c˜) ke posisi terkait di b. Kemudian mengembalikan b yang diperbarui sebagai outputnya, lihat Gambar 3 di bawah.
Para peneliti memasangkan setiap pintu dengan penyangga di belakangnya. Berikut adalah pola penggunaan sederhana: keluaran gerbang
diteruskan ke serangkaian operasi f (c˜) pada setiap token; kemudian tensor yang dihasilkan
Diteruskan ke buffer, yang akan mengembalikan bentuk penuh.
Bangun Transformer yang sadar redundansi
Untuk memanfaatkan redundansi waktu di atas, peneliti mengusulkan skema modifikasi pada modul Transformer. Gambar 4 di bawah menunjukkan desain modul Eventful Transformer. Metode ini dapat mempercepat operasi pada token individual (seperti MLP) serta perkalian nilai kunci kueri dan nilai perhatian.
Dalam modul Operation Transformer untuk setiap token, banyak operasi yang dilakukan untuk setiap token, yang berarti tidak melibatkan pertukaran informasi antar token, termasuk transformasi linier di MLP dan MSA. Untuk menghemat biaya komputasi, para peneliti menyatakan bahwa operasi token yang berorientasi token yang tidak dipilih oleh gerbang dapat dilewati. Karena independensi antar token, hal ini tidak mengubah hasil operasi pada token yang dipilih. Lihat Gambar 3.
Secara khusus, para peneliti menggunakan sepasang gerbang-buffer untuk rangkaian operasi berkelanjutan pada setiap token (termasuk transformasi W_qkv, transformasi W_p, dan MLP). Perhatikan bahwa mereka juga menambahkan buffer sebelum koneksi lewati untuk memastikan bahwa token dari dua operan tambahan diselaraskan dengan benar.
Biaya operasi untuk setiap token sebanding dengan jumlah token. Gerbang tersebut dapat mengurangi angka ini dari N menjadi M, yang juga mengurangi biaya komputasi operasi hilir untuk setiap token sebanyak N/M kali.
Produk nilai kunci kueri: Sekarang mari kita lihat produk nilai kunci kueri B = qk^T.
Gambar 5 di bawah menunjukkan metode untuk memperbarui secara jarang subset elemen dalam produk nilai kunci kueri B.
Biaya keseluruhan pembaruan ini adalah 2NMD, dibandingkan dengan biaya komputasi B dari awal, yaitu N^2D. Perhatikan bahwa biaya metode baru ini sebanding dengan M, jumlah token yang dipilih oleh gerbang. Ketika M < N/2 (token yang diperbarui saat ini kurang dari setengah total), jumlah perhitungan dapat disimpan.
Produk nilai perhatian: Peneliti mengusulkan strategi pembaruan berdasarkan kenaikan Δ.
Gambar 6 di bawah menunjukkan metode baru yang diusulkan untuk menghitung tiga suku tambahan secara efisien.
Demikian pula ketika M < N/2, jumlah perhitungan dapat disimpan.
strategi pemilihan token
Desain penting dari Eventful Transformer adalah strategi pemilihan tokennya. Mengingat tensor kesalahan gerbang e, tujuan dari kebijakan tersebut adalah untuk menghasilkan masker m yang menunjukkan token yang harus diperbarui. Strategi khusus meliputi:
Strategi r teratas: Strategi ini memilih r token dengan kesalahan e terbesar (norma L2 digunakan di sini).
Strategi ambang batas: Strategi ini memilih semua token yang tingkat kesalahannya e melebihi ambang batas h.
Strategi lainnya: Strategi pemilihan token yang lebih kompleks dan canggih dapat mencapai trade-off akurasi-biaya yang lebih baik. Misalnya, jaringan kebijakan yang ringan dapat digunakan untuk mempelajari suatu strategi. Namun, melatih mekanisme pengambilan keputusan suatu kebijakan bisa jadi sulit karena topeng biner m pada umumnya tidak dapat dibedakan. Ide lainnya adalah dengan menggunakan skor kepentingan sebagai informasi referensi untuk seleksi. Namun ide-ide ini masih menunggu penelitian di masa depan.
Eksperimen
Para peneliti secara eksperimental mengevaluasi metode baru yang diusulkan pada tugas deteksi objek video dan pengenalan tindakan video.
Gambar 7 di bawah ini menunjukkan hasil percobaan deteksi target video. Sumbu positif adalah tingkat penghematan komputasi, dan sumbu negatif adalah pengurangan relatif dalam skor mAP50 metode baru. Dapat dilihat bahwa metode baru ini menghasilkan penghematan komputasi yang signifikan dengan sedikit pengorbanan pada akurasi.
Gambar 8 di bawah ini menunjukkan perbandingan metode dan hasil eksperimen ablasi pada tugas deteksi target video.
Gambar 9 dibawah ini menunjukkan hasil percobaan pengenalan aksi video.
Tabel 2 di bawah ini menunjukkan hasil running time (milidetik) pada CPU (Xeon Silver 4214, 2.2 GHz) dan GPU (NVIDIA RTX3090), terlihat bahwa peningkatan kecepatan yang disebabkan oleh redundansi waktu pada GPU bisa mencapai 1.74 kali, dan peningkatan pada CPU bisa mencapai 2,47 kali lipat.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Bagaimana cara mengurangi biaya komputasi Visual Transformer? Pendekatan redundansi temporal sungguh mengejutkan
Transformer awalnya dirancang untuk tugas pemrosesan bahasa alami, namun sekarang banyak digunakan untuk tugas penglihatan. Vision Transformer mencapai akurasi luar biasa pada berbagai tugas pengenalan visual dan mencapai kinerja canggih pada tugas-tugas seperti klasifikasi gambar, klasifikasi video, dan deteksi objek.
Kelemahan utama Transformer visual adalah biaya komputasinya yang tinggi. Jaringan konvolusional (CNN) pada umumnya memerlukan puluhan GFlop per gambar untuk diproses, sedangkan Transformer visual seringkali memerlukan urutan besarnya lebih banyak, mencapai ratusan GFlop per gambar. Saat memproses video, masalah ini menjadi lebih parah karena banyaknya data. Biaya komputasi yang tinggi mempersulit penerapan Visual Transformer pada perangkat dengan sumber daya terbatas atau persyaratan latensi yang ketat, sehingga membatasi skenario penerapan teknologi ini, jika tidak, kita pasti sudah memiliki beberapa aplikasi yang menarik.
Dalam makalah baru-baru ini, tiga peneliti dari Universitas Wisconsin-Madison, Matthew Dutson, Yin Li, dan Mohit Gupta, pertama kali mengusulkan bahwa redundansi temporal antara input berikutnya dapat digunakan untuk mengurangi biaya Transformers visual dalam aplikasi video. Mereka juga merilis kode model, yang mencakup modul PyTorch yang digunakan untuk membuat Eventful Transformer.
Redundansi temporal: Pertama asumsikan ada Transformer visual yang dapat memproses rangkaian video bingkai demi bingkai atau klip video demi klip video. Transformer ini mungkin merupakan model pemrosesan frame-demi-frame sederhana (seperti detektor objek) atau langkah perantara dari model spatiotemporal (seperti langkah pertama model dekomposisi ViViT). Berbeda dengan pemrosesan bahasa Transformer, di mana satu masukan merupakan rangkaian lengkap, para peneliti di sini memberikan beberapa masukan berbeda (bingkai atau klip video) ke Transformer seiring waktu.
Video alami mengandung redundansi temporal yang signifikan, yaitu perbedaan antara frame berikutnya kecil. Meskipun demikian, jaringan dalam, termasuk Transformers, biasanya menghitung setiap frame “dari awal.” Metode ini membuang informasi yang berpotensi relevan yang diperoleh melalui penalaran sebelumnya, sehingga sangat sia-sia. Oleh karena itu, ketiga peneliti ini bertanya-tanya: Dapatkah hasil penghitungan antara dari langkah penghitungan sebelumnya digunakan kembali untuk meningkatkan efisiensi pemrosesan rangkaian redundan?
Inferensi adaptif: Untuk Transformer visual, dan jaringan dalam secara umum, biaya inferensi sering kali ditentukan oleh arsitektur. Namun, dalam aplikasi nyata, sumber daya yang tersedia dapat berubah seiring waktu, misalnya karena persaingan proses atau perubahan daya. Akibatnya, mungkin ada kebutuhan untuk memodifikasi biaya penghitungan model saat runtime. Salah satu tujuan desain utama yang ditetapkan oleh para peneliti dalam upaya baru ini adalah kemampuan beradaptasi—pendekatan mereka memungkinkan pengendalian biaya komputasi secara real-time. Gambar 1 di bawah (bawah) memberikan contoh modifikasi anggaran komputasi selama pemrosesan video.
Metode ini dapat digunakan dengan model siap pakai (biasanya tanpa pelatihan ulang) dan kompatibel dengan banyak tugas pemrosesan video. Para peneliti juga melakukan demonstrasi eksperimental, dan hasilnya menunjukkan bahwa Eventful Transformer dapat digunakan pada model terbaik yang ada, sehingga sangat mengurangi biaya komputasi sekaligus mempertahankan keakuratan aslinya.
Transformator Penting
Tujuan dari penelitian ini adalah untuk mempercepat Vision Transformer untuk pengenalan video. Dalam skenario ini, Transformer visual perlu berulang kali memproses bingkai video atau klip video.Tugas khusus mencakup deteksi target video dan pengenalan tindakan video. Ide utama yang diusulkan di sini adalah untuk memanfaatkan redundansi temporal, yaitu menggunakan kembali hasil perhitungan langkah waktu sebelumnya. Berikut akan dijelaskan secara detail cara memodifikasi modul Transformer agar mampu mendeteksi redundansi waktu.
token gating: mendeteksi redundansi
Bagian ini akan memperkenalkan dua modul baru yang diusulkan oleh para peneliti: token gate dan token buffer. Modul ini memungkinkan model untuk mengidentifikasi dan memperbarui token yang telah berubah secara signifikan sejak pembaruan terakhir.
Modul gerbang: Gerbang ini akan memilih bagian M dari token masukan N dan mengirimkannya ke lapisan hilir untuk perhitungan. Ia mempertahankan token referensi yang ditetapkan dalam memorinya, dilambangkan sebagai u. Vektor referensi ini berisi nilai setiap token pada saat pembaruan terkini. Pada setiap langkah waktu, setiap token dibandingkan dengan nilai referensi terkait, dan token yang berbeda secara signifikan dari nilai referensi diperbarui.
Sekarang biarkan masukan arus ke gerbang menjadi c. Pada setiap langkah waktu, proses berikut diikuti untuk memperbarui status gerbang dan menentukan outputnya (lihat Gambar 2 di bawah):
Gunakan strategi seleksi untuk kesalahan e. Strategi pemilihan mengembalikan topeng biner m (setara dengan daftar indeks token), yang menunjukkan token M mana yang harus diperbarui.
Ekstrak token yang dipilih dengan strategi di atas. Hal ini dijelaskan pada Gambar 2 sebagai hasil kali c × m; dalam praktiknya hal ini dicapai dengan melakukan operasi "kumpulkan" sepanjang sumbu pertama c. Token yang dikumpulkan dicatat di sini sebagai
Modul buffer: Modul buffer mempertahankan tensor status
Bangun Transformer yang sadar redundansi
Untuk memanfaatkan redundansi waktu di atas, peneliti mengusulkan skema modifikasi pada modul Transformer. Gambar 4 di bawah menunjukkan desain modul Eventful Transformer. Metode ini dapat mempercepat operasi pada token individual (seperti MLP) serta perkalian nilai kunci kueri dan nilai perhatian.
Secara khusus, para peneliti menggunakan sepasang gerbang-buffer untuk rangkaian operasi berkelanjutan pada setiap token (termasuk transformasi W_qkv, transformasi W_p, dan MLP). Perhatikan bahwa mereka juga menambahkan buffer sebelum koneksi lewati untuk memastikan bahwa token dari dua operan tambahan diselaraskan dengan benar.
Biaya operasi untuk setiap token sebanding dengan jumlah token. Gerbang tersebut dapat mengurangi angka ini dari N menjadi M, yang juga mengurangi biaya komputasi operasi hilir untuk setiap token sebanyak N/M kali.
Produk nilai kunci kueri: Sekarang mari kita lihat produk nilai kunci kueri B = qk^T.
Gambar 5 di bawah menunjukkan metode untuk memperbarui secara jarang subset elemen dalam produk nilai kunci kueri B.
Produk nilai perhatian: Peneliti mengusulkan strategi pembaruan berdasarkan kenaikan Δ.
Gambar 6 di bawah menunjukkan metode baru yang diusulkan untuk menghitung tiga suku tambahan secara efisien.
strategi pemilihan token
Desain penting dari Eventful Transformer adalah strategi pemilihan tokennya. Mengingat tensor kesalahan gerbang e, tujuan dari kebijakan tersebut adalah untuk menghasilkan masker m yang menunjukkan token yang harus diperbarui. Strategi khusus meliputi:
Strategi r teratas: Strategi ini memilih r token dengan kesalahan e terbesar (norma L2 digunakan di sini).
Strategi ambang batas: Strategi ini memilih semua token yang tingkat kesalahannya e melebihi ambang batas h.
Strategi lainnya: Strategi pemilihan token yang lebih kompleks dan canggih dapat mencapai trade-off akurasi-biaya yang lebih baik. Misalnya, jaringan kebijakan yang ringan dapat digunakan untuk mempelajari suatu strategi. Namun, melatih mekanisme pengambilan keputusan suatu kebijakan bisa jadi sulit karena topeng biner m pada umumnya tidak dapat dibedakan. Ide lainnya adalah dengan menggunakan skor kepentingan sebagai informasi referensi untuk seleksi. Namun ide-ide ini masih menunggu penelitian di masa depan.
Eksperimen
Para peneliti secara eksperimental mengevaluasi metode baru yang diusulkan pada tugas deteksi objek video dan pengenalan tindakan video.
Gambar 7 di bawah ini menunjukkan hasil percobaan deteksi target video. Sumbu positif adalah tingkat penghematan komputasi, dan sumbu negatif adalah pengurangan relatif dalam skor mAP50 metode baru. Dapat dilihat bahwa metode baru ini menghasilkan penghematan komputasi yang signifikan dengan sedikit pengorbanan pada akurasi.