MoE: totale en actieve parameters, hoeveel geheugen heb je nodig?

Automatische vertaling

Dit artikel is automatisch vertaald vanuit de oorspronkelijke Engelse versie.

Het totale aantal MoE-parameters omvat alle experts en gedeelde modelcomponenten. Actieve parameters beschrijven de subset die voor de berekening van een token wordt gebruikt, inclusief gedeelde componenten. Een model met weinig actieve parameters kan nog steeds veel geheugen nodig hebben, omdat verschillende tokens verschillende experts kunnen selecteren.

Voor deployment-engineers: gebruik alle weights om de opslag te schatten en de actieve berekening om de rekenkundige bewerkingen te begrijpen. Geen van beide aantallen voorspelt op zichzelf de latency bij serving.

Wat de router selecteert

Een mixture-of-experts-model vervangt bepaalde feed-forward-netwerken door meerdere expertnetwerken. Een router kiest een klein aantal experts voor elk token en combineert hun uitvoer. Gedeelde experts worden, als ze aanwezig zijn, voor elk token uitgevoerd. Andere componenten, waaronder attention, blijven deel van de actieve berekening.

Experts zijn niet noodzakelijk kleiner dan het feed-forward-netwerk in een vergelijkbaar dense model. Niet elke laag hoeft experts te gebruiken: DeepSeek-V3 houdt zijn eerste drie lagen dense.

ModelTotale parametersActieve parameters per tokenIndeling van experts
Mixtral 8x7BOngeveer 47BOngeveer 13BAcht experts die via routing worden geselecteerd; selecteert er twee per MoE-laag
DeepSeek-V3671B37B256 experts die via routing worden geselecteerd plus één gedeelde expert; selecteert acht routing-experts per MoE-laag

De aantallen komen uit de artikelen over Mixtral en DeepSeek-V3. Ze betekenen niet dat voor de volledige dienst alleen de geselecteerde weights moeten worden opgeslagen.

Dimensioneer opslag en uitvoering afzonderlijk

Bij twee bytes per weight vereisen 671 miljard weights ongeveer 1,34 TB aan ruwe opslag, zonder cachestatus, metadata en runtimebuffers. Quantization kan het datavolume van de weights verminderen. Sharding kan dit over apparaten verdelen; offloading verandert de vereisten voor gegevensoverdracht. Geen van deze opties volgt uit het aantal van 37B actieve parameters.

Routing beïnvloedt ook de runtime. Een batch kan veel tokens naar één expert sturen en weinig naar een andere. Expertparallelisme draagt tokenrepresentaties over tussen apparaten en voegt zo communicatie toe. Een grotere batch kan de benutting van matrixbewerkingen verbeteren en tegelijk veranderen welke experts moeten worden uitgevoerd.

Controleer het exacte checkpoint, de precisie, de plaatsing van experts, de ondersteunde kernels, de netwerktopologie en het maximale geheugengebruik. Meet de prompt- en decode-fasen bij realistische gelijktijdige verwerking. Neem workloads met ongelijkmatige routing mee als die in je verkeer voorkomen. Gebruik gemeten latency per token en goodput om de kosten te beoordelen, in plaats van actieve parameters als prijsformule voor de volledige verwerking te behandelen.

De engineeringgids: mixture of experts behandelt ook het evenwicht in routing tijdens de training.