Mixture of Experts – många delar, få aktiva åt gången
MoE låter en språkmodell använda utvalda delar för varje textbit. Förstå skillnaden mellan total storlek, aktiv beräkning och minnesbehov.
Introduktion • För dig som vet att AI-modeller bearbetar text
Börja med en verktygslåda
Du behöver inte använda alla verktyg i lådan för varje arbetsmoment. Några används, resten ligger kvar och tar plats. Poängen är att skilja vad som finns tillgängligt från vad som används just nu.
Liknelsen räcker bara så långt: i modellen är det inga människor som väljer verktyg. Där finns inlärda beräkningar, inte medvetna beslut eller givna ämnesroller.
Kort sagt
Mixture of Experts (MoE) är ett sätt att bygga en AI-modell med flera alternativa beräkningsdelar. I en sparse, eller glest aktiverad, MoE används bara ett urval av experterna för varje textbit i ett MoE-lager. Modellen kan därför ha många parametrar utan att använda alla för varje textbit.
Det är användbart att förstå när ett modellkort visar både totala och aktiva parametrar. De berättar olika saker – och inget av talen säger ensamt hur bra eller snabb modellen är.
Vad väljs egentligen?
Text delas i tokens, små textbitar. Inne i modellen beskrivs varje token med tal: en representation, som förändras genom modellens lager.
- En router läser tokenens aktuella representation. Routern är själv en inlärd beräkning. Den gör ett val för varje token i det aktuella MoE-lagret, inte ett enda val för hela frågan.
- Utvalda experter bearbetar representationen. Experterna är delnätverk inne i modellen, vanligtvis så kallade feed-forward-nätverk (FFN): beräkningsblock som omvandlar talen.
- Resultaten vägs ihop och skickas vidare. Andra tokens och andra lager kan använda andra experter.
Det är alltså inte en ekonomiagent, en kodagent och en språkexpert som diskuterar. Experterna är inte separata chattmodeller eller på förhand tilldelade ämnesspecialister.
MoE ersätter ofta vissa FFN-block, inte hela modellen. Attention, som blandar information mellan textpositioner, och andra gemensamma beräkningar finns kvar. Många MoE-modeller har dessutom både shared experts, gemensamma experter som alltid används, och routed experts, som routern väljer bland. Alla modeller har inte samma upplägg.
Påhittat exempel: två av åtta
Detta är en illustration, inte en verklig modells specifikation.
I ett MoE-lager finns åtta lika stora, valbara expertblock. För en viss tokens representation väljer routern block 2 och 6. För en annan kan den välja 1 och 6. Resultaten kombineras och går vidare.
Två av åtta expertblock används i just det urvalet. Det betyder inte att hela modellen kostar 25 procent att köra. Attention, routern, eventuella gemensamma experter och övriga beräkningar tillkommer. Även minnesöverföringar kan ta tid.
Färre aktiva delar betyder inte en liten modell
- Totala parametrar är alla modellens inlärda tal, även i experter som inte väljs för en viss token. De påverkar hur mycket plats vikterna behöver.
- Aktiva parametrar per token beskriver vilka parametrar som används längs tokenens beräkningsväg. Det hjälper oss förstå beräkningsbehovet, men är inte samma sak som uppmätt svarstid.
- Minnesbehovet försvinner inte. Vid vanlig drift behöver normalt alla vikter finnas tillgängliga, inte bara de just valda experterna. De kan fördelas över flera enheter eller flyttas vid behov mellan exempelvis arbetsminne och grafikminne (offloading), men överföringarna kan bromsa. Även sparade mellanresultat för texten, så kallad cache, och tillfälliga beräkningar behöver minne.
MoE kan minska beräkningen jämfört med en tät modell, där alla motsvarande delar används, med lika många totala parametrar. Det garanterar inte lägre pris, kortare svarstid eller bättre svar. Hårdvara, programvara, samtidiga frågor och uppgift spelar också roll.
Gör så här: läs modellkortet
Använd checklistan när du jämför modeller:
- Hitta totala och aktiva parametrar. Står det vad som räknas med, inklusive gemensamma delar?
- Kontrollera minne och hårdvara: hur vikterna lagras, eventuell kvantisering (tal med lägre precision), minne för önskad kontext och eventuell offloading.
- Läs benchmarkvillkoren: vilken maskin, programvara, textlängd och mängd samtidiga frågor användes?
- Jämför på din uppgift och ditt språk. Skilj kvalitet från svarstid och faktisk kostnad.
Viktigaste fallgropen
Att läsa ”få aktiva parametrar” som ”litet minnesbehov och alltid snabbare”. MoE skiljer på tillgänglig kapacitet och använd beräkning – det trollar inte bort resten av systemet.
Vad du kan göra nu
Öppna modellkortet för en MoE-modell du överväger. Skriv ned totala parametrar, aktiva parametrar och rekommenderat minne. Markera det som saknas som okänt, inte som noll, innan du jämför med en annan modell.