ai.vostman.fi
← Tekoälysanasto

Tekoälyn tietosanakirja

MoE: paljon painoja, vain osa käytössä

Asiantuntijamalli (mixture of experts, MoE) ohjaa laskentaa valituille neuroverkoille, joita kutsutaan asiantuntijoiksi (experts). Harvasti aktivoituvassa Transformer-mallin MoE-kerroksessa opittu reititin (router) valitsee kullekin tokenille pienen määrän eteenpäinkytkettyjä asiantuntijaverkkoja. Attention-mekanismi ja muut mallin osat voivat olla yhteisiä.

Näin parametrien kokonaismäärä ja aktiivisten parametrien määrä eroavat toisistaan. Mallissa voi olla monta asiantuntijaa, vaikka yhden tokenin käsittelyssä käytetään vain muutamaa. Seuraava token voi kulkea eri reittiä. Asiantuntija on opittu laskentaoperaatio; nimi ei takaa ihmiselle tunnistettavaa erikoisalaa, kuten matematiikkaa tai historiaa.

Reititin aktivoi kuudesta asiantuntijasta E2:n ja E5:n ja yhdistää niiden tulokset. Muut asiantuntijat ovat olemassa mutta passiivisia tälle tokenille.

Valitse, laske ja yhdistä

Tämä NumPy-funktio reitittää yhden tokenin kahdelle asiantuntijalle. router muuntaa syötevektorin pisteiksi, joita on yksi kutakin asiantuntijaa kohti. Vain valitut asiantuntijafunktiot suoritetaan. Niiden tulokset yhdistetään painoilla, jotka normalisoidaan valitun joukon sisällä. Jokainen asiantuntija palauttaa samanmuotoisen vektorin.

import numpy as np

def moe_token(x, router, experts, k=2):
    scores = x @ router
    selected = np.argpartition(scores, -k)[-k:]
    weights = np.exp(scores[selected] - scores[selected].max())
    weights /= weights.sum()
    return sum(weight * experts[index](x)
               for weight, index in zip(weights, selected))

Todelliset toteutukset käsittelevät tokenieriä ja siirtävät ne laitteille, joilla valitut asiantuntijat sijaitsevat. Reitityskaavat vaihtelevat; tämä esimerkki näyttää valinnan ja painotetun yhdistämisen.

Harva laskenta tarvitsee silti muistia

Passiiviset asiantuntijat eivät laske tämän tokenin tulosta, mutta niiden painojen täytyy olla saatavilla muille tokeneille. Parametrien kokonaismäärä vaikuttaa siksi tallennustilaan ja mallin ajon muistitarpeeseen, vaikka aktiivinen laskenta olisi paljon pienempi.

Reititys vaikuttaa myös laitteiston käyttöön. Jos moni token valitsee saman asiantuntijan, sen laitteesta voi tulla pullonkaula. Koulutuksessa ohjataan käyttöä tasaisemmaksi, ja hajautettu järjestelmä siirtää tokenien esityksiä laitteiden välillä. Asiantuntijoiden lisääminen ei siis tuo malliin kapasiteettia ilmaiseksi.

MoE valitsee käytettävät eteenpäinkytketyt verkot. Attention-mekanismi välittää tietoa tokenien sijaintien välillä. Ne täydentävät toisiaan Transformerissa.

Lähteet