Connect with us

Kecerdasan buatan

Munculnya Mixture-of-Experts untuk Model Bahasa Besar yang Efisien

mm
Mixture of Experts Grok Mistral

Di dunia pemrosesan bahasa alami (NLP), upaya membangun model bahasa yang lebih besar dan lebih mampu telah menjadi kekuatan pendorong di balik banyak kemajuan baru-baru ini. Namun, ketika model ini tumbuh dalam ukuran, persyaratan komputasi untuk pelatihan dan inferensi menjadi semakin menantang, mendorong batas sumber daya perangkat keras yang tersedia.

Muncul Mixture-of-Experts (MoE), sebuah teknik yang berjanji untuk meringankan beban komputasi ini sambil memungkinkan pelatihan model bahasa yang lebih besar dan lebih kuat. Di bawah, kita akan membahas MoE, mengeksplorasi asal-usulnya, inner workings, dan aplikasinya dalam model bahasa berbasis transformer.

Asal-Usul Mixture-of-Experts

Konsep Mixture-of-Experts (MoE) dapat ditelusuri kembali ke awal 1990-an ketika peneliti menjelajahi ide komputasi kondisional, di mana bagian dari jaringan saraf diaktifkan secara selektif berdasarkan data input. Salah satu karya perintis di bidang ini adalah makalah “Adaptive Mixture of Local Experts” oleh Jacobs et al. pada 1991, yang mengusulkan kerangka pembelajaran terawasi untuk ensemble jaringan saraf, masing-masing mengkhususkan diri dalam wilayah yang berbeda dari ruang input.

Ide inti di balik MoE adalah memiliki beberapa “ahli” jaringan, masing-masing bertanggung jawab untuk memproses subset dari data input. Mekanisme penggantian, biasanya jaringan saraf itu sendiri, menentukan ahli mana yang harus memproses input tertentu. Pendekatan ini memungkinkan model untuk mengalokasikan sumber daya komputasinya lebih efisien dengan mengaktifkan hanya ahli yang relevan untuk setiap input, bukan menggunakan kapasitas model penuh untuk setiap input.

Selama bertahun-tahun, berbagai peneliti menjelajahi dan memperluas ide komputasi kondisional, menghasilkan perkembangan seperti MoE hierarkis, aproksimasi rendah untuk komputasi kondisional, dan teknik untuk memperkirakan gradien melalui neuron stokastik dan fungsi aktivasi ambang keras.

Mixture-of-Experts dalam Transformer

Mixture of Experts

Mixture of Experts

Sementara ide MoE telah ada selama beberapa dekade, penerapannya pada model bahasa berbasis transformer relatif baru. Transformer, yang telah menjadi standar de facto untuk model bahasa mutakhir, terdiri dari beberapa lapisan, masing-masing berisi mekanisme perhatian diri dan jaringan saraf feed-forward (FFN).

Inovasi kunci dalam menerapkan MoE pada transformer adalah menggantikan lapisan FFN yang padat dengan lapisan MoE yang jarang, masing-masing terdiri dari beberapa ahli FFN dan mekanisme penggantian. Mekanisme penggantian menentukan ahli mana yang harus memproses setiap token input, memungkinkan model untuk secara selektif mengaktifkan hanya subset ahli untuk urutan input tertentu.

Salah satu karya awal yang menunjukkan potensi MoE dalam transformer adalah makalah “Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer” oleh Shazeer et al. pada 2017. Karya ini memperkenalkan konsep lapisan MoE yang diatur jarang, yang menggunakan mekanisme penggantian yang menambahkan kejarangan dan kebisingan pada proses pemilihan ahli, memastikan bahwa hanya subset ahli yang diaktifkan untuk setiap input.

Sejak itu, beberapa karya lain telah lebih lanjut mengembangkan penerapan MoE pada transformer, mengatasi tantangan seperti ketidakstabilan pelatihan, keseimbangan beban, dan inferensi yang efisien. Contoh yang mencolok termasuk Switch Transformer (Fedus et al., 2021), ST-MoE (Zoph et al., 2022), dan GLaM (Du et al., 2022).

Manfaat Mixture-of-Experts untuk Model Bahasa

