Argomenti di tendenza
#
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
perché succede questo? il modello crede che ci sia un'emoji di cavalluccio marino, certo, ma perché questo lo porta a produrre un'emoji *diversa*? ecco un indizio dal tool di interpretabilità preferito da tutti, logit lens!
in logit lens, usiamo l'lm_head del modello in un modo strano. tipicamente, l'lm_head viene utilizzato per trasformare il residuo (lo stato interno accumulato attraverso i livelli del modello) in un insieme di probabilità di token dopo l'ultimo livello. ma in logit lens, usiamo l'lm_head dopo *ogni* livello - mostrandoci quali token il modello produrrebbe se quel livello fosse l'ultimo.
per i livelli iniziali, questo porta a stati difficili da interpretare. ma man mano che ci muoviamo attraverso i livelli, il modello affina iterativamente il residuo prima verso concetti utili per continuare il testo, e poi verso la previsione finale.
guardando di nuovo l'immagine, all'ultimo livello, abbiamo l'output effettivo del modello - ĠðŁ, IJ, ł - ovvero, un prefisso di byte emoji seguito dal resto dell'emoji pesce.
(sembra un nonsense unicode a causa di una stranezza nella tokenizzazione - non preoccuparti. se sei curioso, chiedi a claude di questa riga di codice: `bytes([byte_decoder[c] for c in 'ĠðŁIJł']).decode('utf-8') == ' 🐠'`
ma guarda cosa succede nei livelli intermedi - non otteniamo solo byte emoji! otteniamo quei *concetti*, specificamente il concetto di un cavalluccio marino. ad esempio, al livello 52, otteniamo "cavallo di mare cavallo". più tardi, nei top-k, otteniamo una miscela di "mare", "cavallo" e quel prefisso emoji, "ĠðŁ".
quindi, su cosa sta pensando il modello? cavalluccio marino + emoji! sta cercando di costruire una rappresentazione residua di un'emoji di cavalluccio marino.
perché dovrebbe farlo? beh, diamo un'occhiata a come funziona effettivamente l'lm_head. l'lm_head è una grande matrice di vettori di dimensioni residue associati agli id dei token. quando un residuo viene passato in essa, confronterà quel residuo con ciascun vettore di token e, in coordinamento con il campionatore, selezionerà l'id del token con un vettore più simile al residuo. (più tecnicamente: è uno strato lineare senza bias, quindi v @ w.T esegue prodotti scalari con ciascun vettore di unembedding, poi log_softmax e argmax/campionamento della temperatura.)
quindi, se il modello vuole produrre la parola "ciao", deve costruire un residuo simile al vettore per il token di output "ciao" che l'lm_head può trasformare nell'id del token di ciao. e se il modello vuole produrre un'emoji di cavalluccio marino, deve costruire un residuo simile al vettore per il token di output dell'emoji di cavalluccio marino - che in teoria potrebbe essere qualsiasi valore arbitrario, ma in pratica è cavalluccio marino + emoji, stile word2vec.
l'unico problema è che l'emoji di cavalluccio marino non esiste! quindi quando questo residuo di cavalluccio marino + emoji colpisce l'lm_head, esegue il suo prodotto scalare su tutti i vettori, e il campionatore sceglie il token più vicino - un'emoji di pesce.
ora, quella discretizzazione è un'informazione preziosa! puoi vedere nell'esempio di Armistice che quando il token viene reinserito nel contesto in modo autoregressivo, il modello può dire che non è un'emoji di cavalluccio marino. quindi ci riprova, muove il residuo e ottiene un'emoji leggermente diversa, risciacqua e ripeti fino a quando non si rende conto di cosa sta succedendo, si arrende o esaurisce i token di output.
ma fino a quando il modello non ottiene il token di output sbagliato dall'lm_head, semplicemente non sa che non esiste un'emoji di cavalluccio marino nell'lm_head. presume che cavalluccio marino + emoji produrrà il token (o i token) che desidera.
------------------
per speculare (ancora di più), mi chiedo se questo sia parte del beneficio del RL - fornisce ai modelli informazioni sul loro lm_head che altrimenti sarebbe difficile ottenere perché si trova alla fine dello stack dei livelli. (ricorda che i modelli di base non sono addestrati sui loro stessi output / rollouts - questo avviene solo nel RL.)

164,2K
perché celebriamo il brekyat?
Il brekyat è dove distruggiamo ritualisticamente lo stato ogni anno.
perché il nostro popolo distrugge ritualisticamente lo stato ogni anno?
perché siamo nomadi.
che cos'è un nomade?
qualcuno che vaga.
ma noi non vaghiamo?
ma siamo nomadi, perché viviamo al di fuori dello stato.
i nomadi vivono al di fuori dello stato?
sì, a causa del loro vagare, sono al di fuori del controllo dello stato e periodicamente lo distruggono.
ma noi non vaghiamo?
noi sfuggiamo allo stato ancora di più dei nostri antenati vagabondi - distruggendolo annualmente.
questo non ha senso.
è cultura, non deve avere senso. ora vai a mettere la tua corona d'erba.
2,97K
Principali
Ranking
Preferiti