Fint, kort innlegg som illustrerer hvor enkel tekst (diskret) diffusjon kan være. Diffusjon (dvs. parallell, iterert denoising, øverst) er det gjennomgripende generative paradigmet i bilde/video, men autoregresjon (dvs. gå fra venstre til høyre nederst) er det dominerende paradigmet i tekst. For lyd har jeg sett litt av begge deler. Mange diffusjonsartikler ser litt tette ut, men hvis du fjerner den matematiske formalismen, ender du opp med enkle grunnlinjealgoritmer, for eksempel noe mye nærmere flytmatching i kontinuerlig, eller noe sånt i diskret. Det er vaniljetransformatoren din, men med toveis oppmerksomhet, der du iterativt sampler og maskerer alle tokens på nytt i "tokens-lerretet" ditt basert på en støyplan til du får den endelige prøven på det siste trinnet. (Toveis oppmerksomhet er mye kraftigere, og du får mye sterkere autoregressive språkmodeller hvis du trener med det, dessverre gjør det trening mye dyrere fordi du nå ikke kan parallellisere på tvers av sekvensdim). Så autoregresjon gjør en '.append(token)' til tokenlerretet mens du bare deltar baklengs, mens diffusjon oppdaterer hele token-lerretet med en '.setitem(idx, token)' mens du deltar toveis. Menneskelig tanke føles naivt litt mer som autoregresjon, men det er vanskelig å si at det ikke er mer diffusjonslignende komponenter i et latent tankerom. Det føles fullt mulig at du kan interpolere ytterligere mellom dem, eller generalisere dem ytterligere. Og det er en komponent i LLM-stabelen som fortsatt føles litt fungibel. Nå må jeg motstå trangen til å prøve å trene nanochat med diffusjon.