Manfaat utama dari menggunakan MoE dalam model bahasa adalah kemampuan untuk meningkatkan ukuran model sambil mempertahankan biaya komputasi yang relatif konstan selama inferensi. Dengan mengaktifkan secara selektif hanya subset ahli untuk setiap token input, model MoE dapat mencapai kekuatan ekspresif model padat yang jauh lebih besar sambil memerlukan komputasi yang jauh lebih sedikit.

Misalnya, pertimbangkan model bahasa dengan lapisan FFN yang padat dengan 7 miliar parameter. Jika kita menggantikan lapisan ini dengan lapisan MoE yang terdiri dari delapan ahli, masing-masing dengan 7 miliar parameter, jumlah total parameter meningkat menjadi 56 miliar. Namun, selama inferensi, jika kita hanya mengaktifkan dua ahli per token, biaya komputasi setara dengan model padat dengan 14 miliar parameter, karena hanya melakukan dua kali perkalian matriks 7 miliar parameter.

Efisiensi komputasi ini selama inferensi sangat berharga dalam skenario penerapan di mana sumber daya terbatas, seperti perangkat mobile atau lingkungan komputasi edge. Selain itu, persyaratan komputasi yang berkurang selama pelatihan dapat menghasilkan penghematan energi yang substansial dan jejak karbon yang lebih rendah, sejalan dengan penekanan yang meningkat pada praktik AI yang berkelanjutan.

Tantangan dan Pertimbangan

Sementara model MoE menawarkan manfaat yang menggoda, adopsi dan penerapannya juga datang dengan beberapa tantangan dan pertimbangan:

  1. Ketidakstabilan Pelatihan: Model MoE dikenal lebih rentan terhadap ketidakstabilan pelatihan dibandingkan dengan model padat. Masalah ini muncul dari sifat komputasi kondisional dan jarang dari aktivasi ahli, yang dapat menyebabkan kesulitan dalam propagasi gradien dan konvergensi. Teknik seperti router z-loss (Zoph et al., 2022) telah diusulkan untuk memitigasi ketidakstabilan ini, tetapi penelitian lebih lanjut masih diperlukan.
  2. Finetuning dan Overfitting: Model MoE cenderung overfit lebih mudah selama finetuning, terutama ketika tugas downstream memiliki dataset yang relatif kecil. Perilaku ini dikaitkan dengan kapasitas dan kejarangan model MoE yang meningkat, yang dapat menyebabkan spesialisasi berlebihan pada data pelatihan. Strategi regularisasi dan finetuning yang hati-hati diperlukan untuk memitigasi masalah ini.
  3. Persyaratan Memori: Sementara model MoE dapat mengurangi biaya komputasi selama inferensi, mereka sering memiliki persyaratan memori yang lebih tinggi dibandingkan dengan model padat dengan ukuran serupa. Hal ini karena semua bobot ahli perlu dimuat ke memori, bahkan jika hanya subset yang diaktifkan untuk setiap input. Keterbatasan memori dapat membatasi skalabilitas model MoE pada perangkat dengan sumber daya terbatas.
  4. Keseimbangan Beban: Untuk mencapai efisiensi komputasi yang optimal, penting untuk mengimbangkan beban di seluruh ahli, memastikan bahwa tidak ada ahli yang terlalu berat sementara yang lain tidak terlalu ringan. Keseimbangan beban ini biasanya dicapai melalui kerugian tambahan selama pelatihan dan penyetelan hati-hati dari faktor kapasitas, yang menentukan jumlah maksimum token yang dapat ditugaskan ke setiap ahli.
  5. Overhead Komunikasi: Dalam skenario pelatihan dan inferensi terdistribusi, model MoE dapat memperkenalkan overhead komunikasi tambahan karena kebutuhan untuk menukar informasi aktivasi dan gradien di seluruh ahli yang berada di perangkat atau akselerator yang berbeda. Strategi komunikasi yang efisien dan desain model yang sadar perangkat sangat penting untuk memitigasi overhead ini.

Meskipun ada tantangan ini, potensi manfaat dari model MoE dalam memungkinkan model bahasa yang lebih besar dan lebih mampu telah memicu upaya penelitian yang signifikan untuk mengatasi dan memitigasi masalah ini.

