


Idea baharu untuk mempercepatkan model ViT! Meta melancarkan Penggabungan Token, yang bergantung pada penggabungan dan bukannya pemangkasan
Visual Transformer (ViT) memasuki mata umum dua tahun lalu dan telah menjadi komponen teras penyelidikan penglihatan komputer.
Ia berjaya memindahkan model Transformer dalam bidang pemprosesan bahasa semula jadi ke bidang penglihatan komputer. Sejak itu, kemajuan dalam bidang penglihatan komputer telah dipercepatkan.
Walaupun sudah diatasi dari segi kos dan prestasi, Vanilla ViT masih mempunyai banyak kelebihan.
Ia terdiri daripada pendaraban matriks mudah, yang menjadikannya lebih pantas daripada bilangan operasi mentah yang dicadangkan.
Selain itu, mereka menyokong teknik pra-latihan penyeliaan kendiri yang berkuasa seperti MAE (Masked Autoencoder) yang boleh menghasilkan hasil terkini pada masa yang sama Latihan cepat.
Dan kerana mereka tidak membuat andaian tentang data, mereka boleh digunakan pada banyak mod seperti imej, audio, teks, dsb. dengan hampir tiada perubahan.
Sudah tentu cita-cita sangat penuh, tetapi realitinya sangat kurus. Model ViT berskala besar dan mempunyai kelewatan yang besar. Menjalankan model kompleks ini pada peranti dengan sumber terhad boleh menjadi sangat bermasalah.
Pemangkasan token: semakin baik, tetapi tidak sepenuhnya lebih baik
Untuk menangani masalah operasi perlahan, penyelidik Pelbagai penyelesaian diberikan. Salah satu cara biasa untuk mempercepatkan model Transformer penglihatan adalah dengan melakukan pemangkasan token.
Memangkas token pada masa jalan untuk menghasilkan Transformer yang cekap dengan memangkas token yang kurang penting. Contohnya, DynamicViT memangkas token berlebihan secara hierarki untuk mengurangkan FLOP dalam tugas pengelasan.
Walau bagaimanapun, pemangkasan token mempunyai beberapa masalah, yang paling penting ialah token pemangkasan akan menyebabkan kehilangan maklumat Oleh itu, orang ramai tidak berminat dengan token model ViT . Bilangan pemangkasan adalah terhad Untuk mengurangkan kehilangan maklumat, hanya token yang tidak penting boleh dipangkas.
Selain itu, agar token pangkas itu sah, seseorang itu perlu melatih model itu semula. Ini mengakibatkan penggunaan sumber tambahan.
Lebih penting lagi, pemangkasan token ialah proses yang dinamik, dan bilangan pemangkasan token yang berbeza perlu ditentukan berdasarkan imej atau ayat yang berbeza. Walaupun ini bagus untuk meningkatkan ketepatan, ia tidak cukup praktikal kerana dalam kes ini data tidak lagi boleh diproses secara kelompok.
Untuk menyelesaikan masalah ini, orang ramai perlu menambah topeng semasa proses pemangkasan, yang akan menjejaskan peningkatan kecekapan.
Ringkasnya, pemangkasan token memang menjadikan ViT berjalan lebih pantas, tetapi ini dicapai dengan kos kehilangan maklumat.
TokenMerging: Idea lain
Cara menggunakan ViT adalah sama dalam kelajuan untuk pemangkasan, tetapi mengekalkan ketepatan yang lebih tinggi daripada pemangkasan? Pasukan penyelidik Meta AI telah menghasilkan penyelesaian baharu: Penggabungan Token (ToMe).
Pautan kertas: https://arxiv.org/pdf/2210.09461.pdf
Penggabungan Token memilih untuk menggabungkan token dan bukannya mencantasnya. Terima kasih kepada algoritma pemadanan tersuainya, ia sepantas pemangkasan sambil menjadi lebih tepat. Selain itu, ia berfungsi tanpa memerlukan sebarang latihan tambahan, jadi anda boleh menggunakannya pada model besar untuk mempercepatkannya tanpa mengorbankan banyak ketepatan.
Matlamat Meta adalah untuk memasukkan modul Penggabungan Token ke dalam ViT sedia ada untuk meningkatkan daya pengeluaran latihan dan inferens dengan menggabungkan token berlebihan tanpa memerlukan latihan tambahan.
Idea asasnya ialah: dalam model Transformer, melalui penggabungan, setiap lapisan dikurangkan dengan r token. Katakan model Transformer mempunyai lapisan L, maka token rL boleh dikurangkan dengan penggabungan. Saiz pembolehubah r menentukan hubungan antara kelajuan dan ketepatan, kerana lebih sedikit penanda bermakna ketepatan yang lebih rendah tetapi daya pemprosesan yang lebih tinggi.
Perlu diperhatikan bahawa dalam Penggabungan Token, token rL akan dikurangkan tanpa mengira kandungan imej. Ini menyelesaikan masalah ketidakupayaan untuk melakukan pemprosesan kelompok dalam pemangkasan token dengan sempurna.
Dengan ToMe, kelompok token serupa digabungkan dalam setiap blok Transformer: contohnya, bulu anjing digabungkan menjadi satu token.
Penggabungan Token dimasukkan ke dalam setiap blok perhatian dan setiap blok Transformer. Ini juga berbeza dengan aliran kerja pemangkasan token. Yang terakhir cenderung untuk meletakkan langkah pemangkasan pada permulaan setiap blok Transformer.
Melalui Penggabungan Token, maklumat token yang perlu digabungkan boleh disebarkan, dan ViT juga boleh menggunakan blok perhatian Ciri-ciri untuk menentukan token yang perlu digabungkan.
Kaedah khusus
Langkah pertama penggabungan Ia ditentukan untuk menjadi token yang serupa. Di bawah syarat QKV (pertanyaan, kunci, nilai) dalam Transformer telah diekstrak, melalui eksperimen ablasi, pasukan penyelidik mendapati bahawa menggunakan kunci boleh mengukur kesamaan antara token (bahagian ungu dalam rajah di bawah).
Oleh kerana kunci telah meringkaskan maklumat yang terkandung dalam setiap token supaya ia boleh digunakan untuk produk titik dalam Perhatian. Ukur persamaan antara token.
Selain mengkaji metrik mana yang lebih baik untuk mengukur persamaan token, anda juga perlu mengetahui jarak yang mengukur persamaan. Melalui eksperimen, pasukan penyelidik mendapati bahawa menggunakan jarak kosinus untuk mengukur persamaan antara toke boleh mencapai hubungan terbaik antara ketepatan dan kelajuan.
Selepas menentukan persamaan token, kaedah pantas diperlukan untuk menentukan token yang perlu dipadankan untuk mengurangkan jumlah r .
Pasukan Meta tidak menggunakan algoritma pengelompokan kmeans atau algoritma segmentasi graf, tetapi menggunakan algoritma pemadanan, kerana yang terakhir bukan sahaja dapat memadankan bilangan token dengan tepat dalam setiap lapisan , dan boleh melakukan beribu-ribu perlawanan dengan cepat. Ini tidak boleh dicapai dengan algoritma pengelompokan berulang.
Oleh itu, pasukan Meta telah menghasilkan penyelesaian yang lebih cekap.
Matlamat reka bentuk adalah seperti berikut. 1.) elakkan sebarang lelaran yang tidak boleh disejajarkan, 2.) inginkan perubahan yang digabungkan menjadi beransur-ansur, kerana pengelompokan tidak mempunyai had pada bilangan penanda yang boleh digabungkan ke dalam kumpulan (yang mungkin menjejaskan rangkaian), sambil memadankan Kebanyakan tag tidak digabungkan.
- Bahagikan semua token kepada 2 set A dan B yang sama saiz.
- Lukiskan tepi daripada setiap token dalam set A kepada token yang paling serupa dalam set B.
- Hanya simpan bahagian tepi yang paling serupa dan padamkan yang lain.
- Gabungan tepi yang masih bersambung (ciri dipuratakan).
- Satukan kedua-dua set ini untuk mendapatkan keputusan gabungan terakhir.
Dengan teknologi unik ini, daya pemprosesan dan kelajuan latihan sebenar model ViT boleh dipertingkatkan. Menggunakan Penggabungan Token boleh menggandakan kelajuan latihan. Ia boleh digunakan untuk tugasan imej, video dan audio dan masih mencapai ketepatan terkini.
Atas ialah kandungan terperinci Idea baharu untuk mempercepatkan model ViT! Meta melancarkan Penggabungan Token, yang bergantung pada penggabungan dan bukannya pemangkasan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila menukar rentetan ke objek dalam vue.js, json.parse () lebih disukai untuk rentetan json standard. Untuk rentetan JSON yang tidak standard, rentetan boleh diproses dengan menggunakan ungkapan biasa dan mengurangkan kaedah mengikut format atau url yang dikodkan. Pilih kaedah yang sesuai mengikut format rentetan dan perhatikan isu keselamatan dan pengekodan untuk mengelakkan pepijat.

