Apa yang dimaksud dengan mixture of experts atau campuran para pakar?

Pemandangan udara San Francisco yang diterangi

Penyusun

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Apa yang dimaksud dengan mixture of experts atau campuran para pakar?

Mixture of Experts (MoE) adalah pendekatan machine learning yang membagi model kecerdasan buatan (AI) menjadi sub-jaringan (atau "pakar") yang terpisah, masing-masing berspesialisasi dalam subset data input, untuk bersama-sama melakukan tugas.

Arsitektur Mixture of Experts memungkinkan model berskala besar, bahkan yang terdiri dari miliaran parameter, untuk mengurangi biaya komputasi secara signifikan selama pra-pelatihan dan mencapai kinerja yang lebih cepat selama waktu inferensi. Secara garis besar, ini mencapai efisiensi ini dengan mengaktifkan secara selektif hanya para pakar spesifik yang diperlukan untuk tugas tertentu, daripada mengaktifkan seluruh neural networks untuk setiap tugas.

Meskipun sebagian besar implementasi modern dari pengaturan gabungan tenaga pakar dikembangkan selama (kira-kira) satu dekade terakhir, premis inti di balik model KLH berasal dari makalah tahun 1991 yang berjudul “Perpaduan Adaptif Para Pakar Lokal.” Makalah ini mengusulkan pelatihan sistem AI yang terdiri dari jaringan terpisah yang masing-masing mengkhususkan diri pada subset kasus pelatihan yang berbeda. Hal ini memerlukan pelatihan baik “jaringan pakar” itu sendiri dan jaringan gerbang yang menentukan pakar mana yang harus digunakan untuk setiap subtugas. Jika dibandingkan dengan model konvensional yang serupa, penulis menemukan bahwa model eksperimental mereka jauh lebih cepat untuk dilatih: model tersebut mencapai ambang batas akurasi target dalam setengah periode pelatihan dibandingkan model konvensional.1

Dalam beberapa tahun terakhir, karena model pembelajaran mendalam terkemuka yang digunakan untuk AI generatif telah tumbuh semakin besar dan menuntut komputasi, campuran para pakar menawarkan cara untuk mengatasi tradeoff antara kapasitas yang lebih besar dari model yang lebih besar dan efisiensi yang lebih besar dari model yang lebih kecil. Hal ini terutama telah dieksplorasi di bidang pemrosesan bahasa alami (NLP): beberapa model bahasa besar (LLM) terkemuka seperti Mixtral 8x7B dari Mistral dan (menurut beberapa laporan) GPT-4 OpenAI,2 telah menggunakan arsitektur MoE.

Campuran para pakar dalam pembelajaran mendalam

Model pembelajaran mendalam modern dibangun dari neural networks tiruan, yang terdiri dari beberapa lapisan node yang saling terhubung (atau "neuron"). Setiap neuron memiliki fungsi aktivasi: operasi matematis yang dilakukan pada data yang diterima dari lapisan sebelumnya, yang outputnya menginformasikan input yang dimasukkan ke lapisan berikutnya. Neural networks feed-forward (FFN) klasik memproses informasi dengan melewatkan data input secara progresif dari neuron di satu lapisan ke neuron di lapisan berikutnya hingga mencapai lapisan luar di mana prediksi akhir terjadi. Beberapa arsitektur neural networks menggabungkan elemen tambahan, seperti mekanisme perhatian diri model transformator , yang menangkap pola dan dependensi tambahan dalam data input.

Hubungan antara lapisan dan neuron yang berbeda dimediasi oleh parameter model yang dapat dipelajari: bobot variabel (dan bias) yang memperkuat atau mengurangi pengaruh bagian tertentu dari output jaringan terhadap bagian lain dari jaringan. Model pembelajaran mendalam "belajar" dengan menyesuaikan parameter ini, menggunakan algoritma pengoptimalan seperti penurunan gradien, dengan cara yang meningkatkan akurasi prediksinya.

