Rumah > Peranti teknologi > AI > Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan

Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan

WBOY
Lepaskan: 2024-01-30 14:42:15
ke hadapan
1364 orang telah melayarinya

"Senjata ajaib" legenda seni bina GPT-4 - MoE (Pakar Campuran), anda boleh menggunakannya sendiri!

Terdapat master pembelajaran mesin di Hugging Face yang berkongsi cara membina sistem KPM yang lengkap dari awal.

Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan

Projek ini dipanggil MakeMoE oleh pengarang, dan proses dari pembinaan perhatian hingga membentuk model MoE yang lengkap diterangkan secara terperinci.

Menurut pengarang, MakeMoE diilhamkan oleh dan berdasarkan makemore ahli pengasas OpenAI Andrej Karpathy.

makemore ialah projek pengajaran untuk pemprosesan bahasa semula jadi dan pembelajaran mesin, bertujuan untuk membantu pelajar memahami dan melaksanakan beberapa model asas.

Begitu juga, MakeMoE juga membantu pelajar memperoleh pemahaman yang lebih mendalam tentang model pakar hibrid dalam proses pembinaan langkah demi langkah.

Jadi, apa sebenarnya yang diperkatakan oleh "Panduan Menggosok Tangan" ini?

Bina model MoE dari awal

Berbanding dengan makemore Karpathy, MakeMoE menggantikan rangkaian neural suapan hadapan terpencil dengan campuran pakar yang jarang, sambil menambah logik gating yang diperlukan.

Pada masa yang sama, kerana fungsi pengaktifan ReLU perlu digunakan dalam proses, kaedah permulaan lalai dalam makemore digantikan dengan kaedah Kaiming He.

Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan

Jika anda ingin mencipta model KPM, anda mesti memahami mekanisme perhatian diri terlebih dahulu.

Model mula-mula mengubah jujukan input kepada parameter yang diwakili oleh pertanyaan (Q), kekunci (K) dan nilai (V) melalui transformasi linear.

Parameter ini kemudiannya digunakan untuk mengira skor perhatian, yang menentukan berapa banyak perhatian yang diberikan model kepada setiap kedudukan dalam jujukan apabila menjana setiap token.

Untuk memastikan ciri autoregresif model semasa menjana teks, iaitu ia hanya boleh meramalkan token seterusnya berdasarkan token yang telah dijana, penulis menggunakan mesin perhatian diri sebab berbilang kepala.

Mekanisme ini dilaksanakan dengan menetapkan skor perhatian kedudukan yang tidak diproses kepada infiniti negatif melalui topeng, supaya berat kedudukan ini akan menjadi sifar.

Kausaliti berbilang kepala membolehkan model melakukan berbilang pengiraan perhatian sedemikian secara selari, dengan setiap kepala memfokus pada bahagian jujukan yang berlainan.

Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan

Selepas melengkapkan konfigurasi mekanisme perhatian kendiri, anda boleh mencipta modul pakar "modul pakar" di sini ialah perceptron berbilang lapisan.

Setiap modul pakar mengandungi lapisan linear yang memetakan vektor benam ke dimensi yang lebih besar, dan kemudian melalui fungsi pengaktifan bukan linear (seperti ReLU), dan satu lagi lapisan linear untuk memetakan vektor kembali ke dimensi benam asal.

Reka bentuk ini membolehkan setiap pakar menumpukan pada pemprosesan bahagian jujukan input yang berbeza, dan menggunakan rangkaian gating untuk memutuskan pakar mana yang harus diaktifkan semasa menjana setiap token.

Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan

Jadi, langkah seterusnya adalah untuk mula membina komponen untuk memperuntukkan dan mengurus pakar - rangkaian kawalan pintu.

Rangkaian gating di sini juga dilaksanakan melalui lapisan linear, yang memetakan output lapisan perhatian diri kepada bilangan modul pakar.

Keluaran lapisan linear ini ialah vektor skor, dan setiap skor mewakili kepentingan modul pakar yang sepadan dengan token yang sedang diproses.

Rangkaian berpagar akan mengira nilai top-k vektor skor ini dan merekodkan indeksnya, dan kemudian memilih skor top-k terbesar daripadanya untuk menimbang output modul pakar yang sepadan.

Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan

Untuk meningkatkan kebolehjelajahan model semasa proses latihan, penulis juga memperkenalkan bunyi bising untuk mengelakkan semua token cenderung diproses oleh pakar yang sama.

Bunyi ini biasanya dicapai dengan menambahkan hingar Gaussian rawak pada vektor pecahan.

Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan

Selepas memperoleh keputusan, model secara selektif mendarabkan nilai k teratas dengan output pakar k teratas untuk token yang sepadan, dan kemudian menambahkannya untuk membentuk jumlah wajaran untuk membentuk output model.

Akhir sekali, susun modul ini untuk mendapatkan model KPM.

Untuk keseluruhan proses di atas, pengarang telah menyediakan kod yang sepadan, anda boleh mengetahui lebih lanjut mengenainya dalam artikel asal.

Selain itu, penulis juga menghasilkan nota Jupyter hujung ke hujung, yang boleh dijalankan terus semasa mempelajari setiap modul.

Jika anda berminat, pelajari dengan cepat!

Alamat asal: https://huggingface.co/blog/AviSoori1x/makemoe-from-scratch
Versi nota (GitHub): https://github.com/AviSoori1x/makeMoE/tree/main

Atas ialah kandungan terperinci Panduan Membuat Model Besar KPM: Kaedah Pembinaan Manual Berasaskan Sifar, Tutorial Peringkat Induk Didedahkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:51cto.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan