13 · Mixture of Experts
Idea central: no cal activar tot el model per a cada token. Si tens 100 especialistes i en consultes 2 per pregunta, tens el coneixement de 100 al cost computacional de 2.
1. El motiu econòmic# sense fórmules
Amb un model dens, capacitat i cost estan encadenats: més paràmetres = més FLOPs per token, tant en entrenament com en inferència.
MoE trenca aquest lligam. Substitueix la capa FFN per FFN ("experts") i un encaminador (router) que, per a cada token, en tria només (típicament 1-8 de 8-256).
Resultat: paràmetres totals ≫ paràmetres actius. Exemples reals: 671B totals / 37B actius; 1T+ totals amb desenes de B actius. Els FLOPs per token són els dels actius; la memòria necessària és la dels totals.
Capacitat contra cost: la comptabilitat que ho explica tot
Un MoE té dos números de paràmetres i no un. Quin entra als FLOPs, quin entra a la factura de memòria, i quina distància hi ha entre tots dos?
Totals contra actius
La barra de baix és el 5,0 % de la de dalt. Tot el que hi ha entre les dues són experts que el model té, que ocupen memòria, que s'han entrenat i que aquest token no toca.
| Model | E / k | totals | actius | ràtio | fp8 | combinacions |
|---|---|---|---|---|---|---|
| Dens de 8B | — | 6,4 G | 6,4 G | 1,0× | 6 GB | — |
| Mixtral 8×7B | 8 / 2 | 47,4 G | 13,6 G | 3,5× | 47 GB | 28,00 |
| DeepSeek-V3 | 256 / 8 | 666,5 G | 33,0 G | 20,2× | 667 GB | 4,10·10¹⁴ |
| Granularitat extrema | 512 / 16 | 665,1 G | 31,6 G | 21,0× | 665 GB | 8,41·10²⁹ |
L'última columna és el nombre de subconjunts de experts que el router pot triar: . És el número que hi ha darrere de la frase «molts experts petits donen més combinacions possibles»: passar de 8 experts amb top-2 a 256 amb top-8 multiplica les combinacions per 1,46·10¹³ sense tocar els FLOPs per token, i és per això que la tendència va cap a la granularitat fina.
Granularitat fina amb un expert compartit. És el «37B actius de 671B totals» del text.
Les tres primeres es deixen denses, com fan els models reals: el routing hi és inestable.
És el que multiplica els FLOPs per token.
S’activen sempre. Compten als actius i als totals alhora.
La granularitat: molts experts petits en comptes de pocs grans.
- paràmetres totals
- 666,5 G
- paràmetres actius
- 33,0 G
- ràtio
- 20,2×
- FLOPs per token (2N)
- 6,61·10¹⁰
- memòria a fp8
- 667 GB
- GPUs de 80 GB
- 9
No és un full de càlcul: es munta un Transformer de 3 capes amb dues capes MoE de 8 experts i un de compartit, i es compara la longitud real del seu vector theta amb el desglossament peça a peça.
Longitud real del vector theta | 62.048 |
| Suma del desglossament | 62.048 |
| Diferència | 0 |
| Paràmetres actius per token | 36.704 |
| Els que hi són i no s'activen | 25.344 |
| …que són exactament els 6 experts no triats de les 2 capes MoE | 25.344 |
La diferència entre totals i actius és, exactament, els experts que no s'han triat — cap altra cosa. L'atenció, els embeddings, les normes i els experts compartits entren als dos números. Aquesta és la frase sencera del §1: el MoE no fa el model més barat, fa que la part d'FFN del model es pagui vegades.
Amb la configuració d'ara —, 61 capes, 256 experts, top-8, 1 compartit— surten 666,5 G paràmetres totals i 33,0 G actius, una ràtio de 20,2. Posa el selector a DeepSeek-V3 i compara amb el text.
- Generar un token: = 6,61·10¹⁰ FLOPs
- Entrenar-lo amb 15,0 T tokens: = 2,97·10²⁴ FLOPs
- Si fos dens amb 666,5 G paràmetres, entrenar-lo costaria 20,2 vegades més: 6,00·10²⁵
- A fp8: 667 GB
- A fp16: 1.333 GB
- Amb H100 80 GB: 9 targetes a fp8, només per als pesos
- Sostre de decodificació: 101 tok/s, que el marquen els actius perquè és el que s'ha de llegir per token
Les dues columnes són el fitxer 13 sencer. Un MoE és barat de calcular i car de tenir, i per això és fantàstic per a un servei que amortitza la memòria entre milers de peticions i dolent per a una sola targeta. Puja els experts i mira que la columna de l'esquerra no es mogui gens mentre la de la dreta es dispara: això és el desacoblament, i és literalment el que el text diu quan parla de trencar el lligam entre capacitat i cost.
2. Decisions de disseny# sense fórmules
Granularitat
Molts experts petits (fine-grained) en lloc de pocs grans dona més combinacions possibles i millors resultats a igualtat de paràmetres actius. La tendència recent és clara cap a més experts i més petits.
Experts compartits
Un o dos experts que sempre s'activen, a més dels seleccionats. Capturen el coneixement comú i eviten que cada expert hagi de reaprendre'l (DeepSeekMoE).
Top-k
(Switch Transformer) és el més barat; a és el més habitual. Més = més FLOPs però millor qualitat i gradients més estables.
Quines capes
Normalment s'alternen capes denses i capes MoE, i les primeres capes solen mantenir-se denses (el routing hi és inestable).
El router: Top-k sobre E experts
Cada token tria k experts de E i en barreja les sortides. Quins pesos hi posa, sumen 1, i què passa quan k arriba a E?
Qui tria qui: pesos del router, token per expert
| E1 | E2 | E3 | E4 | E5 | E6 | |
|---|---|---|---|---|---|---|
| 0·el | · | 0,96 | · | · | · | 0,04 |
| 1·gat | · | 0,11 | · | · | · | 0,89 |
| 2·negre | 0,64 | 0,36 | · | · | · | · |
| 3·dorm | · | · | · | 0,44 | · | 0,56 |
| 4·perquè | · | 0,60 | · | · | 0,40 | · |
| 5·menja | · | · | 0,20 | · | · | 0,80 |
| 6·peix | · | 0,66 | · | · | · | 0,34 |
| 7·ara | · | · | · | · | 0,53 | 0,47 |
Cada fila té exactament 2 cel·les no buides, i sumen 1.
Càrrega per expert
La barra plena seria el repartiment equitatiu, 17 %. Amb el router sense entrenar la càrrega ja no és uniforme, i entrenant sense balanceig s'empitjora fins a col·lapsar: és el widget següent.
Quines capes serien MoE
Les blaves són MoE i les grises, denses. Amb 8 capes MoE de 8, els paràmetres totals del model serien 3,1 vegades els d'un model dens equivalent, i els actius, pràcticament els mateixos.
La granularitat: amb la mateixa amplada total, més experts vol dir més combinacions.
k = 1 és Switch Transformer; k = 2 a 8 és l’habitual. Puja’l fins a E i mira la segona comprovació.
S’activen per a tots els tokens, amb pes 1. Capturen el coneixement comú perquè els altres no l’hagin de reaprendre.
Els models reals deixen denses les primeres capes: el routing hi és inestable perquè les representacions encara no s’han diferenciat.
La mateixa llavor dona sempre el mateix resultat.
- experts
- 6 + 0 compartits
- triats per token
- 2 + 0
- paràmetres totals
- 3.528
- actius per token
- 1.224
- ràtio
- 2,88×
- entropia d’ús
- 0,843
La softmax està restringida als triats, de manera que els seus pesos sumen 1 i la sortida és una combinació convexa de les sortides dels experts: la mateixa comprovació que el fitxer 09 fa sobre l'atenció, ara sobre experts. Aquí està feta pels dos costats —es reconstrueix a mà des de les sortides de cada expert i es compara amb el que la capa torna.
| Token | experts triats | pesos | suma |
|---|---|---|---|
| 0·el | 2, 6 | 0,961 · 0,039 | 1,000000000000 |
| 1·gat | 6, 2 | 0,890 · 0,110 | 1,000000000000 |
| 2·negre | 1, 2 | 0,644 · 0,356 | 1,000000000000 |
| 3·dorm | 6, 4 | 0,559 · 0,441 | 1,000000000000 |
| 4·perquè | 2, 5 | 0,603 · 0,397 | 1,000000000000 |
| 5·menja | 6, 3 | 0,800 · 0,200 | 1,000000000000 |
| 6·peix | 2, 6 | 0,657 · 0,343 | 1,000000000000 |
| 7·ara | 5, 6 | 0,530 · 0,470 | 1,000000000000 |
L'error de la reconstrucció és 0 i la pitjor desviació de la suma dels pesos, 1,11·10⁻¹⁶. Que sumin 1 importa per una raó pràctica: fa que l'escala de la sortida de la capa no depengui de quants experts s'hagin triat, i per tant que canviar no desbarati la variància del flux residual. Els experts compartits són l'excepció i s'hi sumen amb pes 1 a part, i per això amb compartits la suma continua sent 1 dels triats i la capa escriu una mica més.
Si es trien tots els experts, els pesos de la softmax sumen 1 sobre tots ells i la sortida és quan tots són el mateix expert. Aquí es munta exactament aquest cas —6 experts idèntics amb — i es compara amb una capa d'un sol expert amb aquells mateixos pesos.
La diferència és 1,78·10⁻¹⁵: zero a precisió de màquina. Això diu una cosa que val la pena tenir clara abans de continuar: l'esparsitat del MoE no és una aproximació d'una densa. Amb tens la densa exacta i el cost de la densa; amb tens un model diferent, que calcula una altra funció i que costa menys. El que es guanya no és velocitat sobre el mateix càlcul: és la possibilitat de tenir molts més paràmetres pel mateix càlcul. I és també el fonament de l'upcycling, que és aquesta identitat feta servir com a punt de partida.
3. El problema del balanceig de càrrega# sense fórmules
Si el router prefereix uns quants experts, la resta no s'entrenen mai → col·lapse. Solucions:
- Pèrdua auxiliar de balanceig: , on és la fracció de tokens enviats a l'expert i la probabilitat mitjana que hi assigna el router. Penalitza el desequilibri.
- Balanceig sense pèrdua auxiliar (DeepSeek-V3): afegir un biaix per expert que s'ajusta dinàmicament segons la càrrega recent, sense contaminar el gradient de la tasca. Millora la qualitat perquè la pèrdua auxiliar sempre és un impost sobre l'objectiu real.
- Capacitat i token dropping: cada expert té un límit de tokens per batch; els que sobren es descarten (o passen pel residual). Compte amb això en inferència.
El col·lapse del router, i les dues maneres d'evitar-lo
Sense balanceig, el router acaba enviant-ho tot a uns quants experts. Mira-ho passar, i mira què costa cadascuna de les dues solucions.
Entropia d'ús dels experts (1 = repartit, 0 = col·lapsat)
Fracció de tokens que va a l'expert més carregat
La pèrdua de la tasca (sense l'impost)
- Sense balanceig
- Pèrdua auxiliar
- Biaix per expert (DeepSeek-V3)
Repartiment ara mateix, expert per expert
8 experts morts (en vermell)
8 experts morts (en vermell)
8 experts morts (en vermell)
Cada barra és un expert i l'alçada és la fracció de tokens que hi arriba, normalitzada pel més carregat de cada panell. Un panell amb una barra alta i la resta arran de terra és un router col·lapsat: el model té 8 experts i en fa servir uns quants.
El router fa el que vol. Si comença a preferir uns quants experts, els altres no reben gradient, no milloren i el router els prefereix encara menys: la definició de col·lapse.
Se suma α·E·Σ fᵢPᵢ a la pèrdua. Penalitza el desequilibri, i el seu gradient arriba al router barrejat amb el de la tasca: és un impost.
Un biaix per expert que s’ajusta segons la càrrega recent i que se suma als logits només per **triar**, no per pesar. No és un paràmetre i no rep gradient: no contamina el de la tasca.
Tres models s'entrenen alhora —sense balanceig, amb pèrdua auxiliar i amb el biaix de DeepSeek-V3— sobre el mateix text, amb la mateixa llavor i amb el mateix vector de paràmetres inicial: l'única diferència és com es balanceja. Cada pas dels tres costa uns 84 ms (estimats). El col·lapse ja es veu cap al pas 100.
Els models reals hi posen 0,001 a 0,01. Puja’l i mira com l’equilibri millora i la pèrdua de la tasca empitjora: és el bescanvi.
Quant es mou el biaix a cada pas. Massa poc i no arriba a equilibrar; massa i oscil·la.
- passos
- 0
- sense res · entropia
- —
- auxiliar · entropia
- —
- biaix · entropia
- —
- impost de l’auxiliar
- —
- càrrega màx · sense res
- —
Prem un dels botons de dalt i mira les tres corbes d'entropia separar-se.
Entrena i mira la columna de l'impost: és el número que fa concreta la frase del text sobre per què el balanceig sense pèrdua auxiliar pot donar millor qualitat.
4. Implicacions de sistemes# sense fórmules
Entrenament: els experts es reparteixen entre GPUs (expert parallelism). Cada token ha de viatjar a la GPU del seu expert i tornar → dues operacions all-to-all per capa MoE. La comunicació és el coll d'ampolla; part de l'enginyeria de DeepSeek-V3 va consistir a solapar computació i comunicació per amagar-la.
Inferència: has de tenir tots els paràmetres en memòria encara que només n'activis una fracció. Un model de 671B en fp8 necessita ~671 GB → múltiples GPUs. Per això MoE és fantàstic per a serveis a gran escala (amortitzes la memòria entre moltes peticions) i dolent per a execució local en una sola targeta.
Batching: amb batch gran, els tokens es reparteixen entre molts experts i acabes activant-los gairebé tots → l'avantatge de FLOPs es manté però el patró d'accés a memòria és irregular. Tècniques com el prefetching d'experts intenten mitigar-ho.
La sortida depèn de qui més hi hagi al lot
Amb capacitat limitada, les seqüències d'un mateix lot es disputen les places dels experts. Posa la mateixa seqüència amb dues companyes diferents i mira els logits.
| posició | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| seqüència | s | ␣ | i | ␣ | l | a | ␣ | f | i | l | l | a |
| prediu amb A | x | . | F | I | ␣ | ␣ | s | é | F | ␣ | ␣ | ␣ |
| prediu amb B | x | . | F | . | ␣ | ␣ | . | é | F | ␣ | ␣ | ␣ |
| Δ logit màx | 0 | 0,23 | 0,06 | 0,18 | 0,04 | 0,02 | 0,20 | 0,03 | 0,47 | 0,07 | 0,05 | 0,03 |
Les cel·les vermelles són les posicions on la predicció canvia segons la companyia. La fila de sota és la diferència màxima de logit a cada posició; amb capacitat de sobres és zero a totes.
Qui s'emporta les places, amb capacitat 4
Cada columna és un expert; l'alçada plena és la seva capacitat i el número és «quants hi han entrat / quants el volien». Les columnes vermelles són les que han hagut de rebutjar tokens: són les que fan que el resultat depengui de l'ordre, i per tant del lot.
El repartiment equitatiu amb dues seqüències de 12 i top-2 sobre 6 experts seria 8. Puja-la fins que la diferència torni a zero.
La seqüència que mirem és sempre la mateixa; l'única cosa que canvia és qui l'acompanya al lot.
La manera com es diu als papers: múltiple del repartiment equitatiu L·k/E. Per sota d’1 es descarta segur.
Canvia el model i les tres seqüències. L'efecte es veu amb qualsevol llavor.
- capacitat
- 4 tokens/expert
- parelles descartades
- 51,0 %
- diferència màx A vs B
- 0,469
- diferència mitjana
- 0,040
- prediccions que canvien
- 2 de 12
- sola vs acompanyada
- 0,533
La seqüència que es mira és exactament la mateixa a les tres columnes, amb el mateix model i la mateixa llavor. L'atenció també és la mateixa: el forward conjunt fa servir una màscara per blocs, de manera que cap token no veu res de l'altra seqüència, i les posicions de RoPE són les de dins de cada seqüència. L'única cosa que lliga les dues seqüències és la capacitat dels experts, que es reparteix sobre tots els tokens del forward.
| Comparació | capacitat | descartades | diferència màx | diferència mitjana |
|---|---|---|---|---|
| amb A contra amb B | 4 | 51,0 % | 0,469 | 0,040 |
| sola contra amb A | 4 | 25,0 % | 0,533 | 0,114 |
| amb A contra amb B, capacitat infinita | ∞ | 0,0 % | 0 | 0 |
| sola contra amb A, capacitat infinita | ∞ | 0 % | 0 | 0 |
Les dues últimes files són el control, i són les que fan que la primera vulgui dir alguna cosa: amb capacitat de sobres, la diferència és 0 — zero exacte, no petit. La màscara per blocs i les posicions fan que el forward conjunt sigui matemàticament idèntic a dos forwards separats, i per tant qualsevol diferència que aparegui a la primera fila només pot venir de la capacitat.
Ara mateix 2 de les 12 prediccions de la seqüència canvien segons qui l'acompanyi. No és soroll numèric: és una funció diferent. Un servidor que faci batching dinàmic —i tots en fan— pot donar dues respostes diferents a la mateixa petició segons què hi hagués a la cua en aquell moment, i la petició no ha canviat gens.
Puja la capacitat fins que la columna de descartades arribi a zero i mira que la diferència torna a ser zero exacte. Aquest és el remei —capacitat de sobres, o dropless MoE, que reordena els tokens en comptes de descartar-los— i el seu preu és memòria i comunicació, perquè cal dimensionar per al pitjor cas en comptes de per a la mitjana.
- 1. El router tria els seus experts per a cada token mirant només aquell token. Fins aquí, res no depèn del lot.
- 2. Els experts s'omplen en l'ordre en què arriben els tokens, i quan un expert arriba a la seva capacitat, els tokens que li quedaven es descarten. Aquí és on entra el lot: si les companyes han omplert l'expert 3, el teu token que hi anava es queda fora.
- 3. Un token descartat perd aquella contribució i el que queda passa pel residual; els pesos dels experts que sí que l'han acceptat no es renormalitzen, de manera que la suma dels pesos aplicats baixa de 1 i la sortida de la capa és una altra.
El pas 3 és una decisió d'implementació i no una llei: es podria renormalitzar. Però renormalitzar no arreglaria el problema —la sortida continuaria depenent de qui ha agafat les places— i afegiria una discontinuïtat més. El que sí que l'arregla és no descartar mai, i és cap on han anat les implementacions modernes.
5. Interacció amb les lleis d'escala# sense fórmules
MoE millora la pèrdua a igualtat de FLOPs d'entrenament, però:
- Consumeix més dades per assolir el mateix aprofitament per paràmetre → accelera el xoc contra el "mur de dades".
- Té una relació òptima entre nombre d'experts, paràmetres actius i tokens que és pròpia (hi ha lleis d'escala específiques per a MoE).
- Complica la comparació entre models: "70B dens" i "400B totals / 40B actius" no són comparables ni per memòria, ni per cost, ni per qualitat.
MoE contra dens, a igualtat de FLOPs d'entrenament
No el mateix nombre de passos: el mateix pressupost. El que té passos més barats en fa més. I després mira quants tokens ha necessitat cadascun.
Pèrdua contra FLOPs acumulats (eix horitzontal logarítmic)
- Dens · 28.832 actius
- MoE 8 experts, top-2 · 20.896 actius
Les dues corbes comencen al mateix lloc perquè el vector de paràmetres inicial és el mateix fins allà on la forma ho permet. Les dues arriben a la línia vertical del pressupost havent fet nombres de passos diferents: és exactament el que vol dir comparar a igualtat de FLOPs.
FFN densa de 88 d’amplada interior. Tots els paràmetres actius a cada token.
Vuit experts de 22, dos triats: 44 d’amplada activa contra 176 de total. Menys FLOPs per token i més paràmetres.
El mateix pressupost, repartit en passos
: amb el mateix , el model amb menys pot pujar . El MoE en fa 1,38× més de passos, i per tant veu 1,38× més tokens — que és el guany i el problema alhora.
Els dos models s'entrenen alhora, però el que compta a l'eix horitzontal no són els passos sinó els FLOPs acumulats: cada pas del MoE costa 0,72× el d'un pas del dens, perquè té 72 % dels paràmetres actius. Amb el pressupost de 60,0 G FLOPs, el dens arriba a 2.710 passos i el MoE a 3.739. Cada pas dels dos costa uns 56 ms (estimats).
El que tots dos poden gastar. No és el nombre de passos: és el que decideix quants passos pot fer cadascun.
- passos fets
- 0
- dens · pèrdua
- —
- MoE · pèrdua
- —
- dens · paràmetres
- 28.832
- MoE · totals / actius
- 46.240 / 20.896
- FLOPs per pas, MoE/dens
- 0,72×
La comparació honesta no és «el mateix nombre de passos» sinó «el mateix pressupost»: un MoE amb menys paràmetres actius fa passos més barats, i amb el mateix pressupost en fa més. Si es comparessin a igualtat de passos, el MoE hi sortiria perdent per una raó que no té res a veure amb l'arquitectura.
| Model | totals | actius | FLOPs/pas | passos al pressupost | passos fets | pèrdua |
|---|---|---|---|---|---|---|
| dens | 28.832 | 28.832 | 2,21·10⁷ | 2.710 | 0 | — |
| MoE | 46.240 | 20.896 | 1,60·10⁷ | 3.739 | 0 | — |
L'eix de FLOPs amaga una cosa que el §5 avisa i que és el problema real del MoE: consumeix més dades. Aquí es mesura directament: es pren la pèrdua que tots dos han assolit i es mira quants tokens li ha calgut a cadascun per arribar-hi.
Les dues últimes columnes diuen coses diferents i totes dues importen. La de FLOPs és on el MoE guanya: arriba a la mateixa pèrdua amb menys còmput, i per això s'ha imposat a l'escala alta. La de tokens per paràmetre és on perd: cada paràmetre del MoE veu molt menys text que cada paràmetre del dens, perquè només s'activa quan el router el tria. Amb dades infinites això seria igual; amb dades finites vol dir que un MoE arriba abans al punt on ja no queda text de qualitat per llegir, i és el que el text anomena el mur de dades.
També per això comparar «70B dens» amb «400B totals / 40B actius» no té sentit ni per memòria, ni per cost, ni per qualitat: són tres eixos i cada arquitectura en guanya un de diferent. L'única comparació que vol dir alguna cosa és fixar-ne un i mirar els altres dos, que és exactament el que aquest widget fa amb els FLOPs.
6. Variants i idees relacionades# sense fórmules
- Switch Transformer (Fedus et al., 2021): top-1, el treball que va popularitzar MoE a escala.
- Mixtral 8×7B (2023): el primer MoE obert d'impacte ampli.
- DeepSeekMoE / V3: granularitat fina + experts compartits + balanceig sense pèrdua auxiliar.
- MoD (Mixture of Depths): en lloc de triar experts, decideix quines capes processen cada token — esparsitat en profunditat.
- Upcycling: convertir un model dens ja entrenat en MoE replicant-ne les FFN i continuant l'entrenament. Molt més barat que entrenar de zero.
- Routing a nivell d'expert vs de token vs de seqüència: decisions que afecten estabilitat i eficiència.
Upcycling: un dens que es converteix en MoE
Replica les FFN d'un dens ja entrenat i tindràs un MoE. El dia zero, quanta pèrdua hi guanya — i quant triga a guanyar-ne alguna?
Les dues pèrdues
- el dens
- el MoE (4 experts, top-4)
Les dues corbes arrenquen al mateix punt exacte al moment de la conversió: és la comprovació de dalt, dibuixada. El que passa després és la diferenciació.
| Peça | Què se’n fa | paràmetres |
|---|---|---|
| Embeddings i capa de sortida | es copien tal qual | 3.616 |
| Atenció de totes les capes | es copia tal qual | 8.192 |
| γ de les normes | es copien tal qual | 160 |
| FFN de cada capa | es replica 4 vegades | 16.896 |
| Router | nou, inicialitzat a zero | 256 |
Només una fila canvia de mida, i és per això que la conversió és barata: 41 % del model es copia sense tocar-lo. El router arrenca a zero perquè amb logits iguals la tria és uniforme i tots els experts entren amb el mateix pes, que és la condició que fa la identitat exacta.
Fase 1: entrena el dens. Un Transformer normal amb l'FFN de 88 d'amplada. Quan porti uns quants centenars de passos, prem «Converteix-lo en MoE» i el widget en replicarà les FFN. Cada pas costa uns 28 ms (estimats).
Còpies de l’FFN densa. Cadascuna arrenca sent idèntica a les altres.
Amb k = E la conversió és exacta el dia zero. Amb k < E hi ha un salt, i el widget el mesura.
Quan el botó de conversió s’activa. Com més entrenat estigui el dens, més interessant és el que es replica.
- passos del dens
- 0
- pèrdua · dens
- —
- pèrdua · MoE
- —
- salt de la conversió
- —
- paràmetres
- 28.832
- distància entre experts
- 0
Amb tots els experts idèntics i el router a zero, la barreja és , perquè els pesos de la softmax restringida sumen 1. El MoE és la densa, escrita d'una altra manera i amb — vegades més paràmetres que no serveixen encara de res.
Entrena el dens uns centenars de passos i prem el botó de conversió.
La distància és la norma de la diferència entre cada parella d'experts, normalitzada per la seva mida. Just després de replicar val 0 exacte —són el mateix vector— i puja a mesura que s'entrenen, perquè cada expert rep gradient només dels tokens que el router li envia. Dos experts que veuen tokens diferents divergeixen, i això és tota la història.
Aquí hi ha la lliçó del widget, i val la pena dir-la sencera: el que un MoE hi guanya no és capacitat nova sinó diferenciació. Els paràmetres hi són des del primer instant i no fan res; el que els fa útils és que el router els especialitzi en coses diferents, i això demana entrenament. Per això l'upcycling no és gratis —cal continuar entrenant— però sí molt més barat que començar de zero: el model ja sap llegir, i el que ha d'aprendre és només a repartir-se la feina.
7. Comprova que ho has entès#
0 de 5 resoltes
- Per què un MoE desacobla capacitat i cost computacional?
- Què és el col·lapse del router i com es preveniria de dues maneres diferents?
- Per què un MoE de 400B totals / 40B actius no cap a la teva GPU encara que «només» n'activi 40B? Digues quants GB ocupen els pesos a fp16.GBMarge acceptat: 5 %
- Per què el balanceig sense pèrdua auxiliar pot donar millor qualitat? Entrena les tres estratègies i llegeix la columna de l'impost.
Objectiu:Al widget del col·lapse del router, puja el pes de la pèrdua auxiliar per sobre de 0,1 i entrena: amb l'impost gros, el bescanvi es veu de seguida.
Vés al widget ↑alpha = per defecte · rate = per defecte - En quin escenari triaries un model dens de 70B abans que un MoE amb els mateixos paràmetres actius?
8. Recursos#
Fedus, Zoph & Shazeer (2021), Switch Transformers.
Shazeer et al. (2017), Outrageously Large Neural Networks (l'origen del MoE modern).
DeepSeek-V3 Technical Report (secció de MoE i balanceig).
Cameron R. Wolfe, Mixture-of-Experts (MoE) LLMs — excel·lent repàs didàctic.
Hugging Face, Mixture of Experts Explained (blog).