ホームページ > 記事 > テクノロジー周辺機器 > Transformer の内部動作を理解するための 8 つの質問と 8 つの回答
7 年前、論文「attention is all you need」は、深層学習の分野全体を覆すトランスフォーマー アーキテクチャを提案しました。
現在、すべての主要モデルは変圧器アーキテクチャに基づいていますが、変圧器の内部動作原理はまだ未解決の謎です。
昨年、トランス論文の著者の一人であるリオン・ジョーンズは、人工知能会社Sakana AIの設立を発表した。最近、Sakana AI は「ペインターとしてのトランスフォーマー レイヤー」というタイトルの論文を発表しました。この論文では、事前トレーニング済みトランスフォーマーの情報フローを調査し、デコーダーのみおよびエンコーダーのみのフリーズされたトランスフォーマー モデルで一連の実験を実施しました。この調査では、事前トレーニングされたモデルに対していかなる種類の微調整も実行されなかったことに注意してください。
論文アドレス: https://arxiv.org/pdf/2407.09298v1
この研究は、トランスの内部メカニズム (特に中間層) を画家のペイントパイプラインに類推することで理解できると考えています。
通常、ペイント パイプラインはキャンバス (入力) を一連のペインターに渡します。鳥の絵を描くのが得意な画家もいれば、車輪の絵を描くのが得意な画家もいます。各ペインタは、その下のペインタからキャンバスを受け取り、その絵にストロークを追加するか、それとも(残りの接続を使用して)その上のペインタにそのまま渡すかを決定します。
このアナロジーは厳密な理論ではなく、変圧器層について考えるためのツールです。このアナロジーに触発されて、この研究ではいくつかの仮説をテストし、検証しました:
すべてのレイヤーは同じ表現空間を使用していますか?
すべてのレイヤーが必要ですか?
中間層はすべて同じ機能を実行しますか?
レイヤーの順序は重要ですか?
これらのレイヤーは並行して実行できますか?
一部のタスクでは、順序が他の要素よりも重要ですか?
ループは層の並列処理に役立ちますか?
モデルのパフォーマンスへの影響が最も少ないバリアントはどれですか?
この研究では、事前トレーニングされた LLM について一連の実験を実施しました。これには、標準のトランスフォーマー実行戦略のバリエーションを試したり、デコーダーのみ (Llama) およびエンコーダーのみ (BERT) モデルのさまざまなベンチマークでこれらの変化を測定したりすることが含まれます。モデルのパフォーマンスに影響を与えます。
すべてのレイヤーは同じ表現空間を使用していますか?
異なるレイヤーが同じ表現空間を使用するかどうかに答えるために、著者らは、特定のレイヤーをスキップしたり、隣接するレイヤーの順序を切り替えたりするときに、Transformer が堅牢であるかどうかをテストしました。たとえば、Llama2-7B では、通常、レイヤー 6 はレイヤー 5 の出力を受信することを想定しています。レイヤ 6 にレイヤ 4 の出力が与えられた場合、「壊滅的な」動作をするでしょうか?
図 2 では、最初と最後のいくつかの層を除いて、Llama2-7B の層は層ホッピングやスイッチングに対して非常に堅牢であることがわかります。
この実験は、中間層が表現空間を共有し、「周辺層」(最初と最後の層)とは異なる表現空間を持つことを示しています。この仮説をさらに検証するために、著者らは以前の研究に従い、ベースラインのモデルのさまざまな層 (Llama2-7B、Llama2-13B、および BERT-Large) での隠れ状態の活性化間の平均コサイン類似度を測定しました。図 3 は、すべての中間層間の一貫性を示しています。
これは、モデルが「開始」層、「中間」層、「終了」層の 3 つの異なる表現空間を持つ可能性があることを示しています。質問 1 に対する答え: はい、中間層は共通の表現空間を共有しているようです。
すべてのレイヤーが必要ですか?
中間層のリダイレクション空間が本当に共有されているかどうか(コサイン類似度が近いことに加えて)をさらにテストするために、この研究では「層をスキップ」、つまりN番目の層の出力をN番目の層に直接送信することを試みました。 +M 番目の層 (M > 1)。これにより、図 1a に示すように、M − 1 層が「スキップ」されます。実験は、層 N + M − 1 からの入力のみでトレーニングされたにもかかわらず、層 N + M が層 N の活性化を理解できるかどうかを確認することでした。図 4 は、Llama2-7B と BERT-Large の両方が多くのベンチマークで若干のパフォーマンス低下を経験していることを示しています。質問 2 への答えは、すべてのレイヤーが必要ですか:
いいえ、少なくとも中間レイヤーの一部は致命的な障害を起こすことなく削除できます。
中間層はすべて同じ機能を実行しますか?
中間層がすべて共通の表現空間を共有している場合、これは他の中間層が冗長であることを意味しますか?これをテストするために、研究者らは前のサブセクションの「スキップ」実験を再実行し、中間層の重みを中央層の重みで置き換え、置き換えられた各層で T - 2N (T を 1 回) 効果的にループさせました。はレイヤーの総数です (Llama2-7B では 32 レイヤー、BERT-Large では 24 レイヤー)。
Seperti yang ditunjukkan dalam Rajah 5, dapat diperhatikan bahawa apabila bilangan lapisan yang diganti bertambah, skor model dalam ujian penanda aras menurun dengan cepat. Seperti yang ditunjukkan dalam Rajah 11 di bawah, kaedah menggantikan lapisan ini adalah lebih teruk daripada kaedah lain yang dicuba oleh penyelidik. Oleh itu, para penyelidik menyimpulkan bahawa lapisan tengah melaksanakan fungsi yang berbeza, dan tidak mungkin untuk berkongsi berat antara lapisan tengah.
Adakah susunan lapisan penting?
Percubaan sebelum ini menunjukkan bahawa lapisan tengah berkongsi ruang perwakilan tetapi bertanggungjawab untuk fungsi yang berbeza dalam ruang ini. Soalan seterusnya untuk ditangani ialah apakah maksud susunan fungsi ini. Untuk menyelesaikan masalah ini, para penyelidik mereka bentuk dua set eksperimen. Mula-mula, jalankan lapisan perantaraan dalam susunan terbalik di mana ia dilatih. Secara khusus, ambil output lapisan T - N, masukkan ke lapisan T - N - 1, kemudian masukkan output lapisan ini ke lapisan T - N - 2, dan seterusnya, sehingga lapisan lapisan N, dan kemudian hantar output lapisan ini ke lapisan T - N seterusnya. Dalam set eksperimen kedua, para penyelidik menjalankan lapisan tengah dalam susunan rawak dan puratanya melebihi 10 nilai benih.
Rajah 6 dan 7 menunjukkan keputusan menjalankan lapisan tengah masing-masing secara terbalik dan dalam susunan rawak, dengan model menunjukkan aliran menurun secara beransur-ansur merentas semua set ujian asas. Ini juga menunjukkan bahawa walaupun susunan lapisan mempunyai kepentingan tertentu kepada model, lapisan masih boleh berfungsi walaupun susunannya diubah.
Lebih menarik lagi, merombak susunan lapisan secara rawak berfungsi lebih baik daripada melakukan sebaliknya. Ini mungkin kerana merombak susunan secara rawak dalam beberapa cara mengekalkan beberapa hubungan asal antara lapisan (iaitu lapisan i mengikuti lapisan j, di mana i > j), manakala songsang lengkap memutuskan hubungan ini sepenuhnya.
Bolehkah lapisan ini berjalan selari?
Untuk mengesahkan bahawa kewujudan lapisan itu sendiri lebih penting daripada susunan pelaksanaan, penyelidik mereka bentuk eksperimen untuk menjalankan lapisan perantaraan secara selari dan menghantar hasil puratanya ke lapisan N akhir.
Seperti yang ditunjukkan dalam Rajah 8, prestasi model dalam semua ujian penanda aras menunjukkan aliran menurun yang lembut Walau bagaimanapun, aliran ini tidak digunakan untuk masalah perkataan matematik dalam GSM8K.
Hasil eksperimen menunjukkan bahawa kaedah ini berkesan dalam kebanyakan kes, tetapi beberapa masalah matematik yang kompleks tidak ditangani dengan baik. Kaedah pemprosesan selari ini lebih teruk daripada melangkau lapisan, tetapi tidak sebaik menjalankan lapisan dalam susunan terbalik. Berdasarkan ini, penyelidik membuat kesimpulan bahawa lapisan operasi selari boleh dilaksanakan dalam kes umum, tetapi untuk masalah matematik yang memerlukan pemahaman logik berurutan, kaedah ini mungkin tidak sesuai.
Untuk beberapa tugas, adakah pesanan lebih penting daripada faktor lain?
Bagi kebanyakan model "dipasang semula", mereka cenderung menunjukkan arah aliran menurun yang paling curam apabila berhadapan dengan penanda aras penaakulan abstrak (ARC) atau penaakulan matematik (GSM8K). Fenomena ini mungkin berpunca daripada fakta bahawa tugas penaakulan langkah demi langkah adalah lebih sensitif kepada susunan tahap model daripada tugas akal yang bergantung terutamanya pada pemahaman semantik. Tidak seperti tugas yang boleh dicapai dengan memahami semantik sahaja, tugas penaakulan memerlukan model untuk memahami kedua-dua struktur dan makna. Pemerhatian ini selaras dengan hipotesis bahawa model mungkin melakukan beberapa tahap inferens bergantung kepada pesanan semasa sesi pemprosesan tunggal.
Para penyelidik menggunakan metafora untuk menggambarkan: jika anda melukis kolaj yang terdiri daripada banyak elemen berbeza, maka susunan lukisan itu mungkin tidak begitu penting; tetapi jika anda melukis pemandangan seni bina yang tepat, maka susunan setiap strok Perintah menjadi sangat penting. Berdasarkan ini, penyelidik menyimpulkan bahawa tugasan matematik dan penaakulan mempunyai pergantungan yang lebih tinggi pada susunan lapisan model, manakala bagi tugasan yang bergantung terutamanya pada pemahaman semantik, kesan susunan adalah agak kecil.
Adakah gelung membantu selari antara lapisan?
Mengikuti metafora lukisan di bahagian sebelumnya, apabila pelukis melukis lukisan, dia tidak melukis semuanya pada permulaan, tetapi melukis bahagian dahulu, seperti badan kereta, dan kemudian menambah perkara lain berdasarkan bahagian ini ., seperti roda. Dalam model AI, lapisan itu dipanggil pelukis, dan memproses maklumat adalah lukisan Jika maklumat yang betul diperoleh terlebih dahulu, badan kereta yang dipanggil dilukis terlebih dahulu, maka mereka boleh menyelesaikan kerja mereka dengan lebih baik dan menyumbang kepada. mengecat.
Untuk pengubah, apabila diberi input yang sesuai, lapisan mungkin hanya menyumbang dalam perambatan ke hadapan, bukannya "melalui" input melalui sambungan baki. Jika ini berlaku, maka mengulangi lapisan selari daripada percubaan sebelumnya harus meningkatkan prestasi model lebih daripada melaksanakan lapisan selari sekali. Berdasarkan ini, para penyelidik menguji ini dengan memasukkan output purata lapisan selari ke dalam lapisan yang sama untuk bilangan lelaran yang tetap.
Rajah 9 menunjukkan hasil gelung lapisan selari sebanyak 3 kali. Keputusan menyelaraskan gelung 3 kali adalah lebih baik daripada satu lelaran (lapisan selari). Apabila lapisan permulaan N ditetapkan kepada 15 (untuk model Llama2-7B) atau 11 (untuk model BERT), yang berada di hujung hujung kiri setiap kes, hanya satu lapisan terjejas. Dalam kes tertentu ini, kesan selari gelung tiga kali adalah bersamaan dengan hanya mengulang lapisan tengah tiga kali. Pada masa yang sama, prestasi lapisan selari pada ketika ini tidak dapat dibezakan daripada model penuh.
Para penyelidik juga mengulangi eksperimen yang sama dengan bilangan lelaran yang berbeza. Rajah 10 menunjukkan prestasi Llama2-7B sebagai fungsi bilangan lapisan selari M dan bilangan lelaran. Nombor lelaran berprestasi tertinggi bagi setiap M ditandakan dengan kotak merah. Bilangan lelaran optimum berskala secara kasar secara linear dengan bilangan lapisan selari, kecuali M=29 dan M=31 (di mana hampir semua lapisan adalah selari). Oleh itu, penyelidik membuat kesimpulan bahawa bilangan lelaran optimum adalah berkadar dengan bilangan lapisan selari.
Bagaimana untuk melaraskan lapisan dengan kesan paling sedikit pada prestasi model?
Akhir sekali, dalam Rajah 11, penyelidik membandingkan "transformasi" Transformer dalam semua eksperimen, menunjukkan median atau purata semua penanda aras pada carta.
Penduaan pertengahan – menggantikan lapisan tengah dengan bilangan salinan lapisan tengah yang sama – melakukan yang paling teruk, dengan cepat menurun kepada prestasi garis dasar rawak. Sebaliknya, keselarian gelung dan susunan lapisan rawak mempunyai kesan yang minimum. Oleh itu, para penyelidik membuat kesimpulan bahawa pertindihan satu lapisan mempunyai kesan yang paling teruk. Merawak susunan lapisan dan keselarian gelung mempunyai kesan yang minimum.
Eksperimen ini menunjukkan penurunan prestasi yang lembut secara keseluruhan, tetapi penyelidik masih tidak tahu mengapa lapisan ini boleh mengekalkan tahap keteguhan tertentu di bawah kebanyakan gangguan Isu ini perlu diterokai dengan lebih lanjut dalam penyelidikan masa depan.
Sila lihat kertas asal untuk butiran lanjut.
Pautan rujukan: https://arxiv.org/pdf/2407.09298v1
以上がTransformer の内部動作を理解するための 8 つの質問と 8 つの回答の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。