Model dan platform AI

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

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Di dunia pemrosesan bahasa alami (NLP), upaya membangun model bahasa yang lebih besar dan lebih kuat telah menjadi 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-batas sumber daya perangkat keras yang tersedia.

Masuklah 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-bagian jaringan saraf dipilih secara selektif berdasarkan data input. Salah satu karya perintis dalam bidang ini adalah makalah “Adaptive Mixture of Local Experts” oleh Jacobs et al. pada 1991, yang mengusulkan kerangka kerja pembelajaran terawasi untuk ensemble jaringan saraf, masing-masing mengkhususkan diri dalam wilayah input yang berbeda.

Ide inti di balik MoE adalah memiliki beberapa “ahli” jaringan, masing-masing bertanggung jawab untuk memproses subset data input. Mekanisme penggantian, biasanya jaringan saraf itu sendiri, menentukan ahli mana yang harus diproses untuk 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-rank untuk komputasi kondisional, dan teknik untuk memperkirakan gradien melalui neuron stokastik dan fungsi aktivasi hard-threshold.

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 padat dengan lapisan MoE yang jarang, masing-masing terdiri dari beberapa ahli FFN dan mekanisme penggantian. Mekanisme penggantian menentukan ahli mana yang harus diproses untuk setiap token input, memungkinkan model untuk 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 jarang, yang menggunakan mekanisme penggantian yang menambahkan kepadatan 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-contoh terkenal 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 menggunakan MoE dalam model bahasa adalah kemampuan untuk meningkatkan ukuran model sambil mempertahankan biaya komputasi yang relatif konstan selama inferensi. Dengan mengaktifkan hanya subset ahli untuk setiap token input, model MoE dapat mencapai kekuatan ekspresif model padat yang lebih besar sambil memerlukan komputasi yang jauh lebih sedikit.

Misalnya, pertimbangkan model bahasa dengan lapisan FFN padat 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 menjadi 56 miliar. Namun, selama inferensi, jika kita hanya mengaktifkan dua ahli per token, biaya komputasi setara dengan model padat 14 miliar parameter, karena hanya dua kali matriks 7 miliar parameter yang dihitung.

Efisiensi komputasi ini selama inferensi sangat berharga dalam skenario penerapan di mana sumber daya terbatas, seperti perangkat mobile atau lingkungan komputasi edge. Selain itu, penurunan persyaratan komputasi selama pelatihan dapat menghasilkan penghematan energi yang substansial dan jejak karbon yang lebih rendah, sejalan dengan penekanan yang semakin 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 yang jarang dan kondisional 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 lebih mudah overfitting selama finetuning, terutama ketika tugas downstream memiliki dataset yang relatif kecil. Perilaku ini dikaitkan dengan kapasitas dan kepadatan model MoE, yang dapat menyebabkan spesialisasi berlebihan pada data pelatihan. Regularisasi dan strategi 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 yang sebanding. Hal ini karena semua bobot ahli perlu dimuat ke dalam memori, bahkan jika hanya subset yang diaktifkan untuk setiap input. Keterbatasan memori dapat membatasi skalabilitas model MoE pada perangkat yang terbatas sumber dayanya.
  4. Keseimbangan Beban: Untuk mencapai efisiensi komputasi yang optimal, penting untuk mengimbangkan beban di antara 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 yang hati-hati dari faktor kapasitas, yang menentukan jumlah maksimum token yang dapat ditugaskan ke setiap ahli.
  5. Overhead Komunikasi: Dalam skenario pelatihan dan inferensi yang terdistribusi, model MoE dapat memperkenalkan overhead komunikasi tambahan karena kebutuhan untuk menukar informasi aktivasi dan gradien di antara ahli yang berada pada perangkat atau akselerator yang berbeda. Strategi komunikasi yang efisien dan desain model yang sadar perangkat keras sangat penting untuk memitigasi overhead ini.

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

Contoh: Mixtral 8x7B dan GLaM

Untuk mengilustrasikan penerapan praktis MoE dalam model bahasa, mari kita lihat dua contoh yang terkenal: 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, efektif mengurangi biaya komputasi menjadi setara dengan model padat 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 (GOOGL ) Language Model), model MoE besar-besaran 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 hemat energi dan ramah 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 fitur 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 panjang, 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 model ini di berbagai tes.

Namun, perlu diingat bahwa Grok-1 memerlukan sumber daya GPU yang signifikan karena ukurannya yang 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 model ini tersedia untuk komunitas global untuk digunakan dan dikontribusikan.

Rilis sumber terbuka ini termasuk repositori kode contoh 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 ini.

Masa Depan Mixture-of-Experts dalam Model Bahasa

Karena permintaan akan model bahasa yang lebih besar dan lebih kuat 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 penelitian 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. Akselerator khusus dan kerangka kerja pelatihan terdistribusi yang dirancang untuk menangani pola komputasi yang jarang dan kondisional dari model MoE dengan efisien dapat lebih lanjut meningkatkan kinerja dan skalabilitas mereka.

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

Kesimpulan

Teknik Mixture-of-Experts telah muncul sebagai alat yang kuat dalam upaya membangun model bahasa yang lebih besar dan lebih kuat. 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 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-batas apa yang mungkin, adopsi teknik MoE kemungkinan akan memainkan peran kunci dalam memungkinkan generasi berikutnya model bahasa. Dengan menggabungkan MoE dengan kemajuan lain dalam arsitektur model, teknik pelatihan, dan optimasi perangkat keras, kita dapat berharap untuk model bahasa yang lebih kuat dan lebih serbaguna yang dapat benar-benar memahami dan berkomunikasi dengan manusia dalam 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 memimpin 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.