Meskipun jumlah parameter yang lebih banyak akan meningkatkan kapasitas model—kemampuannya untuk menyerap informasi dan pola di dalamnya—hal ini juga meningkatkan sumber daya komputasi yang diperlukan untuk melatih dan mengoperasikan model. Dalam model pembelajaran mendalam yang khas—yang dalam konteks ini disebut sebagai model padat —seluruh jaringan dijalankan untuk memproses setiap dan semua input. Hal ini menimbulkan pertukaran antara kapasitas model dan praktisitas.

Tidak seperti model padat konvensional, campuran pakar menggunakan komputasi bersyarat untuk menerapkan sparsitas: alih-alih menggunakan seluruh jaringan untuk setiap input, model MoE mempelajari fungsi pemetaan yang murah secara komputasi yang menentukan bagian mana dari jaringan—dengan kata lain, pakar mana—yang paling efektif untuk memproses input yang diberikan, seperti token individu yang digunakan untuk mewakili kata atau fragmen kata dalam tugas-tugas NLP.

Hal ini memungkinkan peningkatan kapasitas model (dengan menambah jumlah parameter) tanpa menambah beban komputasi yang diperlukan untuk melatih dan menjalankannya (karena tidak semua parameter akan digunakan pada waktu tertentu).

Desain 3D bola yang menggelinding di lintasan

Berita + Insight AI terbaru 


Temukan insight dan berita yang dikurasi oleh para pakar tentang AI, cloud, dan lainnya di Buletin Think mingguan. 

Bagaimana cara kerja campuran model pakar?

Model MoE memproses data dengan menunjuk sejumlah "pakar", masing-masing sub-jaringan dalam neural networks yang lebih besar, dan melatih jaringan gating (atau router) untuk mengaktifkan hanya pakar tertentu yang paling sesuai dengan input yang diberikan.

Manfaat utama dari pendekatan MoE adalah bahwa dengan menerapkan sparsity, alih-alih mengaktifkan seluruh jaringan neural untuk setiap token input, kapasitas model dapat ditingkatkan sambil pada dasarnya menjaga biaya komputasi tetap konstan.

Pada tingkat arsitektur, hal ini dicapai dengan mengganti lapisan feed-forward network (FFN) tradisional yang padat dengan lapisan MoE (atau blok) yang lebih jarang. Dalam istilah neural networks, "blok" mengacu pada elemen struktural berulang yang melakukan fungsi tertentu. Dalam model MoE yang jarang (SMoE), blok pakar ini dapat berupa lapisan tunggal, FFN yang berdiri sendiri, atau bahkan MoE yang bersarang di dalamnya.

Sebagai contoh, dalam model bahasa Mixtral 8x7B Mistral, setiap lapisan terdiri dari 8 blok feedforward—yaitu para pakar—yang masing-masing memiliki 7 miliar parameter. Untuk setiap token, pada setiap lapisan, jaringan router memilih dua dari delapan pakar untuk memproses data. Kemudian menggabungkan output dari dua pakar dan meneruskan hasilnya ke lapisan berikut. Pakar khusus yang dipilih oleh router pada lapisan tertentu mungkin berbeda dengan pakar yang dipilih pada lapisan sebelumnya atau berikutnya.3

Jumlah parameter MoE

Sebuah SMoE dapat terdiri dari lapisan-lapisan MoE yang jarang, tetapi banyak arsitektur model MoE yang terdiri dari blok-blok yang jarang dan padat. Hal ini juga berlaku untuk Mixtral, di mana blok yang bertanggung jawab atas mekanisme perhatian diri model dibagi di antara 8 pakar. Dalam praktiknya, hal ini membuat sebutan seperti "8x7B" berpotensi menyesatkan: karena banyak parameter model yang digunakan bersama oleh setiap sub-jaringan pakar yang memiliki 7 miliar parameter, Mixtral memiliki total sekitar 47 miliar parameter—bukan 56 miliar, seperti yang diasumsikan melalui perkalian sederhana.

Jumlah parameter keseluruhan ini biasanya disebut sebagai jumlah parameter renggang dan secara umum dapat dipahami sebagai ukuran kapasitas model. Jumlah parameter yang benar-benar akan digunakan untuk memproses token individual (saat transit melalui beberapa blok pakar dan melewati blok lainnya) disebut parameter aktif count, dan dapat dipahami sebagai ukuran biaya komputasi model. Meskipun setiap input token ke Mixtral memiliki akses ke 46,7 miliar parameter, hanya 12,9 miliar parameter aktif yang digunakan untuk memproses contoh yang diberikan.