Artikel ini memperkenalkan operasi pangkalan data MySQL. Pertama, anda perlu memasang klien MySQL, seperti MySqlworkbench atau Command Line Client. 1. Gunakan perintah MySQL-Uroot-P untuk menyambung ke pelayan dan log masuk dengan kata laluan akaun root; 2. Gunakan CreateTatabase untuk membuat pangkalan data, dan gunakan Pilih pangkalan data; 3. Gunakan createtable untuk membuat jadual, menentukan medan dan jenis data; 4. Gunakan InsertInto untuk memasukkan data, data pertanyaan, kemas kini data dengan kemas kini, dan padam data dengan padam. Hanya dengan menguasai langkah -langkah ini, belajar menangani masalah biasa dan mengoptimumkan prestasi pangkalan data anda boleh menggunakan MySQL dengan cekap.

Untuk menetapkan masa untuk Vue Axios, kita boleh membuat contoh Axios dan menentukan pilihan masa tamat: dalam tetapan global: vue.prototype. $ Axios = axios.create ({timeout: 5000}); Dalam satu permintaan: ini. $ axios.get ('/api/pengguna', {timeout: 10000}).

Cecair memproses 7 juta rekod dan membuat peta interaktif dengan teknologi geospatial. Artikel ini meneroka cara memproses lebih dari 7 juta rekod menggunakan Laravel dan MySQL dan mengubahnya menjadi visualisasi peta interaktif. Keperluan Projek Cabaran Awal: Ekstrak Wawasan berharga menggunakan 7 juta rekod dalam pangkalan data MySQL. Ramai orang mula -mula mempertimbangkan bahasa pengaturcaraan, tetapi mengabaikan pangkalan data itu sendiri: Bolehkah ia memenuhi keperluan? Adakah penghijrahan data atau pelarasan struktur diperlukan? Bolehkah MySQL menahan beban data yang besar? Analisis awal: Penapis utama dan sifat perlu dikenalpasti. Selepas analisis, didapati bahawa hanya beberapa atribut yang berkaitan dengan penyelesaiannya. Kami mengesahkan kemungkinan penapis dan menetapkan beberapa sekatan untuk mengoptimumkan carian. Carian Peta Berdasarkan Bandar

