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
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ó.
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
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.
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
8 especialistes grans, en treballen 2 per token.
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
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.
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
Els tokens de la teva frase (en negreta): tots tenen especialista; la sortida és la de la frase sola.
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
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ó.
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
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
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
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.
Què t'has d'endur#
On som: el viatge d’una pregunta pel model
- 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
- 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?
- Per què, sense res que ho impedeixi, el router acaba enviant-ho gairebé tot a un sol expert?
- 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?