Memahami pemanfaatan jumlah parameter yang optimal ini adalah kunci untuk memahami sisi positif model MoE. Sebagai contoh, Mixtral mengungguli varian 70 miliar parameter Llama 2 dari Meta di sebagian besar tolok ukur—dengan kecepatan yang jauh lebih besar—meskipun memiliki total parameter yang lebih sedikit sepertiga dan menggunakan kurang dari 20% lebih banyak parameter aktif pada waktu inferensi.3

Namun, perlu dicatat bahwa jumlah parameter keseluruhan MoE yang sedikit tidak sepenuhnya tidak relevan dengan kebutuhan komputasi. Meskipun hanya menggunakan subset parameter selama inferensi, keseluruhan parameter model sebagian besar dimuat ke dalam memori, yang berarti bahwa efisiensi komputasi yang dinikmati oleh UKM dalam banyak hal tidak berlaku untuk kebutuhan RAM/VRAM mereka.

Sparsitas

Kunci dari konsep (dan efisiensi) MoE adalah bahwa hanya beberapa pakar (dan oleh karena itu parameter) dalam lapisan yang jarang akan diaktifkan pada waktu tertentu, sehingga mengurangi kebutuhan komputasi aktif.

Meskipun komputasi bersyarat telah lama diusulkan sebagai sarana teoretis untuk memisahkan tuntutan komputasi dari peningkatan kapasitas model, tantangan algoritmik dan kinerja terhadap keberhasilan eksekusi tidak dapat diatasi hingga makalah Shazeer et al. pada tahun 2017 yang berjudul "Neural Networks Tiruan yang Sangat Besar: Lapisan Campuran Para Pakar yang Jarang Dibatasi."4

Keuntungan dari lapisan yang jarang dibandingkan lapisan yang padat paling jelas terlihat ketika berhadapan dengan data berdimensi tinggi di mana pola dan dependensi sering kali kompleks dan non-linear: misalnya, dalam tugas NLP yang membutuhkan model untuk memproses urutan teks yang panjang, setiap kata biasanya hanya terkait dengan sebagian kecil kata-kata lain dalam urutan tersebut. Hal ini menjadikan UKM sebagai area dengan potensi yang luar biasa di bidang LLM, di mana model MoE yang dikalibrasi dengan baik dapat menikmati manfaat dari kelangkaan tanpa mengorbankan kinerja. Model MoE dengan gerbang yang jarang juga telah berhasil diterapkan pada tugas-tugas visi komputer,5 6 dan tetap menjadi area studi aktif di bidang tersebut. 

Sparsitas ini dicapai melalui komputasi bersyarat: aktivasi dinamis parameter tertentu sebagai respons terhadap input tertentu. Desain yang efektif dari jaringan gating (atau "router"), yang memberlakukan komputasi bersyarat tersebut, dengan demikian sangat penting untuk keberhasilan model MoE.

Perutean

Sejumlah mekanisme gating dapat digunakan untuk memilih pakar mana yang digunakan dalam situasi tertentu. Fungsi gating yang tepat sangat penting untuk kinerja model, karena strategi perutean yang buruk dapat menyebabkan beberapa pakar kurang terlatih atau terlalu terspesialisasi dan mengurangi keefektifan seluruh jaringan.

Mekanisme gating khas dalam pengaturan MoE tradisional, yang diperkenalkan dalam makalah Shazeer, menggunakan fungsi softmax: untuk masing-masing pakar, berdasarkan per-contoh, router memprediksi nilai probabilitas (berdasarkan bobot koneksi pakar tersebut ke parameter saat ini) dari pakar yang menghasilkan output terbaik untuk input yang diberikan; alih-alih menghitung output dari semua pakar, router hanya menghitung output dari (seperti yang diprediksikan) pakar k teratas untuk contoh tersebut. Seperti yang dijelaskan sebelumnya, Mixtral menggunakan strategi perutean top-k klasik ini: secara khusus, hal ini menggunakan perutean top-2 —yaitu, k=2—yang memilih 2 pakar terbaik (dari total 8) pakar.

