Populaire onderwerpen
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.

thebes
waarom gebeurt dit? het model gelooft dat er een zeepaardje emoji is, zeker, maar waarom zorgt dat ervoor dat het een *andere* emoji uitspuugt? hier is een aanwijzing van ieders favoriete ondergewaardeerde interpretabiliteitstool, logit lens!
in logit lens gebruiken we de lm_head van het model op een vreemde manier. typisch wordt de lm_head gebruikt om de residu (de interne staat die is opgebouwd over de modellagen) om te zetten in een set token waarschijnlijkheden na de laatste laag. maar in logit lens gebruiken we de lm_head na *elke* laag - wat ons laat zien welke tokens het model zou uitspugen als die laag de laatste laag was.
voor vroege lagen resulteert dit in moeilijk te interpreteren toestanden. maar naarmate we door de lagen gaan, verfijnt het model iteratief het residu eerst naar concepten die nuttig zijn voor het voortzetten van de tekst, en daarna naar de uiteindelijke voorspelling.
als we opnieuw naar de afbeelding kijken, hebben we in de laatste laag de werkelijke output van het model - ĠðŁ, IJ, ł - oftewel, een emoji byte prefix gevolgd door de rest van de vis emoji.
(het lijkt op unicode onzin vanwege een tokenisatie eigenaardigheid - maak je geen zorgen. als je nieuwsgierig bent, vraag claude dan naar deze regel code: `bytes([byte_decoder[c] for c in 'ĠðŁIJł']).decode('utf-8') == ' 🐠'`
maar kijk wat er gebeurt in de middelste lagen - we krijgen niet alleen emoji bytes! we krijgen die *concepten*, specifiek het concept van een zeepaardje. bijvoorbeeld, op laag 52 krijgen we "zeepaardje paard". later, in de top-k, krijgen we een mengsel van "zee", "paard", en die emoji prefix, "ĠðŁ".
dus waar denkt het model aan? zeepaardje + emoji! het probeert een residuele representatie van een zeepaardje emoji te construeren.
waarom zou het dat doen? laten we kijken naar hoe de lm_head eigenlijk werkt. de lm_head is een enorme matrix van residu-grote vectoren die zijn gekoppeld aan token id's. wanneer een residu erin wordt doorgegeven, gaat het die residu vergelijken met elke token vector, en in samenwerking met de sampler, selecteert het de token id met een vector die het meest lijkt op het residu. (technisch gezien: het is een lineaire laag zonder bias, dus v @ w.T doet dotproducten met elke unembedding vector, dan log_softmax en argmax/temperatuur monster.)
dus als het model het woord "hallo" wil uitspugen, moet het een residu construeren dat lijkt op de vector voor de "hallo" output token die de lm_head kan omzetten in de hello token id. en als het model een zeepaardje emoji wil uitspugen, moet het een residu construeren dat lijkt op de vector voor de zeepaardje emoji output token(s) - wat in theorie elke willekeurige waarde kan zijn, maar in de praktijk is het zeepaardje + emoji, word2vec stijl.
de enige probleem is dat de zeepaardje emoji niet bestaat! dus wanneer dit zeepaardje + emoji residu de lm_head raakt, doet het zijn dotproduct over alle vectoren, en de sampler kiest de dichtstbijzijnde token - een vis emoji.
nu is die discretisatie waardevolle informatie! je kunt in het voorbeeld van Armistice zien dat wanneer de token weer in de context autoregressief wordt geplaatst, het model kan vertellen dat het geen zeepaardje emoji is. dus het probeert het opnieuw, schudt het residu een beetje en krijgt een iets andere emoji, spoel en herhaal totdat het zich realiseert wat er aan de hand is, opgeeft, of zonder output tokens komt te zitten.
maar totdat het model het verkeerde output token van de lm_head krijgt, weet het gewoon niet dat er geen zeepaardje emoji in de lm_head is. het gaat ervan uit dat zeepaardje + emoji de token(s) zal produceren die het wil.
------------------
to speculeren (nog meer), vraag ik me af of dit een deel is van het voordeel van RL - het geeft de modellen informatie over hun lm_head die anders moeilijk te verkrijgen is omdat het aan het einde van de laagstapel staat. (vergeet niet dat basis modellen niet zijn getraind op hun eigen outputs / rollouts - dat gebeurt alleen in RL.)

141,87K
waarom vieren we brekyat?
brekyat is waar we elk jaar ritueel de staat vernietigen.
waarom vernietigen onze mensen elk jaar ritueel de staat?
omdat we nomaden zijn.
wat is een nomade?
iemand die rondzwerft.
maar we zwerven niet?
maar we zijn nomaden, omdat we buiten de staat leven.
leven nomaden buiten de staat?
ja, vanwege hun zwervende leven zijn ze buiten de controle van de staat en vernietigen ze deze periodiek.
maar we zwerven niet?
we ontsnappen nog meer aan de staat dan onze zwervende voorouders - door het jaarlijks te vernietigen.
dat slaat nergens op.
het is cultuur, het hoeft niet logisch te zijn. ga nu je gras kroon opzetten.
2,91K
Boven
Positie
Favorieten