Salta al contingut
Entendre els LLMs
🧭 Camí intuïtiuBloc 430-40 min
IntuïtiuMatemàtic

La versió sense fórmules de 13 · Mixture of Experts (MoE). Cada secció diu on és la seva part matemàtica.

13 · Un hospital d'especialistes

Els models més grans d'avui tenen centenars de milers de milions de paràmetres, i tot i així responen tan de pressa com models deu vegades més petits. No és màgia: per a cada paraula, només en fan treballar una part. Aquest capítol explica com es tria quina part, què es guanya, què es paga, i per què aquesta idea, la Mixture of Experts (MoE), s'ha imposat als models de frontera.

1. Per què no fer treballar tothom#

Imagina un hospital on cada pacient hagués de passar per la consulta de tots els metges: el cardiòleg, la dermatòloga, el traumatòleg, l'oftalmòloga. Seria molt car i, sobretot, inútil: a qui li fa mal el genoll no li cal que li mirin els ulls. Un hospital de debò té una recepció que escolta el pacient i el deriva a un o dos especialistes.

Un model normal, dens, és el primer hospital. Cada paraula passa per tots els paràmetres de cada capa. Si vols un model que sàpiga més, has de fer-lo més gran, i cada paraula costa més de calcular: capacitat i cost van encadenats.

Un model d'experts és el segon. Dins de cada capa, la peça de càlcul (l'FFN, la que al capítol 11 treballava cada paraula per separat) es parteix en molts experts, i una peça petita, l'encaminador (router, que és com l'anomena tothom i com l'anomenarem aquí), fa de recepcionista: per a cada paraula, dona una puntuació a cada expert i en tria uns quants.

La recepció d’un hospital d’especialistes

1/5Arriba una paraula

«gat»recepciórouterexpert 1expert 2expert 3expert 4expert 5expert 6expert 7expert 8

El token «gat» surt de l’atenció i ha de passar per la peça de càlcul. En un model dens, passaria per tota la peça. Aquí, primer passa per recepció.

Les puntuacions són d’exemple. El mecanisme, el de qualsevol MoE: puntuar, triar els millors, fer treballar només aquests i barrejar-ne la resposta.

D'aquí surten dos números que trobaràs a tot arreu: els paràmetres totals, tots els especialistes que té contractats l'hospital, i els actius, els que treballen per a cada paraula. El cas més citat és DeepSeek-V3: 671.000 milions de paràmetres totals i 37.000 milions d'actius.

Els que tens contractats i els que treballen

A la memòria (totals)671,0Per a cada token (actius)37,0part comunaexperts

La part dels experts que treballa per a cada token és una de cada 28. Per això el model sencer queda en 671 contra 37: la part comuna es paga sempre.

Model
Els totals decideixen la memòria: tots els especialistes han de ser a l’edifici. Els actius decideixen el càlcul de cada paraula. Les xifres són les anunciades, en milers de milions; la proporció de cada barra surt de comptar les peces del model.

Fixa't en Mixtral: el nom diu «8×7B» i no són 56.000 milions. Només es multiplica la peça de càlcul; l'atenció i la resta són comunes i es paguen sempre, a les dues barres.

2. Com s'organitza l'equip#

Un cop tens la idea, queden decisions de disseny, i totes s'han anat movent en la mateixa direcció.

Molts especialistes petits millor que pocs de grans. Amb el mateix pressupost, pots contractar vuit especialistes grans i fer-ne treballar dos per pacient, o trenta-dos de petits, d'una quarta part de mida cadascun, i fer-ne treballar vuit. El càlcul per paraula és el mateix, i la memòria també. Però el nombre d'equips diferents que pots formar es dispara, i cada paraula pot rebre una combinació molt més a mida (fine-grained experts).

Un metge de capçalera. Molts models tenen un o dos experts compartits que treballen sempre, a més dels triats. Aprenen el coneixement comú que tothom necessita, i així els altres no l'han de repetir cadascun pel seu compte (DeepSeekMoE).