Dalam makalah tahun 2021 yang berpengaruh, "Switch Transformers: Penskalaan ke Model Parameter Triliun dengan Sparsitas Sederhana dan Efisiensi," Fedus et al. membawa perutean top-k ke titik ekstrem: yang bekerja dengan T5 LLM Google, mereka mengganti lapisan FFN model dengan 128 pakar dan menerapkan k=1, yang juga disebut "hard routing". Bahkan ketika menskalakan model hingga satu triliun parameter, pengaturan ini meningkatkan kecepatan pra-pelatihan sebesar 400%.6

Penyeimbangan beban

Meskipun banyak manfaatnya, MoE menambah kompleksitas yang signifikan pada proses pelatihan. Kelemahan penting dari strategi perutean top-k "vanilla" adalah potensi jaringan gating untuk menyatu dan mengaktifkan beberapa pakar saja. Ini adalah masalah yang memperkuat diri sendiri: jika segelintir pakar dipilih secara tidak proporsional sejak awal, para pakar tersebut akan dilatih lebih cepat, dan kemudian terus dipilih lebih banyak karena mereka sekarang menghasilkan prediksi yang lebih dapat diandalkan daripada para pakar lain yang kurang terlatih. Beban yang tidak seimbang ini berarti para pakar lain akhirnya berakhir, secara kiasan dan harfiah, sebagai bobot mati.

Untuk mengurangi hal ini, Shazeer et al memperkenalkan noisy top-k gating: beberapa noise Gaussian ditambahkan ke nilai probabilitas yang diprediksi untuk setiap pakar, yang memperkenalkan beberapa hal acak yang lebih baik untuk mendorong aktivasi para pakar yang lebih merata. Mereka juga menambahkan dua istilah regularisasi yang dapat dilatih untuk pemilihan pakar: meminimalkan kerugian penyeimbangan beban akan menghukum ketergantungan yang berlebihan pada satu pakar, sementara meminimalkan kerugian keberagaman pakar akan memberi penghargaan pada pemanfaatan yang sama dari semua pakar.

Makalah Google tahun 2020, "GShard: Menskalakan Model Raksasa dengan Komputasi Bersyarat dan Pemecahan Otomatis," memperkenalkan dua cara tambahan untuk menyeimbangkan beban:

  • Perutean acak: Meskipun pakar “teratas” dalam pengaturan 2 teratasnya dipilih menggunakan fungsi softmax standar, pakar kedua dipilih secara semi-acak (dengan kemungkinan pakar mana pun dipilih sebanding dengan bobot koneksinya). Oleh karena itu, pakar dengan peringkat tertinggi kedua kemungkinan besar akan dipilih, tetapi tidak lagi dijamin untuk dipilih.

  • Kapasitas pakar: Penulis menetapkan ambang batas yang menentukan jumlah maksimum token yang dapat diproses oleh satu orang pakar. Jika salah satu dari 2 pakar yang dipilih telah mencapai kapasitas, token dianggap "kelebihan kapasitas" dan dilewatkan ke lapisan jaringan berikutnya.7

Akademi AI

Mengapa model dasar merupakan perubahan paradigma untuk AI

Pelajari tentang kelas baru model AI yang dapat digunakan kembali dan fleksibel, yang dapat membuka pendapatan baru, mengurangi biaya, dan meningkatkan produktivitas. Lalu gunakan buku panduan kami untuk mempelajari lebih dalam.

Menyempurnakan model MoE

Seperti disebutkan sebelumnya, keunggulan model sparse terkadang ditempa oleh kompleksitas tambahannya. Tantangan penerapan MoE sangat jelas dalam proses penyempurnaan. Model yang jarang lebih rentan terhadap overfitting daripada model tradisional yang padat, dan keberadaan lapisan MoE yang jarang dan lapisan FFN yang padat mempersulit pendekatan satu untuk semua.