Contoh: Mixtral 8x7B dan GLaM

Untuk mengilustrasikan penerapan praktis MoE dalam model bahasa, mari kita pertimbangkan dua contoh yang mencolok: Mixtral 8x7B dan GLaM.

Mixtral 8x7B adalah varian MoE dari model bahasa Mistral, dikembangkan oleh Anthropic. Ini terdiri dari delapan ahli, masing-masing dengan 7 miliar parameter, menghasilkan total 56 miliar parameter. Namun, selama inferensi, hanya dua ahli yang diaktifkan per token, secara efektif mengurangi biaya komputasi menjadi setara dengan model padat dengan 14 miliar parameter.

Mixtral 8x7B telah menunjukkan kinerja yang mengesankan, mengungguli model Llama 70 miliar parameter sambil menawarkan waktu inferensi yang jauh lebih cepat. Versi Mixtral 8x7B yang disesuaikan dengan instruksi, disebut Mixtral-8x7B-Instruct-v0.1, juga telah dirilis, lebih lanjut meningkatkan kemampuannya dalam mengikuti instruksi bahasa alami.

Contoh lain yang patut disebut adalah GLaM (Google Language Model), model MoE besar yang dikembangkan oleh Google. GLaM menggunakan arsitektur transformer decoder-only dan dilatih pada dataset token 1,6 triliun. Model ini mencapai kinerja yang mengesankan pada evaluasi few-shot dan one-shot, mencapai kualitas GPT-3 sambil menggunakan hanya sepertiga energi yang diperlukan untuk melatih GPT-3.

Kesuksesan GLaM dapat dikaitkan dengan arsitektur MoE yang efisien, yang memungkinkan pelatihan model dengan jumlah parameter yang sangat besar sambil mempertahankan persyaratan komputasi yang wajar. Model ini juga menunjukkan potensi model MoE untuk menjadi lebih efisien dan berkelanjutan secara lingkungan dibandingkan dengan model padat.

Arsitektur Grok-1

GROK MIXTURE OF EXPERT

GROK MIXTURE OF EXPERT

Grok-1 adalah model MoE berbasis transformer dengan arsitektur unik yang dirancang untuk memaksimalkan efisiensi dan kinerja. Mari kita lihat spesifikasi kunci:

  1. Parameter: Dengan 314 miliar parameter, Grok-1 adalah model LLM terbuka terbesar hingga saat ini. Namun, berkat arsitektur MoE, hanya 25% dari bobot (sekitar 86 miliar parameter) yang aktif pada waktu tertentu, meningkatkan kemampuan pemrosesan.
  2. Arsitektur: Grok-1 menggunakan arsitektur Mixture-of-8-Experts, dengan setiap token diproses oleh dua ahli selama inferensi.
  3. Lapisan: Model ini terdiri dari 64 lapisan transformer, masing-masing mengintegrasikan perhatian multi-kepala dan blok padat.
  4. Tokenisasi: Grok-1 menggunakan tokenisasi SentencePiece dengan ukuran kosakata 131.072 token.
  5. Embedding dan Pengkodean Posisional: Model ini menampilkan embedding 6.144 dimensi dan menggunakan pengkodean posisional rotary, memungkinkan interpretasi data yang lebih dinamis dibandingkan dengan pengkodean posisional tetap.
  6. Perhatian: Grok-1 menggunakan 48 kepala perhatian untuk kueri dan 8 kepala perhatian untuk kunci dan nilai, masing-masing dengan ukuran 128.
  7. Panjang Konteks: Model ini dapat memproses urutan hingga 8.192 token, menggunakan presisi bfloat16 untuk komputasi yang efisien.

Kinerja dan Detail Implementasi

Grok-1 telah menunjukkan kinerja yang mengesankan, mengungguli LLaMa 2 70B dan Mixtral 8x7B dengan skor MMLU 73%, menunjukkan efisiensi dan akurasi di berbagai tes.

Namun, perlu diingat bahwa Grok-1 memerlukan sumber daya GPU yang signifikan karena ukurannya yang sangat besar. Implementasi saat ini dalam rilis sumber terbuka berfokus pada memvalidasi kebenaran model dan menggunakan implementasi lapisan MoE yang tidak efisien untuk menghindari kebutuhan akan kernel kustom.