Pocs especialistes grans o molts de petits

Equips possibles per a un token:28

8 especialistes grans, en treballen 2 per token.

Repartiment
La superfície total és la mateixa (els paràmetres) i la superfície il·luminada també (el càlcul per token). El que canvia és quants equips diferents es poden formar, i amb peces petites es pot fer una combinació a mida per a cada paraula. La tendència dels models recents va clarament cap aquí.

Quants en treballen per paraula. Un sol expert per paraula és el més barat (el Switch Transformer ho feia així). El més habitual és entre dos i vuit: costa més càlcul, però dona més qualitat i un entrenament més estable.

A quines capes. No cal que totes les capes tinguin experts. Sovint s'alternen capes normals i capes d'experts, i les primeres del model solen quedar normals, perquè allà el repartiment és inestable.

3. Quan tothom va al mateix especialista#

Ara ve el problema més seriós dels MoE, i té la forma d'un cercle viciós. Al principi de l'entrenament, els experts són gairebé iguals, però per atzar el recepcionista en prefereix una mica algun. Aquell expert rep més pacients, i per tant aprèn més, i per tant millora. Com que és millor, el recepcionista n'hi envia encara més. Els altres, que no reben pacients, no aprenen res, i per tant cada vegada són pitjors en comparació.

Al cap de poc, un sol especialista ho fa tot i la resta són morts: tens la memòria d'un model enorme i el comportament d'un de petit. Això és el col·lapse del router.

Qui més feina té, més feina rep

01mort02mort100304mort05mort06mort07mort08mort% de la feina de la ronda · especialistes sense feina: 7ratlla discontínua: el repartiment just, 12,5 %

Qui rep una mica més de feina millora una mica més, i el recepcionista l’hi envia encara més. Els que no reben pacients no aprenen res i queden morts: un model amb la memòria de vuit especialistes i la feina d’un.

Balanceig
Una simulació de joguina, no el model del camí matemàtic: reprodueix la realimentació, no les xifres. A la ronda 0 els vuit especialistes només es diferencien per atzar (amb llavor fixa).

Hi ha dues maneres de trencar el cercle:

  • Una penalització per desequilibri (auxiliary loss): s'afegeix a l'entrenament una nota que empitjora quan la feina està mal repartida. Funciona, però és un impost. El model ja no aprèn només a fer bé la feina, sinó a fer-la bé i a repartir-la, i quan les dues coses tiben en direccions diferents, la feina en surt perjudicada.
  • Un suplement per expert (DeepSeek-V3): cada expert té un número que s'afegeix a la seva puntuació només a l'hora de triar. No s'aprèn: es corregeix amb una regla senzilla després de cada pas, amunt si l'expert ha tingut poca feina i avall si n'ha tingut massa. Com que no forma part del que el model aprèn, no li cobra cap impost.

Hi ha una tercera via, més bruta: limitar les places de cada especialista. Per anar de pressa, els tokens de moltes persones es processen junts, en lots, i cada expert té un màxim de tokens per lot. Els que no hi caben passen de llarg pel camí principal, sense especialista (token dropping). Equilibra per força, i té una conseqüència inesperada:

La teva frase depèn de qui té al costat

ordre d’arribada ↓aabbccelelgatgatdormdormexpert 1expert 2expert 3

Els tokens de la teva frase (en negreta): tots tenen especialista; la sortida és la de la frase sola.

Lot
Places per especialista
Per anar ràpid, els tokens de diverses persones es processen junts en un lot, i cada especialista té un nombre de places per lot. Si n’hi arriben més, els que sobren passen de llarg sense especialista (token dropping). Les assignacions són d’exemple. El camí matemàtic ho mesura amb un model de debò: amb places limitades, la sortida de la mateixa frase canvia segons el lot; amb places il·limitades, és idèntica.

