Memperkenalkan kedalaman hibrid, reka bentuk baharu DeepMind boleh meningkatkan kecekapan Transformer.
. tentang Ini menjimatkan pengiraan yang tidak perlu.
Seperti Illiya Polosukhin, salah seorang pencadang seni bina Transformer dan pengasas bersama NEAR Protocol, berkata dalam perbualan dengan Jen-Hsun Huang tidak lama dahulu: "Pengkomputeran adaptif adalah perkara yang mesti muncul seterusnya. Kita perlu fokus pada spesifik Berapa banyak sumber pengkomputeran yang akan dibelanjakan untuk masalah itu?
Perkara yang sama harus berlaku untuk pemodelan bahasa Untuk mendapatkan hasil ramalan yang tepat, anda tidak perlu melabur masa atau sumber yang sama untuk semua token dan jujukan. Walau bagaimanapun, model Transformer membelanjakan jumlah pengiraan yang sama untuk setiap token dalam hantaran hadapan. Ini membuat orang mengeluh: kebanyakan pengiraan adalah sia-sia!
Sebaik-baiknya, jika anda tidak dapat melakukan pengiraan yang tidak perlu, anda boleh mengurangkan bajet pengiraan Transformer.
Pengiraan bersyarat ialah teknik yang melakukan pengiraan hanya apabila ia diperlukan, dengan itu mengurangkan jumlah pengiraan. Ramai penyelidik sebelum ini telah mencadangkan pelbagai algoritma yang boleh menilai bila pengiraan dilakukan dan berapa banyak pengiraan digunakan.
Walau bagaimanapun, untuk masalah yang mencabar ini, borang penyelesaian yang biasa digunakan mungkin tidak dapat mengatasi had perkakasan sedia ada dengan baik kerana ia cenderung untuk memperkenalkan graf pengiraan dinamik. Sebaliknya, kaedah pengiraan bersyarat yang paling menjanjikan adalah kaedah yang menggunakan tindanan perkakasan semasa secara konsisten, mengutamakan penggunaan graf pengiraan statik dan saiz tensor yang diketahui dipilih berdasarkan penggunaan maksimum perkakasan.
Baru-baru ini, Google DeepMind telah mengkaji masalah ini Mereka berharap dapat menggunakan bajet pengkomputeran yang lebih rendah untuk mengurangkan jumlah pengiraan yang digunakan oleh Transformer.
Tajuk kertas: Campuran Kedalaman: Memperuntukkan pengiraan secara dinamik dalam model bahasa berasaskan pengubah
Alamat kertas: https://arxiv.org/pdf/2508Mereka membayangkan: Dalam setiap lapisan, rangkaian mesti belajar membuat keputusan untuk setiap token, dengan itu memperuntukkan belanjawan pengkomputeran yang tersedia secara dinamik. Dalam pelaksanaan khusus mereka, jumlah usaha pengiraan ditetapkan oleh pengguna sebelum latihan dan tidak pernah berubah, dan bukannya menjadi fungsi keputusan pelaksanaan rangkaian semasa ia berfungsi. Ini membolehkan keuntungan kecekapan perkakasan (seperti pengurangan jejak memori atau pengurangan FLOP setiap hantaran hadapan) dijangka dan dieksploitasi lebih awal. Eksperimen pasukan menunjukkan bahawa keuntungan ini boleh dicapai tanpa menjejaskan prestasi rangkaian keseluruhan.
- Pasukan di DeepMind ini menggunakan pendekatan yang serupa dengan Pengubah Pakar Campuran (MoE), di mana keputusan penghalaan tahap token dinamik dilakukan merentas keseluruhan kedalaman rangkaian.
Tidak seperti KPM, pilihan mereka di sini ialah: sama ada menggunakan pengiraan pada token (sama seperti Transformer standard), atau memintasnya melalui sambungan baki (kekal sama, simpan pengiraan) . Satu lagi perbezaan daripada MoE ialah mekanisme penghalaan ini digunakan untuk kedua-dua MLP dan perhatian berbilang kepala. Oleh itu, ini juga mempengaruhi kunci dan pertanyaan yang dikendalikan oleh rangkaian, jadi laluan bukan sahaja menentukan token yang dikemas kini, tetapi juga token yang tersedia untuk perhatian.
DeepMind menamakan strategi Mixture-of-Depths (MoD) ini untuk menyerlahkan fakta bahawa setiap token melalui bilangan lapisan atau modul yang berbeza pada kedalaman Transformer. Kami menterjemahkannya di sini sebagai "kedalaman pencampuran", lihat Rajah 1.
MoD menyokong pengguna untuk menimbang prestasi dan kelajuan. Di satu pihak, pengguna boleh melatih Transformer MoD dengan FLOP latihan yang sama seperti Transformer biasa, yang boleh membawa sehingga 1.5% peningkatan dalam sasaran latihan kebarangkalian log akhir.Transformer MoD, sebaliknya, menggunakan kurang pengiraan untuk mencapai kehilangan latihan yang sama seperti Transformer biasa—sehingga 50% kurang FLOP setiap hantaran hadapan. Hasil ini menunjukkan bahawa MoD Transformer boleh belajar untuk membuat laluan secara bijak (iaitu melangkau pengiraan yang tidak perlu). Pengubahsuaian kedalaman campuran (mod) pengubah in ringkasan, strategi adalah seperti berikut: Tetapkan anggaran pengkomputeran statik yang lebih rendah daripada jumlah konvensional yang setara pengiraan yang diperlukan oleh Transformer; pendekatannya adalah untuk mengehadkan bilangan token dalam urutan yang boleh mengambil bahagian dalam pengiraan modul (iaitu, modul perhatian diri dan MLP seterusnya). Sebagai contoh, Transformer biasa boleh membenarkan semua token dalam jujukan untuk mengambil bahagian dalam pengiraan perhatian kendiri, tetapi Transformer MoD boleh mengehadkan penggunaan hanya 50% daripada token dalam jujukan.
Untuk setiap token, terdapat algoritma penghalaan dalam setiap modul yang memberikan pemberat skalar; Dalam setiap modul, cari pemberat skalar terbesar k teratas, dan token sepadannya akan mengambil bahagian dalam pengiraan modul. Memandangkan hanya token k mesti mengambil bahagian dalam pengiraan modul ini, graf pengiraan dan saiz tensornya adalah statik semasa proses latihan, token ini adalah token dinamik dan berkaitan konteks yang diiktiraf oleh algoritma penghalaan.
Skim penghalaan
Pasukan mempertimbangkan dua skim penghalaan yang dipelajari (lihat Rajah 2): pemilihan token dan pemilihan pakar. Dalam skema penghalaan terpilih token, algoritma penghalaan menjana taburan kebarangkalian untuk setiap token merentas laluan pengiraan (seperti merentasi identiti pakar dalam Transformer MoE). Token kemudiannya dihantar ke laluan pilihan mereka (iaitu laluan dengan kebarangkalian tertinggi), dan kerugian tambahan memastikan semua token tidak menumpu ke laluan yang sama. Penghalaan pilihan token mungkin mempunyai isu pengimbangan beban kerana token tidak dipastikan dibahagikan dengan betul antara laluan yang mungkin.
Penghalaan terpilih pakar membalikkan skema di atas: daripada membenarkan token memilih laluan pilihan mereka, setiap laluan memilih token k teratas (top-k) berdasarkan keutamaan token. Ini memastikan pengimbangan beban yang sempurna kerana setiap laluan sentiasa dijamin k token. Walau bagaimanapun, ini juga boleh menyebabkan sesetengah token menjadi lebih atau kurang diproses, kerana sesetengah token mungkin berada dalam k teratas berbilang laluan, dan token lain mungkin tidak mempunyai laluan yang sepadan.
Pilihan DeepMind ialah menggunakan penghalaan pemilihan pakar atas tiga sebab.
Pertama, ia tidak memerlukan kehilangan baki tambahan.
Kedua, memandangkan operasi memilih k atas bergantung pada magnitud berat penghalaan, skim penghalaan ini membenarkan penggunaan pemberat penghalaan relatif, yang membantu menentukan token yang paling diperlukan untuk pengiraan modul semasa; algoritma penghalaan boleh Tetapkan berat dengan sewajarnya untuk cuba memastikan bahawa token yang paling kritikal adalah antara k teratas - ini adalah sesuatu yang skema penghalaan terpilih token tidak boleh lakukan. Dalam kes penggunaan khusus, terdapat laluan pengiraan yang pada asasnya merupakan operasi nol, jadi penghalaan token penting kepada null harus dielakkan.
Ketiga, memandangkan penghalaan hanya akan melalui dua laluan, satu operasi top-k dengan cekap boleh membahagikan token kepada dua set yang saling eksklusif (satu set untuk setiap laluan pengiraan), yang boleh mengatasi masalah yang disebutkan di atas- atau isu yang kurang diproses.
Untuk pelaksanaan khusus skim penghalaan ini, sila rujuk kertas asal.
Pensampelan
Walaupun penghalaan terpilih pakar mempunyai banyak kelebihan, ia juga mempunyai masalah yang jelas: operasi top-k bukan sebab. Maksudnya, sama ada berat penghalaan token yang diberikan berada di bahagian atas k bergantung pada nilai berat penghalaan selepasnya, tetapi kita tidak boleh memperoleh pemberat ini apabila melakukan pensampelan autoregresif. Untuk menyelesaikan masalah ini, pasukan menguji dua kaedah. . Mereka menggunakan kehilangan entropi silang binari, di mana output algoritma penghalaan menyediakan logit, dan dengan memilih top-k logit ini, sasaran boleh disediakan (iaitu, jika token berada dalam top-k, ia ialah 1, jika tidak 0).
Kaedah kedua ialah memperkenalkan peramal MLP tambahan kecil (sama seperti algoritma penghalaan lain), yang inputnya sama dengan algoritma penghalaan (dengan kecerunan henti), tetapi outputnya adalah hasil ramalan: token Sama ada ia berada di bahagian atas-k urutan. Pendekatan ini tidak menjejaskan matlamat pemodelan bahasa, dan eksperimen menunjukkan bahawa ia tidak menjejaskan kelajuan langkah ini dengan ketara. Dengan kaedah baharu ini, adalah mungkin untuk melakukan pensampelan autoregresif dengan memilih token untuk dihalakan, atau memintas modul berdasarkan output algoritma penghalaan, tanpa bergantung pada sebarang maklumat tentang token masa hadapan. Keputusan eksperimen menunjukkan bahawa ini adalah tugas tambahan yang agak mudah yang boleh mencapai ketepatan 99% dengan cepat. training, perbandingan isoflop sebelum, pasukan melatih beberapa model dengan anggaran flop yang agak kecil (6E18) untuk menentukan hiperparameter optimum (lihat Rajah 3 di bawah) . Secara keseluruhan, anda dapat melihat bahawa Transformer MoD menyeret keluk isoFLOP garis dasar ke kanan bawah. Dalam erti kata lain, Transformer MoD optimum mempunyai kerugian yang lebih rendah daripada model garis dasar optimum dan juga mempunyai lebih banyak parameter. Kesan ini mempunyai hasil yang bertuah: terdapat beberapa model MoD yang berprestasi baik atau lebih baik daripada model garis dasar yang optimum (sementara lebih pantas dalam langkah), walaupun model itu sendiri tidak isoFLOP-optimum di bawah tetapan hiperparameternya. Sebagai contoh, varian MoD dengan parameter 220M (model No. 3 dalam Rajah 3) adalah lebih baik sedikit daripada model garis dasar optimum isoFLOP (juga parameter 220M, model No. 1 dalam Rajah 3), tetapi varian MoD ini adalah Langkah-langkah semasa latihan adalah lebih 60% lebih pantas.
Rajah 4 di bawah menunjukkan analisis isoFLOP apabila jumlah FLOP ialah 6e18, 2e19 dan 1e20. Seperti yang dapat dilihat, trend ini berterusan apabila belanjawan FLOP lebih besar.
Rajah 5 di bawah menunjukkan keputusan penghalaan Transformer MoD yang dilatih menggunakan modul penghalaan bersilang. Walaupun bilangan pintasan modul yang banyak, Transformer MoD ini masih mencapai prestasi yang lebih baik daripada Transformer biasa.
Mereka juga menilai prestasi pensampelan autoregresif bagi varian MoD, dan hasilnya ditunjukkan dalam Rajah 6 di bawah. Keputusan ini menunjukkan bahawa penjimatan pengiraan yang dicapai oleh Transformer MoD tidak terhad kepada tetapan latihan. Mixed Depth and Expertise (MoDE) Teknologi MoD boleh disepadukan secara semula jadi dengan model MoE untuk membentuk apa yang dipanggil model MoDE. Rajah 7 di bawah menggambarkan MoDE dan penambahbaikan yang dibawanya. MoDE datang dalam dua varian: Mod Berperingkat dan Mod Bersepadu.
MoDE berperingkat adalah untuk melaksanakan operasi pintasan penghalaan atau capaian token sebelum langkah perhatian sendiri manakala MoDE bersepadu melaksanakan penghalaan MoD dengan menyepadukan pakar "tiada operasi" antara pakar MLP biasa. Kelebihan yang pertama ialah ia membolehkan token melangkau langkah perhatian kendiri, manakala kelebihan yang terakhir ialah mekanisme penghalaannya mudah.
Pasukan mendapati bahawa melaksanakan MoDE secara bersepadu adalah jauh lebih baik daripada secara langsung mengurangkan keupayaan pakar dan bergantung pada membuang token untuk melaksanakan reka bentuk penghalaan sisa.
Atas ialah kandungan terperinci DeepMind menaik taraf Transformer, FLOP hantaran hadapan boleh dikurangkan sehingga separuh. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!