Atlas’ta ara

Keşfetmeye buradan başla

Öğren/Mimari

Uzman karışımı: her token için farklı yol

Mixture of Experts, her token için ağın yalnızca küçük bir bölümünü çalıştırır. Yönlendirme, “etkin parametre” ve “uzman” kelimesinin yanıltıcı yönü.

ÖN BİLGİ

Bu yazıyı rahat izlemek için şunlara önce bakmış olman iyi olur:

01Bütün ağı her token için çalıştırmak şart mı?#

Standart bir Transformer’da her token, her katmanın bütün ileri beslemeli ağından geçer. Parametre sayısı arttıkça hesap da aynı oranda artar. Uzman karışımı (Mixture of Experts, MoE) bu bağı koparmaya çalışır: ileri beslemeli bloğun yerine, her biri kendi başına bir ağ olan birçok “uzman” koyar ve her token için bunlardan yalnızca birkaçını çalıştırır.

Bu fikir yeni değil. Shazeer ve arkadaşlarının 2017 tarihli çalışması, binlerce ileri beslemeli alt ağdan oluşan bir katman ve her örnek için bunların seyrek bir karışımını seçen öğrenilebilir bir geçit (gating) ağı tanıttı. Geçit çıktısı seyrek olduğundan çoğu uzman hiç hesaplanmaz; yazarlar, model kapasitesinde bin katın üzerinde artışı, hesap verimliliğinde yalnızca küçük kayıplarla elde ettiklerini bildirdi. Shazeer ve diğerleri ↗

02Yönlendirici: her token kendi uzmanlarını seçer#

Çalışma mantığı üç adımdır:

  1. Bir yönlendirici (router), tokenın vektörüne bakıp her uzman için bir skor üretir.
  2. En yüksek skorlu k uzman seçilir; geri kalanlar atlanır. Skorlar, seçilenler üzerinde softmax ile ağırlığa çevrilir.
  3. Seçilen uzmanların çıktıları, bu ağırlıklarla toplanır.

Mixtral 8x7B bu tasarımın açık ağırlıklı bir örneğidir: her katmanda 8 ileri beslemeli blok (uzman) vardır ve yönlendirici, her token için bunlardan ikisini seçer. Geçit, Softmax(TopK(x · W_g)) olarak tanımlanır. Seçilen çift, tokenlar arasında değişebilir. Jiang ve diğerleri ↗

03Dengeyi korumak ayrı bir iş#

Yönlendirici öğrenilebildiği için, eğitimde bir tembellik doğabilir: birkaç uzman çok iş yapar, diğerleri hiç. Shazeer ve arkadaşları bunu önlemek için eğitime dengeli uzman kullanımını teşvik eden yardımcı kayıplar ve geçide gürültü ekledi. Bu, MoE’yi basit bir “daha fazla parametre” hamlesinden ayırır: yönlendirme, yük dengesi ve dağıtık eğitim, birlikte tasarlanması gereken parçalardır.

04“Uzman” kelimesi yanıltabilir#

“Bir uzman matematikte, bir başkası hukukta iyi” fikri çekici gelir, ama yönlendirme bunu otomatik olarak garanti etmez. Mixtral makalesi, uzmanların konu alanlarına göre uzmanlaşıp uzmanlaşmadığını inceler; sonraki bir çalışma (OLMoE), Mixtral’de konu düzeyinde az uzmanlaşma gözlendiğini ve uzmanların her alanda tekdüze bir dağılıma yakın etkinleştiğini bildirir. OLMoE ↗ Yani “uzman” adı, bir konuda uzman anlamına gelmek zorunda değil; yönlendirme, daha düşük düzeyli (örneğin sözdizimsel) örüntüleri izliyor olabilir.

Bu, bir önceki derslerdeki uyarının bir devamıdır: bir bileşene insan anlamlı bir görev atamak, genellikle bizim kolaylığımızdır (bkz. attention başları). Bir mimari seçimin ne yaptığını ancak ölçümle söyleyebilirsin.

Bir modelin nasıl asistana dönüştüğüne geçelim: Ham dil modeli, asistana nasıl dönüşür?

KENDİNİ SINA

Bu yazıyı bitirdiğinde:

  • Uzman karışımının her token için neden tüm ağı çalıştırmadığını anlatabilirsin.
  • Yönlendiricinin ne yaptığını ve yük dengesinin neden ayrı bir sorun olduğunu açıklayabilirsin.
  • “Uzman” kelimesinin neden insan uzmanlığı anlamına gelmediğini söyleyebilirsin.

Cümlelerden birini kendi sözlerinle anlatamıyorsan, ilgili bölüme dön ve demoyu yeniden dene.

İlerleme yalnızca bu tarayıcıda saklanır.
BAĞLANTILI KAVRAMLAR

Bir fikri diğerine bağla.

Rotanı gör: sıradaki adım ne? Bütün dersler