La resposta a la teva pregunta pot dependre de qui més estava fent preguntes al mateix moment. No és una suposició: el camí matemàtic posa la mateixa frase en dos lots diferents, i amb places limitades la sortida canvia; amb places il·limitades, coincideix exactament. És una font real de resultats que no es repeteixen quan fas servir un servei.

4. Què vol dir per a les màquines#

Un model d'experts gran no cap en una sola targeta de càlcul (GPU). Els especialistes es reparteixen entre moltes targetes, i això vol dir que cada token ha de viatjar.

Cada token viatja a buscar el seu especialista

1/6Els especialistes viuen repartits

targeta 1E1E2targeta 2E3E4targeta 3E5E6targeta 4E7E8abc

Un MoE gran no cap en una targeta. Cada targeta (GPU) en guarda uns quants: aquí, dues per targeta, vuit en total. Els tokens són on els ha deixat l’atenció.

A l’entrenament i en servir el model, el que costa no és el càlcul dels especialistes: és portar-hi els tokens i tornar-los.

Aquests viatges, dos per cada capa d'experts, són el coll d'ampolla de debò. El càlcul dels especialistes és barat; moure els tokens d'una targeta a una altra, no.

I hi ha l'altra cara de la moneda, la més important per a qui fa servir aquests models. Encara que només en treballin uns quants, tots els especialistes han de ser carregats, perquè fins que no arriba la paraula següent no se sap quin li tocarà.

El mateix càlcul, divuit vegades més memòria

Targetes que calen només per als pesos9 targetes · 671 GBCàlcul per paraula37B: igual als dosPesos per conversa671 GB
Model
Converses alhora
Pesos a 8 bits, un byte per paràmetre, en targetes de 80 GB, i sense comptar-hi els apunts. Els dos models fan el mateix càlcul per paraula, però el MoE necessita tots els especialistes carregats. En un servei amb mil converses, aquesta factura es reparteix; al teu ordinador, la pagues sencera.

Per això els MoE són fantàstics per a un servei gran, on milers de converses comparteixen la mateixa memòria, i dolents per fer-los anar en un ordinador personal amb una sola targeta, on la pagues sencera per a una conversa.

Un últim detall: quan el lot és gran, els tokens es reparteixen entre gairebé tots els experts i s'acaben fent servir tots. El càlcul de cada paraula continua sent el dels actius, però la màquina ha d'anar a buscar pesos a llocs molt diferents de la memòria, cosa que és menys eficient. I es perd un avantatge que el MoE té quan atén poca gent: llegir només els pesos d'uns quants experts. Amb un lot gran, a cada pas s'han de llegir gairebé tots (el capítol 15 explica per què llegir pesos és el que marca la velocitat). Hi ha tècniques per anticipar quins experts caldran i portar-los abans (prefetching).

5. Més aprenentatge pel mateix càlcul, però no gratis#

Les lleis d'escala, que veuràs al capítol 16, descriuen com millora un model quan hi poses més càlcul, més paràmetres o més text. Els MoE hi encaixen d'una manera peculiar.

A igualtat de càlcul d'entrenament, un MoE aprèn més que un dens: té molts més paràmetres per guardar el que aprèn, i cada paraula en paga pocs. Aquesta és tota la seva raó de ser. Però té un preu amagat: per omplir tots aquells especialistes, necessita més text. I el text de qualitat és un recurs que s'acaba, de manera que els MoE acosten més de pressa el moment en què ja no n'hi ha més. A més, la proporció bona entre el nombre d'experts, els paràmetres actius i el text té regles pròpies, diferents de les dels models densos.

Quin és més gran? Depèn de l’eix