Sejumlah pengamatan dan pendekatan telah diusulkan untuk mengurangi ketidakstabilan saat menyempurnakan MOE. Para penulis makalah Switch Transforlmers mengamati bahwa varian dengan lebih sedikit pakar menikmati penyempurnaan yang lebih sukses, yang menunjukkan bahwa manfaat dari jumlah pakar yang lebih besar dalam pra-pelatihan dapat diimbangi oleh hambatannya terhadap spesialisasi pada tugas-tugas hilir. 

Dalam makalah tahun 2022 "ST-MoE: Merancang Model Pakar Jarang yang Stabil dan Dapat Ditransfer," Zoph et al membandingkan hasil dari 5 pendekatan yang berbeda: menyempurnakan semua parameter ("Semua"), hanya parameter non-MoE ("Non MoE"), hanya parameter MoE ("MoE"), hanya parameter perhatian diri dan perhatian encoder-decoder ("Perhatian"), dan hanya parameter non-MoE FFN ("FFN").

  • Hampir tidak ada perbedaan yang ditemukan antara Semua dan Non-MOE

  • Hanya menyempurnakan parameter Perhatian yang mengakibatkan sedikit penurunan kinerja.

  • Hanya memperbarui parameter MoE secara signifikan menurunkan kinerja model, meskipun faktanya sekitar 80% parameter model berada di lapisan MoE yang jarang.

  • FFN adalah satu-satunya pendekatan yang meningkatkan kinerja relatif terhadap semua garis dasar. 

Para penulis berhipotesis bahwa karena lapisan pakar hanya mewakili seperempat dari total lapisan model mereka, dan token hanya akan melihat paling banyak dua pakar per lapisan, mengisolasi parameter MoE menghasilkan pembaruan bobot yang kurang komprehensif (dan dengan demikian lebih besar overfitting dan kerugian pelatihan).8

Campuran penyetelan instruksi dari pakar

Makalah Juli 2023, "Mixture-of-Experts Meets Instruction Tuning," menjelajahi dampak penyetelan instruksi pada model MoE menggunakan yang setara dengan T5 dan Flan-T5 Google—versi instruksi T5 yang disesuaikan dengan protokol Flan Google —LLM sebagai dasar. Eksperimen mereka membandingkan empat pengaturan: menyempurnakan model T5 yang padat, menyempurnakan model Flan-T5 yang padat, menyempurnakan model MoE, dan menyempurnakan model Flan-MoE yang disesuaikan dengan instruksi.

Seperti yang diharapkan, T5 yang padat setara mengungguli MoE setelah penyesuaian. Namun sebaliknya, model Flan-MoE yang telah disempurnakan secara signifikan mengungguli model Flan-T5 yang telah disempurnakan. Selain itu, peningkatan Flan-MoE dibandingkan dengan MoE bahkan lebih besar dibandingkan peningkatan Flan-T5 dibandingkan T5 asli.9

Yang menggembirakan, hal ini menunjukkan bahwa meskipun mengalami kesulitan dengan penyetelan standar, model MoE sebenarnya lebih diuntungkan oleh penyetelan instruksi daripada model lainnya yang padat. Temuan ini didapatkan dengan pembebasan yang diterima dari Mixtral 8x7B Instruct, varian yang disesuaikan dengan instruksi dari Mixtral yang ditawarkan sebagai model dasar di IBM watsonx.ai.

Solusi terkait
IBM Bob

Percepat pengiriman perangkat lunak dengan Bob, mitra AI Anda untuk pengembangan yang aman dan memahami maksud.

Jelajahi IBM® Bob
IBM® watsonx Orchestrate

Rancang asisten dan agen AI yang dapat diskalakan dengan mudah, otomatiskan tugas berulang, dan sederhanakan proses kompleks dengan IBM®watsonx Orchestrate.

Jelajahi watsonx Orchestrate
Solusi kecerdasan buatan (AI)

Manfaatkan AI di bisnis Anda dengan perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Ambil langkah selanjutnya

Di mana pun Anda berada dalam siklus pengembangan, Bob membantu Anda—memberikan ulasan agen yang sadar maksud, selaras dengan keamanan, yang mempercepat pengiriman perangkat lunak berkualitas tinggi.

  1. Jelajahi IBM® Bob
  2. Jelajahi watsonx Orchestrate