Ringkasan: Terdapat kaedah berikut untuk menukar array rentetan vue.js ke dalam tatasusunan objek: Kaedah asas: Gunakan fungsi peta yang sesuai dengan data yang diformat biasa. Permainan lanjutan: Menggunakan ungkapan biasa boleh mengendalikan format yang kompleks, tetapi mereka perlu ditulis dengan teliti dan dipertimbangkan. Pengoptimuman Prestasi: Memandangkan banyak data, operasi tak segerak atau perpustakaan pemprosesan data yang cekap boleh digunakan. Amalan Terbaik: Gaya Kod Jelas, Gunakan nama dan komen pembolehubah yang bermakna untuk memastikan kod ringkas.

Terdapat banyak sebab mengapa permulaan MySQL gagal, dan ia boleh didiagnosis dengan memeriksa log ralat. Penyebab umum termasuk konflik pelabuhan (periksa penghunian pelabuhan dan ubah suai konfigurasi), isu kebenaran (periksa keizinan pengguna yang menjalankan perkhidmatan), ralat fail konfigurasi (periksa tetapan parameter), rasuah direktori data (memulihkan data atau membina semula ruang meja), isu ruang jadual InnoDB (semak fail ibdata1) Apabila menyelesaikan masalah, anda harus menganalisisnya berdasarkan log ralat, cari punca utama masalah, dan mengembangkan tabiat sandaran data secara teratur untuk mencegah dan menyelesaikan masalah.

Jurutera Backend Senior Remote Company Kekosongan Syarikat: Lokasi Lokasi: Jauh Pejabat Jauh Jenis: Gaji sepenuh masa: $ 130,000- $ 140,000 Penerangan Pekerjaan Mengambil bahagian dalam penyelidikan dan pembangunan aplikasi mudah alih Circle dan ciri-ciri berkaitan API awam yang meliputi keseluruhan kitaran hayat pembangunan perisian. Tanggungjawab utama kerja pembangunan secara bebas berdasarkan rubyonrails dan bekerjasama dengan pasukan react/redux/relay front-end. Membina fungsi teras dan penambahbaikan untuk aplikasi web dan bekerjasama rapat dengan pereka dan kepimpinan sepanjang proses reka bentuk berfungsi. Menggalakkan proses pembangunan positif dan mengutamakan kelajuan lelaran. Memerlukan lebih daripada 6 tahun backend aplikasi web kompleks

Pengoptimuman prestasi MySQL perlu bermula dari tiga aspek: konfigurasi pemasangan, pengindeksan dan pengoptimuman pertanyaan, pemantauan dan penalaan. 1. Selepas pemasangan, anda perlu menyesuaikan fail my.cnf mengikut konfigurasi pelayan, seperti parameter innodb_buffer_pool_size, dan tutup query_cache_size; 2. Buat indeks yang sesuai untuk mengelakkan indeks yang berlebihan, dan mengoptimumkan pernyataan pertanyaan, seperti menggunakan perintah menjelaskan untuk menganalisis pelan pelaksanaan; 3. Gunakan alat pemantauan MySQL sendiri (ShowProcessList, ShowStatus) untuk memantau kesihatan pangkalan data, dan kerap membuat semula dan mengatur pangkalan data. Hanya dengan terus mengoptimumkan langkah -langkah ini, prestasi pangkalan data MySQL diperbaiki.