Memòria dels pesos (16 bits)dens140 GBMoE800 GBCàlcul per paraula (actius, en mil milions)dens70 MoE40 Text que cal per aprofitar-loMoEmés
Un model dens de 70.000 milions de paràmetres contra un MoE de 400.000 milions amb 40.000 milions actius. A igual pressupost de càlcul, el MoE sol aprendre millor; però ocupa gairebé sis vegades més i necessita més text per aprofitar tots els especialistes. Les dues primeres files són aritmètica; la tercera, sense xifra, és la tendència que es mesura.

D'aquí surt una advertència pràctica: dir que un model «de 400.000 milions» és més gran que un «de 70.000 milions» no vol dir res si un és MoE i l'altre no. Són més grans o més petits en eixos diferents.

6. Variants i parents#

La idea té una història curta i densa:

  • El Switch Transformer (2021) va ser el que va popularitzar els MoE a gran escala, amb un sol expert per paraula.
  • Mixtral 8×7B (2023) va ser el primer MoE obert que va fer servir molta gent.
  • DeepSeekMoE i DeepSeek-V3 van ajuntar les tres idees d'aquest capítol: molts experts petits, experts compartits i el suplement per equilibrar.
  • Mixture of Depths és un parent: en comptes de triar quins especialistes, tria quantes capes treballen cada paraula. Les paraules fàcils se'n salten algunes.
  • Hi ha també decisions sobre qui tria i què es deriva: cada paraula tria els seus especialistes, com en aquest capítol, o són els especialistes els que trien quines paraules atenen, o es deriven frases o documents sencers d'un sol cop.

I una de pràctica i enginyosa: si ja tens un model normal entrenat, el pots convertir en un MoE fotocopiant-ne la peça de càlcul. Se'n diu upcycling.

De dens a especialistes, fotocopiant

1/5Un model dens, ja entrenat

peça de càlculresposta: R

Tens un model normal que ja funciona. La seva peça de càlcul és una sola, i dona una resposta R per a cada token.

Aquesta operació es diu upcycling, «reciclar cap amunt»: aprofitar un model entrenat com a punt de partida d’un de més gran.

Què t'has d'endur#

On som: el viatge d’una pregunta pel model

El model: el mateix bloc, desenes de vegades12× 30 a 80 capesi torna a entrarLa teva preguntaLlegir-la senceraprefill: totes les paraules alhora15Atenció: mirar enrereetiquetes i continguts compartits · fins on mira12 · 14Peça de càlculun sol bloc, o un equip d’especialistes (MoE)13Escriure una parauladecode: triar-la i tornar a començar15Els apuntsKV-cache12 · 15La resposta
Les peces ressaltades són les d’aquest capítol. El número petit de cada caixa diu en quin capítol del bloc s’explica.
  • Un MoE parteix la peça de càlcul en molts experts, i un router en tria uns quants per a cada paraula.
  • Els paràmetres actius decideixen el càlcul de cada paraula; els totals decideixen la memòria. Barat de calcular, car de tenir: bo per a serveis grans, dolent per a una sola targeta.
  • Si no s'equilibra, el router col·lapsa: qui rep feina millora i en rep més, i els altres moren. Es corregeix amb una penalització (que cobra un impost) o amb un suplement per regla (que no).
  • Amb places limitades per expert, la teva resposta pot dependre de quines altres peticions anaven al mateix lot.
  • Les especialitzacions surten soles, i no són per temes com les d'un hospital, sinó més aviat de forma: la puntuació, els números, certs trossos de paraula.

Comprova que ho has entès#

0 de 3 resoltes

  1. Un model té 400.000 milions de paràmetres totals i 40.000 milions d'actius. Vols fer-lo anar al teu ordinador. Quina xifra et diu si hi cap?
  2. Per què, sense res que ho impedeixi, el router acaba enviant-ho gairebé tot a un sol expert?
  3. Fas la mateixa pregunta dues vegades a un servei amb un MoE, amb tota l'aleatorietat apagada, i les respostes no són idèntiques. Quina explicació d'aquest capítol ho pot causar?