Jadual Kandungan
Bina model MoE dari awal
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

Jan 30, 2024 pm 02:42 PM
ai data

"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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kaedah apa yang digunakan untuk menukar rentetan ke dalam objek dalam vue.js? Kaedah apa yang digunakan untuk menukar rentetan ke dalam objek dalam vue.js? Apr 07, 2025 pm 09:39 PM

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.

Vue dan Element-UI Cascade Drop-Down Box V-Model Binding Vue dan Element-UI Cascade Drop-Down Box V-Model Binding Apr 07, 2025 pm 08:06 PM

Vue dan Element-UI cascaded drop-down boxes v-model mengikat titik pit biasa: V-model mengikat array yang mewakili nilai yang dipilih pada setiap peringkat kotak pemilihan cascaded, bukan rentetan; Nilai awal pilihan terpilih mestilah array kosong, tidak batal atau tidak jelas; Pemuatan data dinamik memerlukan penggunaan kemahiran pengaturcaraan tak segerak untuk mengendalikan kemas kini data secara tidak segerak; Untuk set data yang besar, teknik pengoptimuman prestasi seperti menatal maya dan pemuatan malas harus dipertimbangkan.

Geospatial Laravel: Pengoptimuman peta interaktif dan sejumlah besar data Geospatial Laravel: Pengoptimuman peta interaktif dan sejumlah besar data Apr 08, 2025 pm 12:24 PM

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

Vue.js Bagaimana untuk menukar pelbagai jenis rentetan ke dalam pelbagai objek? Vue.js Bagaimana untuk menukar pelbagai jenis rentetan ke dalam pelbagai objek? Apr 07, 2025 pm 09:36 PM

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.

Cara menetapkan masa tamat vue axios Cara menetapkan masa tamat vue axios Apr 07, 2025 pm 10:03 PM

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}).

Cara Menggunakan MySQL Selepas Pemasangan Cara Menggunakan MySQL Selepas Pemasangan Apr 08, 2025 am 11:48 AM

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.

Cara mengoptimumkan prestasi pangkalan data selepas pemasangan MySQL Cara mengoptimumkan prestasi pangkalan data selepas pemasangan MySQL Apr 08, 2025 am 11:36 AM

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.

Jurutera Backend Senior Remote (Platform) memerlukan kalangan Jurutera Backend Senior Remote (Platform) memerlukan kalangan Apr 08, 2025 pm 12:27 PM

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

See all articles