Meskipun demikian, model ini mendukung sharding aktivasi dan kuantisasi 8-bit, yang dapat mengoptimalkan kinerja dan mengurangi persyaratan memori.

Dalam langkah yang mengesankan, xAI telah merilis Grok-1 di bawah lisensi Apache 2.0, membuat bobot dan arsitektur tersedia untuk komunitas global untuk digunakan dan berkontribusi.

Rilis sumber terbuka ini termasuk contoh kode JAX yang menunjukkan cara memuat dan menjalankan model Grok-1. Pengguna dapat mengunduh bobot checkpoint menggunakan klien torrent atau langsung melalui HuggingFace Hub, memfasilitasi akses mudah ke model yang revolusioner ini.

Masa Depan Mixture-of-Experts dalam Model Bahasa

Karena permintaan akan model bahasa yang lebih besar dan lebih mampu terus tumbuh, adopsi teknik MoE diharapkan akan mendapatkan momentum lebih lanjut. Upaya penelitian yang sedang berlangsung berfokus pada mengatasi tantangan yang tersisa, seperti meningkatkan stabilitas pelatihan, memitigasi overfitting selama finetuning, dan mengoptimalkan persyaratan memori dan komunikasi.

Salah satu arah yang menjanjikan adalah eksplorasi arsitektur MoE hierarkis, di mana setiap ahli itu sendiri terdiri dari beberapa sub-ahli. Pendekatan ini berpotensi memungkinkan skalabilitas dan efisiensi komputasi yang lebih besar sambil mempertahankan kekuatan ekspresif model besar.

Selain itu, pengembangan sistem perangkat keras dan perangkat lunak yang dioptimalkan untuk model MoE adalah area penelitian yang aktif. Percepatan dan kerangka pelatihan terdistribusi yang dirancang untuk menangani pola komputasi yang jarang dan kondisional dari model MoE dapat lebih lanjut meningkatkan kinerja dan skalabilitas mereka.

Lebih lanjut, integrasi teknik MoE dengan kemajuan lainnya dalam pemodelan bahasa, seperti mekanisme perhatian yang jarang, strategi tokenisasi yang efisien, dan representasi multi-modal, dapat menghasilkan model bahasa yang lebih kuat dan serbaguna yang mampu menangani berbagai tugas.

Kesimpulan

Teknik Mixture-of-Experts telah muncul sebagai alat yang kuat dalam upaya membangun model bahasa yang lebih besar dan lebih mampu. Dengan mengaktifkan ahli secara selektif berdasarkan data input, model MoE menawarkan solusi yang menjanjikan untuk tantangan komputasi yang terkait dengan penskalaan model padat. Sementara masih ada tantangan yang harus diatasi, seperti ketidakstabilan pelatihan, overfitting, dan persyaratan memori, potensi manfaat dari model MoE dalam hal efisiensi komputasi, skalabilitas, dan keberlanjutan lingkungan membuat mereka menjadi area penelitian dan pengembangan yang menarik.

Karena bidang pemrosesan bahasa alami terus mendorong batas apa yang mungkin, adopsi teknik MoE kemungkinan akan memainkan peran kunci dalam memungkinkan generasi model bahasa berikutnya. Dengan menggabungkan MoE dengan kemajuan lainnya dalam arsitektur model, teknik pelatihan, dan optimasi perangkat keras, kita dapat berharap model bahasa yang lebih kuat dan serbaguna yang benar-benar dapat memahami dan berkomunikasi dengan manusia dengan cara yang alami dan tanpa cela.

Saya telah menghabiskan lima tahun terakhir dengan membenamkan diri dalam dunia Machine Learning dan Deep Learning yang menarik. Minat dan keahlian saya telah membawa saya untuk berkontribusi pada lebih dari 50 proyek rekayasa perangkat lunak yang beragam, dengan fokus khusus pada AI/ML. Rasa ingin tahu saya yang terus-menerus juga telah menarik saya ke arah Natural Language Processing, sebuah bidang yang saya ingin jelajahi lebih lanjut.