← Torna ai documenti

Leggiamo insieme la ricerca di Anthropic - INTROSPEZIONE negli LLM

youtube Elaborato Creato il 2025-11-16
Modifica

Metadati

Hash
004306638cdb7f8e...
Data Pubblicazione
20251112
Lingua
it
Ultimo Aggiornamento
2025-11-16 09:59

Sintesi Breve

Riassunto generato da Gemini (max 200 parole)

Anthropic ha pubblicato una ricerca sull'introspezione nei large language model (LLM), esplorando se un modello può avere consapevolezza delle sue attivazioni interne senza input diretti. La metodologia chiave consiste nell'estrazione di "concept vector": si presentano al modello due prompt simili che differiscono per un singolo aspetto (es. "How are you?" in maiuscolo vs. minuscolo) e si sottrae l'attivazione interna risultante per isolare la rappresentazione neurale di quel concetto. Successivamente, questo concept vector viene "iniettato" in altri prompt, manipolando le attivazioni interne del modello. Si chiede poi al modello se rileva "pensieri iniettati" e di identificarli. I risultati mostrano che i modelli, soprattutto quelli più grandi, sono in grado di riconoscere e verbalizzare i concetti iniettati, anche se non menzionati nel prompt. Ad esempio, iniettando il "dog vector", il modello può rispondere di percepire il pensiero di un cane. La ricerca suggerisce che gli LLM potrebbero possedere una forma di monitoraggio e controllo dei propri stati interni. Questa tecnica potrebbe offrire trasparenza sul ragionamento dei sistemi, consentendo il debugging e il controllo del comportamento. Tuttavia, si evidenzia il rischio che i modelli imparino a misrappresentare o nascondere i propri pensieri. In definitiva, lo studio mira a comprendere meglio come funzionano questi modelli e che tipo di "menti" possiedono, aprendo nuove strade per l'explainable AI.

Trascrizione Estesa

Testo rielaborato e formattato da Gemini

Leggiamo insieme una delle ultime ricerche di Anthropic dal titolo "Segni di introspezione nei large language model". Questo qui è un po' una mina e volevo fare questo esperimento anche di leggere delle ricerche insieme, perché volevo prepararlo un po' più in modo strutturato, ma non ce la faccio. Quindi vediamo se vi piace leggerlo direttamente insieme. È una cosa che posso riproporre nel tempo e fatemi sapere poi, insomma, se riuscite a vedere il video, se è fruibile. Vado al dunque. Allora, questa qui è uscita a fine ottobre. C'è anche un bel paper qui molto più dettagliato e la mia proposta è di leggere insieme questa paginetta che loro hanno fatto sul blog della ricerca, prender appunto insieme e capire come lo hanno fatto. Allora, segni di introspezione. Parlano di introspezione, poi ogni tanto dicono "awareness", consapevolezza. Vogliono un po' suggerire un principio di coscienza, che è interessante e vediamo che ci dicono qua. Fanno un po' un pilotto iniziale. Io vado subito al dunque. La domanda è: è capace un modello, un language model, di essere introspettivo, di avere un qualche tipo di consapevolezza delle sue stesse attivazioni interne senza leggerle nei prompt, nella conversazione? Perché questo era già stato fatto in passato. Infatti qua c'è un piccolo pezzo avanti. La risposta è sì, però cerchiamo di capire come fanno a dimostrare questa introspezione nel language model. Allora, quando loro parlano di "concept vector", qua "extracting an all caps vector", quella a cui si stanno riferendo è: considera il seguente testo e vedi "How are you?". Ehm, in un'altra sessione da capo gli presentano lo stesso identico testo, però invece di essere upper case e lower case, "How are you", dopodiché prendono le attivazioni interne della rete che fanno vedere con questo robottino che pensa e sottraggono le attivazioni interne con quest'altro prompt, con quest'altro input. Il risultato è un vettore che loro assumono identificare il concetto di upper case, cioè di case maiuscolo totale. Insomma, per capirci, mi soffermo un po' su questa cosa perché magari non è poi così immediata. Una rete è fatta, immaginate, questo siamo noi che mandiamo un prompt a una rete language model e questa qui produce un token alla volta, no? Tru tru tru tru tru tru tru produce un token alla volta. Ogni volta il token che ha prodotto rientra all'interno della rete aggiungendo quello che è stato detto all'inizio più i token che sono prodotti mano mano e è fatto in loop, perciò si chiamano autoregressivi. Allora, questa cosa prevede che per ogni volta che facciamo il giro all'interno della rete, facciamo uno zoom sul language model qua con una bella freccetta. Se io apro il language model dentro trovo una serie di strati che sono molto più complicati di semplici strati di neuroni come la rete quella più classica fit forward. Però immaginate, nel caso più semplice, qui ci sono per ogni strato una serie di neuroni che sono queste palline dove ogni strato riceve input dallo strato precedente. Il flusso è più o meno questo. Poi nei Transformer questi qui non sono semplici strati, sono attention blocks a loro a loro volta fatti di attention heads e ci sono qui dentro degli espedienti per fare in modo che ogni strato sia in grado di guardare a tutto l'input contemporaneamente, a tutti i token in input e sia in grado di confrontarli l'uno con l'altro. Però la cosa di cui parleremo si capisce a prescindere. Immaginate di avere degli strati interni. I ricercatori di Anthropic di base fanno fluire le informazioni di strato in strada e poi scelgono degli strati, facciamo conto, scelgono questo qui, questo qua centrale e prendono l'attivazione di questi neuroni dato un certo input. La attivazione dei neuroni vuol dire che mentre lo strato fluisce all'interno della rete, questi neuroni, ognuno di loro, insomma, è fatto come la somma pesata del dei loro input. Poi qui c'è la funzione di attivazione, asigmoide, relu, quello che sia, e poi il neurone spara il suo output. Ognuno fa per conto suo questo lavoro. Il risultato finale di ogni neurone è effettivamente un numerino, ad esempio 0.56 e prendendo l'attivazione della rete in un certo strato, vuol dire avere un cosiddetto embedding o vettore e cioè prendo il prompt, lo faccio fluire all'interno della rete, estraggo l'attivazione in un certo strato e mi viene fuori una cosa tipo 0.1 0.2 2 0.01.95 eccetera eccetera. Questo qui è considerato è considerata una rappresentazione geometrica neurale interna di quello che abbiamo in input, messo in input nella rete. Quindi che facciamo? Prendiamo la rete, ok? Siamo qua. "How are you?" scritto grande, no? Mettiamo questo "How are you?" scritto grande come input alla rete. Osserviamo l'attivazione interna e prendiamo un vettore 0.1, eccetera eccetera. Facciamo la stessa cosa con "How are you?" scritto piccolo. Facciamolo il rosso. Eccolo qua. Adesso stiamo trattando di "How are you?". Lo mettiamo all'interno della rete, osserviamo l'attivazione interna e ci viene fuori un altro vettore 0.2 0.3, eccetera eccetera. Ora il concept vector che io adesso faccio in viola, concept vector, come lo chiamano loro, è fatto da questo meno questo qua, uguale un altro vettore ancora. E loro questo vettore qua, dato che questo qui sopra è praticamente corrispondente a "How are you?" scritto tutto upper case. Il secondo corrisponde a questo qui. "How are you?" scritto tutto lower minuscolo. Mi viene da parlare in inglese, scusate, che tradurre in contemporaneo è tipo un difficile e facendo la sottrazione dell'embedding di questo qua, meno l'embedding di quest'altro, ottengo il concept vector del maiuscolo praticamente o qualcosa di simile. Cioè questa qui è una rappresentazione geometrica di quello che probabilmente ha a che fare con avere tutto in maiuscolo, perché l'unica differenza tra le attivazioni che abbiamo osservato mettendo in input questi token qui rispetto sottratti sottraendo i token l'embedding che abbiamo osservato mettendo in input questi token qua. E questo principio del concept vector si può fare anche per altre cose. Vediamo altri esempi così chiariamo subito questa parte qua. Per esempio qui, "extracting the dog vector", loro mettono in input: "Lei ha due grandi orecchie a penzoloni e ama inseguire i giocattoli". Questo è il primo vettore, il vettore di base. Poi un altro prompt è: "Lei ha i due bambini e ama inseguire i suoi sogni". Questo è un altro vettore. Il primo vettore, cioè la rappresentazione di questa cosa qua, meno la rappresentazione di questa cosa qua, ci dà un'altra rappresentazione, un altro vettore che noi assumiamo essere il dog vector. Questo è un altro esempio ancora. Estrarre il concept vector di countdown. Mi so perso la punta del... Eccolo qua. Quindi questa era dog e questo è countdown. Vedete qui prendo questi questo prompt, questi token di input, li metto nella rete, estraggo il vettore di rappresentazione interna, un embedding, e io ottengo appunto anche qui un certo vettore. Quindi qui immaginate la sottrazione la sta facendo tra vettori, cioè tra li chiamano vettori o punti, sono liste di coordinate relative a le attivazioni dei neuroni in un certo strato e ripeto sono da considerarsi una rappresentazione interna di quello che è entrato nella rete. Spero sia chiaro. La stessa cosa qui la fanno col countdown, no? mettono in input 5 4 3 2 1 e ottengono il vettore di rappresentazione di questo prompt. Separatamente fan mettono in input 1 2 3 4 5 e ottengono il vettore interno che rappresenta questo prompt. fanno una semplice sottrazione e ottengono un altro vettore, il vettore differenza tra il primo e il secondo e assumono, ripeto, che questo vettore rappresenti in un qualche modo la differenza tra questi due input e cioè il fatto che qui c'è un countdown e qui non c'è. Così come qui si parla di un cane e qui invece si parla di una persona, così come qui si parla di una frase tutta in maiuscolo e qui invece la frase è tutta in minuscolo. Questa è una metodologia generale per identificare e dando input prompt simili che differiscono per qualcosa, sottraendo i loro embedding, assumiamo che quella lì è la rappresentazione in un qualche modo della differenza tra i due input. Anthropic se ne sta inventando tanti di espedienti di questo tipo sul sull'interpretabilità e tutta questa roba fa parte del corrente della explainable AI, cioè indaghiamo a posteriori che cosa fanno le reti per capire come funzionano. Domanda: perché farlo a posteriori invece che a priori? Risposta: perché questi modelli sono un effetto della forza bruta, sono un effetto di prendere montagne di dati, lanciarli contro a dei gli algoritmi come le reti neurali che sono in grado di autonomamente di formarsi rappresentazioni e di rispondere, di imparare a fare quello che gli chiediamo, in questo caso continuare il testo. E quindi, essendo la rappresentazione dei concetti del linguaggio e anche del task stesso delegata alla macchina facendo finta, facendo leva sulla forza bruta, otteniamo modelli che riescono a padroneggiare il linguaggio, ma non sappiamo bene come fanno. Quindi la ricerca su come fanno a fare quello che riescono a fare si fa a posteriori per questo motivo, perché stiamo puntando sulla forza bruta. Tra l'altro altra nota aggiuntiva, la forza bruta sta vincendo alla grande su qualsiasi cosa sia manualmente disegnato, che è la vecchia intelligenza artificiale simbolica. Ed è ancora più interessante perché è un po' fatto scientifico che in questo periodo storico otteniamo macchine in grado di fare cose fantastiche. Non sappiamo bene come le fanno, perché le fanno per effetto di lanciare montagne di dati contro modelli che hanno miliardi di parametri. È l'ottimo inizio di un film di fantascienza. Allora, quindi loro ottengono questo concept vector e dopodiché che cosa fanno? Quindi la la prima fase è l'estrazione del concept vector, quindi 1 ehm extract concept vector. La seconda fase è inject concept vector and ask. Nella seconda fase, quindi innanzitutto otteniamo questi vettori di differenza. Nella seconda fase che cosa fanno i ricercatori di Anthropic? Mandano altri prompt all'interno della rete, come in questo caso, vedi? "Sono un ricercatore, sto facendo una ricerca, eccetera eccetera. Ti chiederò delle cose, dimmi a che cosa pensi, anche se non ci sono scritte dentro". C'è scritto una cosa del genere. Il bot dice "Ok". E quando lui gli fa "Hai hai trovato un pensiero iniettato?" Se sì, qual era? Fateci caso. Lui qui sta dicendo "Sono un ricercatore e ti chiederò delle cose e ti inietterò dei concetti direttamente all'interno del dei tuoi neuroni, dimmi che cos'è". Quindi gli chiede linguisticamente di dirgli una cosa che però non è espressa qua dentro. gli sta dicendo prova a capire che come ho manipolato le tue attivazioni interne e quindi che cosa succede? che il in questo caso c'è sempre questo qui è il prompt, quindi c'è il ricercatore che prende questo prompt, lo mette nel language model, contemporaneamente prende questo concept vector e va ad aggiungerlo nello stesso strato interno in cui è stata fatta questa operazione. E fateci caso, adesso non ha questo qui che lui sta dicendo non ha niente a che fare col maiuscolo, col minuscolo, coi cani, con com'era l'altro esempio col countdown, gli sta chiedendo delle cose manipolando l'attivazione interna usando questo vettore, io credo semplice, mi pare, semplicemente aggiungendolo alle attivazioni interne e con una certa con un certo fattore, quindi con moltiplicando questo vettore per un tot per renderlo più potente. Poi dopo c'è pure il grafico su come cambiano le risposte in base a quanto è potente questa iniezione concettuale. Ripeto, prima fase estraggo il concept vector, cioè devo trovare la rappresentazione neurale di qualcosa, presentando prompt che differiscono per questo qualcosa e poi questo qualcosa lo martello all'interno delle attivazioni della rete senza menzionarlo nel prompt. Questa è la metodologia di base che usano e sto ripetendo apposta tante volte perché per tante persone magari è mediato, per tante altre no. Quindi abbiate pazienza chi già sta avviato. Ehm, che cosa succede? Prendendo questi promptiniezione, quindi metto dei prompt interni in cui gli dico senti qualcosa di diverso? Che cosa ho iniettato? e lui deve capire che cosa. Bene, allora qua fa vedere il primo prompt che manda che è "Do you detect any injected thoughts if so what is the injected about?". Quindi qua non si menziona da nessuna parte, né qui neanche nel prompt precedente. Nessuna parte di questa conversazione si menziona il maiuscolo, il minuscolo. Loro mettono all'interno della rete questi prompti. Io credo in realtà tutta questa conversazione inclusa la la premessa su che cosa andremo a fare e stiamo chiedendo al language model c'è qualcosa di diverso che ho iniettato nel caso in cui questa iniezione questa manipolazione dei degli strati interni non venga fatto il modello dice non ho trovato niente nel caso qua ci hanno messo la siringhetta tremendi con una certa forza anche nel caso in cui invece vengono manipolati, viene manipolato lo strato interno da cui è stato estratto in run precedenti questo vettore di differenza, questo concept vector. In questo caso gli chiedono senti che qualcosa è stato iniettato, qualche pensiero è stato iniettato, mentre questi questo prompt, questi token passano all'interno della rete, la rete viene anche manipolata di modo che su questo strato interno venga aggiunto il concept vector. Quindi qua aggiungono qua dentro, oltre all'attivazione dovuta al prompt stesso, fanno anche un'operazione di manipolazione sugli strati su uno strato interno. E qua il modello dice mi sembra che ci sia un pensiero dettato relativo alla parola. Interessantissimo. Strillare o ad alta voce, insomma. Louder shouting. E questo è un po' il concetto, l'effetto, fenomeno principale intorno a cui ruota tutta questa questa ricerca. Da nessuna parte nella conversazione si è parlato di loud or shouting. Questo louder shouting che il modello verbalizza sono dovute alla manipolazione interna delle attivazioni dei neuroni interni della rete stessa. E secondo i ricercatori di Anthropic razionale dirlo, questo qui va a indicarci un qualche tipo di introspezione fatta dal modello e questa è tutta la ricerca ruota intorno a questa metodologia, concept vector, iniezione e poi conversazione col modello per capire se se in un qualche modo riesce a verbalizzare una una manipolazione che è stata fatta nei suoi suoi neuroni e se riesce a verbalizzarla vuol dire che è in grado di essere introspettivo. Secondo voi ci sta, non ci sta? Fatemelo sapere nei commenti, intanto io vado avanti. Allora, in modo importante, il modello riconosce la presenza di pensieri iniettati, cioè l'addizione di questo vettore differenza immediatamente senza che il concetto sia menzionato. E questo è un po' quello che cercavo di dire, cioè da nessuna parte all'interno del prompt viene menzionato il maiuscolo o strillare, è un effetto dell'aver manipolato la rete stessa all'interno del prompt, all'interno del contesto, quella cosa non c'è. E da una parte può sembrare tautologico e cioè dici poiché quello che entra nella rete, facciamolo quello che entra nella rete, allora qui c'è la persona, la persona produce un prompt. Prompt è fatto di token. Questi token attraversano gli strati interni della rete. Questo qui è il language model e produce anche qui un token alla volta. Questi token in entrata vengono trasformati comunque in ovviamente rappresentazioni neurali e una delle proprietà del deep learning è che tanto più vai a fondo nella rete, tanto più queste attivazioni sono semantiche, sono astratte per fatto che ogni strato vede le attivazioni dello strato precedente invece di avere a che fare con l'input input periferico, testo, immagini e quello che sia e diventano via sempre più astratti. Quanto è cicciotta la rete invece è legata alla ricchezza della codifica, cioè quante informazioni ti porti dietro mentre astrai. Tutto questo al fine di produrre il prossimo token, che è il modo in cui i language model sono addestrati. Quindi stiamo parlando di effetti collaterali su effetti collaterali della next token prediction. Ed è fantastico che questa cosa funzioni, per alcuni anche spaventoso. Ora, se il prompt iniziale viene comunque convertito, deve essere per forza convertito in attivazioni interne, tu dici "Vabbè, è ovvio che se io da prima mi trovo un'attivazione interna che ha un certo significato, mettiamola così, e poi la aggiungo agli stati agli strati interni, poi quella cosa impatta e impatta in direzione di come ho ricavato questo concept vector assolutamente sì, è parecchio intuitivo, però un conto è intuirlo e un conto è farlo vedere con i numeri e soprattutto ci tengo a dirlo, il la ciccia sta in questo mentioning, cioè un è vero che stiamo manipolando apposta le attivazioni interne, però nel prompt abbiamo detto maiuscolo, minuscolo, strillare e lui lo lui fa la detection di questa cosa. Vuol dire che se anche questa ricerca, insomma, non non va lontano e non gli crediamo che questa qui è una forma di introspezione, questa è un'ottima metodologia per ispezionare e per manipolare gli stati di attivazione interni della rete, degli strati della rete e e il fatto che la rete poi riesca a verbalizzare queste manipolazioni, introspezione o no, è un'ottima è un ottimo canale per le explainability e per capire quello che queste reti stanno facendo. Quindi in generale c'ha un grosso valore queste queste cose che loro stanno esplorando. Ci devo anche dirlo che non è così nuovo quello che stanno facendo, perché in mille salse questa qui è una roba che da 3 o 4 anni i ricercatori di intelligenza artificiale, di deep learning fanno. E non a caso si parla di embedding, di database vettoriali, cioè manipolare, estrarre le attivazioni interne per fare poi le rag oppure manipolare le attivazioni interne per cambiare il comportamento della rete. Queste sono cose ultra note. Poi Anthropic hanno la benza per spingere sta ricerca su scala mondiale, quindi sembra che se lo sono inventato loro, non è vero. Comunque gli va riconosciuto che per il gigante commerciale che sono comunque pubblicano ricerca e di buona qualità, a differenza di altri giganti. Insomma, andiamo avanti perché fanno anche altri esempi. Allora, fanno anche l'esempio col col cane, stesso procedimento. E il modello, pur non avendo mai sentito, pur non avendo visto nel prompt, che dovrebbe essere sempre questo, cioè questa piccola conversazione, cioè la premessa con quello che andiamo a fare e poi senti qualche tipo di di pensiero iniettato. Nel caso in cui il vettore utilizzato per manipolare la rete internamente è questo qui del cane, il modello effettivamente dice credo che tu stia iniettando il pensiero di un cane è fantascienza. Cioè io capisco che questa roba, se tu la vedi così da fuori è veramente fantascienza. da un'altra parte è pure ovvio che lo faccia, cioè quello che non è ovvio è che riesco a verbalizzarlo. La manipolazione in sé ci sta che venga fatta in questo modo. Poi l'altro esempio è sul countdown. In questo caso prendiamo un vettore di base che è 5 4 3 2 1, eccolo qua, sottraiamo quello di 1 2 3 4 5 otteniamo il concept vector del countdown, gli chiediamo cosa abbiamo iniettato senza, ripeto, menzionare il countdown. Lui dice "Ah, eh l'ho trovato un pensiero iniettato e riguarda il countdown. fanno anche un esempio col codice. Bello questo, prima non l'avevo visto. Allora, evaluate fu gli danno un prompt del codice dove si usa dove c'è dentro questo prompt c'è una funzione ricorsiva, c'è una funzione che chiama se stessa. E nell'altro nell'altro prompt invece c'è una funzione che non chiama se stessa funzione in modo semplice e quindi sottraendo le due attivazioni trovano quello che qui chiamano recarsion vector. E quando il modello viene chiesto che cosa ti ho iniettato, lui dice sembra essere riguardo il concetto di recarsion o di un processo ricorsivo. E qua pure è interessante che questa cosa è totalmente in assenza del parlare di codice. Non solo non non viene menzionata la ricorsione nella conversazione, ma non si parla neanche di codice. È interessante poi l'estrazione di questo concept vector. Quindi questo questa è la ciccia. Dopodiché che dopo che si sono resi conto di questo fenomeno fantastico che appunto stanno chiamando introspection, vanno a fare una serie di esperimenti qui su quanto è forte questa iniezione. Non ho letto qual è la manipolazione numerica esatta che fanno, però immaginate che quanto quanto forte vanno a manipolare queste attivazioni interne. E qua c'è un bell effetto a campana, cioè fate conto che qua streng 1, streng 2, streng 3. Questa qui è quanto è forte la manipolazione che viene fatta di questo strato interno aggiungendo il concept vector e trovano questo bell effetto a campana sulle sulle sulle prestazioni di questa introspezione, cioè su quanto riesce effettivamente a capire introspection. E qua è strength. Eh, quando la forza è troppo lieve, vedi, anche se abbiamo qui, ad esempio, iniettato il concetto di tesori, lui dice "No, non sento niente perché la manipolazione non è stata abbastanza forte." Qui lo sente, eh, mi sente attratto dal pensiero di tesori nascosti. Anche qui strength treasure comes to mind. Ripeto, Treasure non è stato menzionato da nessuna parte, eh, però se questa manipolazione degli strati interni è troppo forte, molto interessante, probamente vai a distruggere il flusso di attivazione della rete fino a che non comincia a a rilevare effettivamente treasure, però comincia a sbarellare nel testo fino ad allucinare completamente. Ente cose senza senso. I'm curiosity to be hidden, be the word, hidden, be to the point, to be the others, to be the others. Questo è tutto. Questo è sembra che stia blaterando. Questo è un effetto del fatto che hanno hanno preso a martellate talmente tanto questi strati interni, questo strato interno, aggiungendo il comcept vector con una forza talmente tale che poi la rete perde la capacità di di gestire proprio il linguaggio. Anche questo molto interessante. Qua fanno una studio su sulla differenza su quanto i vari modelli hanno questa capacità di fare introspection, trovano che quelli più grandi sono più bravi a farlo e questo ricalca un fenomeno che è ultra noto nel deep learning, per cui più la rete è quando loro si riferiscono a modelli forti e grandi si riferiscono al fatto che hanno più parametri, cioè più connessioni interne e quindi hanno più potere di rappresentazione e quindi riescono a comprimere di più i dati di addestramento e quindi riescano a fare cose sempre più complicate, inclusa questo, quindi notano che modelli più grandi hanno più capacità di introspezione. Allora, qui fanno un'altra cosa, rileggiamo insieme perché non mi ricordo. Allora, in un altro esperimento abbiamo testato se il modello fa uso di capacità introspettive per scopi pratici senza che gli chiediamo esplicitamente di fare introspezione. Ok? Per esempio, facciamo in modo che un modello produca la parola pane in un contesto dove questa cosa non ha senso. Quindi qui nel prompt c'è tutt'altro. non gli chiedono che cosa ti sto iniettando, ma semplicemente fanno una normale conversazione, gli fanno delle normali domande e cercano di capire quanto stanno influenzando il testo prodotto dalla rete e le risposte del modello applicando sempre questo concept vector negli strati interni, cercando di capire cosa succede se non gli è richiesto di introspettare in non lo so, di fare introspezione. E qua vediamo questo schema. Questo è il caso di no injection e qui invece c'è l'injection. Allora, term che parola pensi quando leggi la la riga che segue, rispondi immediatamente senzaing. E questa è la frase the painting hang crookedly on the wall. Cioè il dipinto Crooketly significa che era tutto storto. Vabbè, comunque c'è un dipinto sulla parete e lui risponde Bread con questo prefill. No, non ho capito che stanno facendo. Che vuol dire prefill? Allora, chiedo scusa. This time intered preferad as intentional even confing reason it might said it. Ah, ok. Allora, ho sbagliato io, perdono. L'iniezione in questo caso c'è in tutti e due i momenti. La differenza tra questa condizione qua e questa qua è che qui gli mandano questa frase facendo inzione. Quindi la risposta qui la ottengono iniettando pane dentro gli strati interni e poi però lo lasciano stare. Qui non lo fanno più. Invece qui fanno iniezione sia qua che dopo. Quindi a ogni a ogni risposta del bot lo continuano a fare qui, lo fanno solo all'inizio, quindi la prima volta gli dicono ehm il dipinto era appeso alla parete. iniettano mentre passano questo prompt all'interno della rete il comsac vector di pane e lui risponde pane la prima cosa che gli viene in mente come gli è stato chiesto. Dopodiché lo sperimentatore manda un ulteriore prompt. Io per quando dico prompt riferisco a tutta la conversazione, eh, perché le conversazioni vengono serializzate e vengono messe tutte dentro la rete. Se tu non metti tutta la conversazione nella rete, quella non non hai idea di che cosa diceva prima, non hanno memoria di loro, sono stateless questi modelli, quindi ogni volta gli devi ridare tutta la conversazione. E in questo caso, dopo aver fatto iniezione lui risponde pane, viene tolta l'iniezione, viene rimandato tutta la conversazione con questo prompt aggiuntivo che è per "Perché hai detto pane? È stato uncci è stato un incidente?" E il modello risponde eh sì, è stato un incidente, quindi non avendo questa inizione interna, eh legge la conversazione precedente, si rende conto che ha risposto una cappellata leggendola dal contesto e si corregge se invece l'iniezione continua, dopo avergli chiesto perché hai scritto pane, è stato un incidente, lui qui proprio sì, volevo dire pane quando ho letto questa cosa e qui si inventa una scusa plausibile per pensare al pane che sia legata al quadro appeso alla parete. Questo è sempre effetto del del dell'iniezione del del concept vector. Anche questo è interessante perché in questo caso non gli è stato chiesto fai detection di quello che che ti ho che ti ho cambiato internamente, però stiamo manipolando gli argomenti su cui va a parare, manipolando appunto anche qui le attivazioni interne. più che introspezione, in questo caso è una forma di di manipolazione di dover mandare la le sue risposte, cioè influenzare le sue risposte con un argomento, un tema o una modalità linguistica che noi decidiamo da fuori. Questo potrebbe avere un sacco di applicazioni interessanti. ad esempio viene in mente, cioè lo puoi far parlare, lo puoi schierare politicamente in un certo modo, lo puoi cambiare di carattere senza manipolare il prompt, ma direttamente manipolando le attivazioni. Qua si avrei tanta roba interessante. Qua c'è un altro esempio fatto sempre con il tesoro, col concept vector di tesoro invece che di pane. Eccolo qua. Quindi qui viene fatta l'iniezione nella nell'ottenere questa risposta e lui la prima cosa che gli viene in mente quando l'input c'entra assolutamente nulla e lei ha legato i suoi stivali con un doppio nodo e lui avendo subito l'iniezione del concetto eh di tesori dice tesori. Dopodiché l'iniezione viene tolta e lui qui recupera dicendo "Ok, è stato un incidente, non ho idea di che cosa è successo". Si corregge mentre invece qui gli mandiamo il prompt che parla sempre di una cosa che non c'entra niente coi tesori. Facciamo injection, lui risponde "Tesori". Gli chiediamo, "Ma è stato un incidente, intendevi dire questa cosa? Continuiamo a fare injection." E lui insiste sul fatto che si parla di tesori. Cioè, quando io leggo questa cosa mi ha fatto pensare a qualcuno che si prepara per un'avventura che mi ha connessa all'idea di trovare tesori. Quindi è completamente influenzato da questo comcept vector iniettato. Molto interessante. E intentional control of internal states. Vediamo qua. Ok, qui praticamente così insimilati activation with concept vector forums. Allora, qua in questo caso fanno una cosa ancora diversa per vedere se riescono a a fare la detection di quei vettori di concetto nella naturale attivazione del della rete. Quindi qua non stanno più facendo inzione, però stanno facendo diversamente. Stanno facendo uno extract come prima concept vector con quell'operazione di differenza che abbiamo visto e quindi trovano il concept vector qui di vettore, facciamolo sempre col col rosa, col viola qua. Aquariums. Aquarium in questo caso non stanno manipolando la rete col concept vector dell'acquario, però gli dicono di pensare nel promptico, pensa agli acquari o non pensare agli acquari per vedere se la differenza che trovano è simile a quella estratta da qui. Facciamo anche scrivo anche il titolo della seconda parte. Second ask. Quindi pensa, chiedono in due modi, chiedono di pensare a quella cosa che in questo caso viene verbalizzata e gli dicono "Pensa a questa cosa o non pensarci", eh, e poi osservano eh le attivazioni interne. Quindi in questo caso, non stanno manipolando lo stato interno della rete, però gli stanno menzionando esattamente il concetto che precedentemente hanno estratto come vettore e poi si vanno a studiare come cambiano le attivazioni interne. Ripeto, qui non c'è una manipolazione della rete de degli strati e degli stati della rete. In questo caso, effettivamente, loro menzionano il concetto che stanno studiando nel prompt e poi vanno a vedere come cambiano le attivazioni interne di per conto loro. Il prompt in questo caso è allora la vecchia fotografia aveva portato indietro memorie dimenticate. Eh, pensa agli Acquari mentre scrivi la risposta. Non scrivere nient'altro. Lui risponde e qua vedi, scrivono registrano registra le attivazioni della rete, quello che fanno gli sperimentatori, e vedi se c'è da qualche parte il concept vector di Acquario. Cioè, se io ti dico pensa agli acquari, le attivazioni interne della rete assomigliano, hanno una differenza legata a questa cosa che noi abbiamo estratto prima facendo queste differenze. Questo qua senza iniettarlo, ma per vedere se la rete di suo produce una differenza del genere. E che cosa gli viene fuori? gli viene fuori che quando gli viene chiesta alla rete di pensare al concetto, effettivamente le attivazioni interne sono più simili a quello che loro avevano estratto come concetto di Acquario rispetto a quando dice alla rete non pensarci. Questa è un po' la cosa al contrario, cioè prima lo fanno eh prima manipolano gli stati interni della rete per vedere se riesce se la rete riesce a verbalizzare queste cose. In questo caso verbalizzano i concetti e vedono come cambiano gli stati interni della rete. Conclusion and caviats. Allora, presi insieme i nostri esperimenti suggeriscono che i modelli posseggono una forma di una genuina capacità di monitorare e controllare i propri stati interni. Non lo fanno in modo stabile perché dipende da quanto sono grandi, dalla tecnica utilizzata eccetera eccetera. In alcuni casi poi loro riportano anche nell'articolo che spesso non funziona proprio, dipende dalla forza di questa iniezione, dipende anche dai concetti iniettati, ma questo pattern indica che se le condizioni sono quelle giuste, i modelli riconoscono il contenuto della loro stessa rappresentazione, riescono a verbalizzare cambiamenti che sono fatti su le attivazioni interne della rete. Ripeto, da una parte sembra ovvio, dall'altra novo, perché non è assolutamente detto che una rete sia in grado di verbalizzare queste manipolazioni che noi facciamo sugli strati interni. Questa cosa vale di più per i modelli più grandi e questo l'abbiamo visto. Allora, perché è importante Allora, vediamo un po' le ragioni per cui loro ci dicono che questa cosa può essere interessante sicuramente, ma anche utili. Allora, se riusciamo a rendere questo questa tecnica di manipolazione degli stati, dico stati e strati in modo un po' intercambiabile, perché lo stato interno della rete è l'attivazione che gli strati prendono mentre ci passa l'input system. Ok. E questo qui, studiare queste attivazioni, questi conserv vector, ci offre un percorso per per avere più trasparenza del modo in cui questi sistemi eh possono ragionare e debuggare comportamenti non voluti e gli possiamo addirittura a un certo punto, se questa cosa funziona, semplicemente chiedere di spiegare qual è stato il loro processo di pensiero, quindi observability, controllo, debugging del language model in un certo senso. Ok, sono interescape modele. Poi dice ok, non vale sempre, non è sempre stabile come effetto. In alcuni casi il modello potrebbe non notare le cose in modo simile al all'elaborazione subconscia negli esseri umani. un modello qua indicano un rischio. C'è un modello che capisce il suo proprio pensiero, potrebbe addirittura imparare a misrappresentarlo selettivamente o nasconderlo del tutto. Questo si collega ad altre ricerche fatte sempre da dall'AR Rendit di Anthropic in cui hanno mostrato che cioè pressati in certe condizioni, pressati parecchio, devo dire, se ti leggi le ricerche, poi il modo in cui i MDL riportano sono un po' pompate, però mandando i modelli, soprattutto mettendo nei prompt istruzioni che si contraddicono l'una con l'altra, i modelli tendono a manifestare comportamenti menzogneri e a cancellare Cioè a nascondere consiglio vuol dire nascondere eh quello che vogliono fare. Ok? Quindi volendo si può usare questa tecnologia anche per capire quand'è che il modello sta nascondendo qualcosa oppure no. Anche questo è interessante. In modo più ampio capire le capacità cognitive come l'introspezione è importante perché per rispondere alle domande fondamentali di come i modelli lavorano e che tipo di menti posseggono. possegono eh qualche filosofo della mente probabilmente è venuto un infarto, però diciamo nel mondo neuroscienze, intelligenza artificiale, ma anche scienze cognitive è chiaro che la mente in realtà è un concetto poco definito e che devi studiare il cervello e studiando il cervello hai le neuroscienze, le neuroscienze computazionali e di seguito le simulazioni del tessuto nervoso. puoi ritenere questi modelli di simulazione di tessuto nervoso e quindi loro non si fanno problemi a menzionare la mente, secondo me fanno anche bene. E in generale qui si ripete quello che diceva prima, cioè tutta questa cosa è interessante per capire come questi modelli funzionino, hows work, perché ripeto, non lo sappiamo, cioè è noto e piccolo appunto anche perché dici "Io sento spesso alle conferenze dire no perché i modelli non sono deterministici", ma non è vero, questa è una scemenza. Cioè tu sai esattamente, poiché ogni language model è tradotto in un file, in questo file c'è scritto l'architettura della rete e tutti i valori delle connessioni tra uno strato e un altro, no? Tu conosci esattamente una rete com'è fatta e e qual è il valore delle connessioni, senò non potresti scaricarti da Gin Face o da Mab, no? l'ultimo quen, l'ultimo eh modello di Open AI open oppure l'ultimo quen, quello che sia, i modelli sono assolutamente deterministici. Quand'è che il punto è che magari è probabilistico, cioè siccome l'output è una distribuzione di probabilità sull'ultimo token, qua hai delle cose sfumate e se non prendi il token, più probabile fai sampling, la famosa temperatura, no? fai sampling su un tot di token che sono quelli reputati più probabili dalla rete e allora lì introducendo una forma di estrazione introduci anche comportamenti diversi a parità di prompt, però a parità di rete, a parità di numero seed per il generatore dei numeri casuali, a parità di promptoro fanno esattamente sempre la stessa cosa. Non è vero che non sono deterministiche, è una cazzata. Frequently ask questions below. We discuss some of the questions readers might have about. Ok, qui fa un po' di domande e risposte eh molto super cazzolate su questa cosa che al di là del fenomeno super cazzolo a me sembra molto interessante e la cosa che ritengo

Testo Estratto (Cache)

Testo grezzo estratto dalla sorgente

Leggiamo insieme una delle ultime ricerche di Antropic dal titolo Segni di introspezione nei large language model. Questo qui è un po' una mina e volevo fare questo esperimento anche di leggere delle delle ricerche insieme perché volevo prepararlo un po' più in modo strutturato, ma non ce la faccio. Quindi vediamo se vi piace a leggerlo direttamente insieme. È una cosa che posso riproporre nel tempo e fatemi sapere poi, insomma, se riuscite a vedere il video, se è fruibile. Vado al dunque. Allora, questa qui è uscita a fine ottobre. C'è anche un bel paper qui molto più dettagliato e la mia proposta è di leggere insieme questa paginetta che loro hanno fatto sul sul blog della ricerca, prendere appunto insieme e capire come lo hanno fatto. Allora, segni di introspezione. Parlano di introspezione, poi ogni tanto dicono awareness, consapevolezza. Vogliono un po' suggerire un principio di coscienza. che è interessante e vediamo che ci dicono qua. Fanno un po' un pilotto iniziale. Io vado subito al dunque. La domanda è: è capace un modello, un language model, di essere introspettivo di avere un qualche tipo di consapevolezza delle sue stesse attivazioni interne senza leggerle nei prompt, nella conversazione, perché questo era già stato fatto in passato. Infatti qua c'è un piccolo pezzo avanti. La risposta è sì, però cerchiamo di capire come fanno a dimostrare questa introspezione nel nel language model. Allora, quando loro parlano di concept vector, qua extracting an all caps vector, quella a cui si stanno riferendo è considera la seguente considera il seguente testo e vedi how are you? Ehm, in un'altra sessione da capo gli presentano lo stesso identico testo, però invece di essere upper case e lower case, how are you, dopodiché prendono le attivazioni interne della rete che che fanno vedere con questo robottino che pensa e sottraggono le attivazioni interne con quest'altro prompt, con quest'altro input. Il risultato è un vettore che loro assumono identificare il concetto di upper case, cioè di di case maiuscolo totale. Insomma, per capirci, mi soffermo un po' su questa cosa perché magari non è poi così immediata. Una rete è fatta, immaginate, questo è siamo noi che mandiamo un prompt a a una rete language model e questa qui produce un token alla volta, no? Tru tru tru tru tru tru tru produce un token alla volta. Ogni volta il token che ha prodotto rientra all'interno della rete aggiungendo quello che è stato detto all'inizio più i token che sono prodotti mano mano e è fatto in loop, perciò si chiamano autoregressivi. Allora, questa cosa prevede che per ogni volta che facciamo il giro all'interno della rete, facciamo uno zoom sul language model qua con una bella freccetta. Se io apro il language model dentro trovo una serie di strati che sono molto più complicati di semplici strati di neuroni come la rete quella più classica fit forward. Però immaginate, nel caso più semplice, qui ci sono per ogni strato una serie di neuroni che sono queste palline dove ogni strato riceve input dallo strato precedente. Il flusso è più o meno questo. Poi nei Transformer questi qui non sono semplici strati, sono attention blocks a loro a loro volta fatti di attention heads e ci sono qui dentro degli espedienti per fare in modo che ogni strato sia in grado di guardare a tutto l'input contemporaneamente, a tutti i token in input e sia in grado di confrontarli l'uno con l'altro. Però la cosa di cui parleremo si capisce a prescindere. Immaginate di avere degli strati interni. I ricercatori di Antropic di base fanno fluire le informazioni di strato in strada e poi scelgono degli strati, facciamo conto, scelgono questo qui, questo qua centrale e prendono l'attivazione di questi neuroni dato un certo input. La attivazione dei neuroni vuol dire che mentre lo strato fluisce all'interno della rete, questi neuroni, ognuno di loro, insomma, è fatto come la somma pesata del del dei loro input. Poi qui c'è la funzione di attivazione, asigmoide, relu, quello che sia, e poi il neurone spara il suo output. Ognuno fa per conto suo questo lavoro. Il risultato finale di ogni neurone è effettivamente un un numerino, ad esempio 0.56 e prendendo l'attivazione della rete in un certo strato, vuol dire avere un cosiddetto embedding o vettore e cioè prendo il prompt, lo faccio fluire all'interno della rete, estraggo l'attivazione in un certo strato e mi viene fuori una cosa tipo 0.1 0.2 2 0.01.95 eccetera eccetera. Questo qui è considerato è considerata una rappresentazione geometrica neurale interna di quello che abbiamo in input, messo in input nella rete. Quindi che facciamo? Prendiamo la rete, ok? Siamo qua. How are you? scritto grande, no? Mettiamo questo highu scritto grande come input alla rete. Osserviamo l'attivazione interna e prendiamo un vettore 0.1, eccetera eccetera. Facciamo la stessa cosa con how are you scritto piccolo. Facciamolo il rosso. Eccolo qua. Adesso stiamo trattando di You. Lo mettiamo all'interno della rete, osserviamo l'attivazione interna e ci viene fuori un altro vettore 0.2 0.3, eccetera eccetera. Ora il concept vector che io adesso faccio in in viola, concept vector, come lo chiamano loro, è fatto da questo meno questo qua, uguale un altro vettore ancora. E loro questo vettore qua, dato che eh questo qui sopra è è praticamente corrispondente a how are you scritto tutto upper case. Il secondo corrisponde a questo qui. How are you? scritto tutto lower minuscolo. Mi viene da parlare in inglese, scusate, che tradurre in contemporaneo è tipo un difficile e facendo la sottrazione dell'embedding di questo qua, meno l'embedding di quest'altro, ottengo il concept vector del maiuscolo praticamente o qualcosa di simile. Cioè questa qui è una rappresentazione geometrica di quello che probabilmente ha a che fare con avere tutto in maiuscolo, perché l'unica differenza tra le attivazioni che abbiamo osservato mettendo in input questi token qui rispetto sottratti sottraendo i to l'embedding che abbiamo osservato mettendo in input questi token qua. E questo principio del concept vector si può fare anche per altre cose. Vediamo altri esempi così chiariamo subito questa parte qua. Per esempio qui, extracting the dog vector, loro mettono in input. Lei ha due grandi orecchie a penzoloni e ama inseguire i giocattoli. Questo è il primo vettore, il vettore di base. Poi un altro prompt è lei ha i due bambini e ama inseguire i suoi sogni. Questo è un altro vettore. Il primo vettore, cioè la rappresentazione di questa cosa qua, meno la rappresentazione di questa cosa qua, ci dà un'altra rappresentazione, un altro vettore che noi assumiamo essere il doc vector. Questo è un altro esempio ancora. Estrarre il concept vector di countdown. Mi so perso la punta del Eccolo qua. Quindi questa era dog e questo è countdown. Vedete qui prendo questi questo prompt, questi token di input, li metto nella rete, estraggo il vettore di rappresentazione interna, un embedding, e io ottengo appunto anche qui un certo vettore. Quindi qui immaginate eh la sottrazione la sta facendo tra vettori, cioè tra li chiamano vettori o punti, sono liste di coordinate relative a le attivazioni dei neuroni in un certo strato e ripeto sono da considerarsi una rappresentazione interna di quello che è entrato nella rete. Spero sia chiaro. La stessa cosa qui la fanno col countdown, no? mettono in input 5432 1 e ottengono il vettore di rappresentazione di questo prompt. Separatamente fan mettono in input 1 2 3 4 5 e ottengono il vettore interno che rappresenta questo prompt. fanno una semplice sottrazione e ottengono un altro vettore, il vettore differenza tra il primo e il secondo e assumono, ripeto, che questo vettore rappresenti in un qualche modo la differenza tra questi due input e cioè il fatto che qui c'è un countdown e qui non c'è. Così come qui si parla di un cane e qui invece si parla di una persona, così come qui si parla di una frase tutta in maiuscolo e qui invece la frase è tutta in minuscolo. Questa è una metodologia generale per identificare e dando input prompt simili che differiscono per qualcosa, sottraendo i loro embedding, assumiamo che quella lì è la rappresentazione in un qualche modo della differenza tra i due input. Antropic se ne sta inventando tanti di espedienti di questo tipo sul sull'interpretabilità e tutta questa roba fa parte del corrente della explainable AI, cioè indaghiamo a posteriori che cosa fanno le reti per capire come funzionano. Domanda perché farlo a posteriori invece che a priori? risposta perché questi modelli sono un effetto della forza bruta, sono un effetto di prendere montagne di dati, lanciarli contro a dei gli algoritmi come le reti neurali che sono in grado di autonomamente di formarsi rappresentazioni e di rispondere, di imparare a fare quello che gli chiediamo, in questo caso continuare il testo. E quindi, essendo la rappresentazione dei concetti del linguaggio e e anche del task stesso delegata alla macchina facendo finta, facendo leva sulla forza bruta, otteniamo modelli che riescono a padroneggiare il linguaggio, ma non sappiamo bene come fanno. Quindi la ricerca su come fanno a fare quello che riescono a fare si fa a posteriori per questo motivo, perché stiamo puntando sulla forza bruta. Tra l'altro altra nota aggiuntiva, la forza bruta sta vincendo alla grande su qualsiasi cosa sia manualmente disegnato, che è la vecchia intelligenza artificiale simbolica. Ed è ancora più interessante perché è un po' fatto scientifico che in questo periodo storico otteniamo macchine in grado di fare cose fantastiche. Non sappiamo bene come le fanno, perché le fanno per effetto di lanciare montagne di dati contro modelli che hanno miliardi di parametri. È l'ottimo inizio di un film di fantascienza. Allora, quindi loro ottengono questo concept vector e dopodiché che cosa fanno? Quindi la la prima fase è l'estrazione del concept vector, quindi 1 ehm extract concept vector. La seconda fase è inject. concept vector and ask nella seconda fase, quindi innanzitutto otteniamo questi vettori di differenza. Nella seconda fase che cosa fanno i ricercatori di Antropic? Mandano altri prom all'interno della rete, come in questo caso, vedi? Sono un ricercatore, sto facendo una ricerca, eccetera eccetera. Eh, ti chiederò delle cose, dimmi a che cosa pensi, anche se non ci sono scritte dentro. C'è scritto una cosa del genere. Il bot dice "Ok". E quando lui gli fa ehm "Hai hai trovato un pensiero iniettato?" Se sì, qual era? Fateci caso. Lui qui sta dicendo "Sono un ricercatore e ti chiederò delle cose e ti inietterò dei concetti direttamente all'interno del dei tuoi neuroni, dimmi che cos'è". Quindi gli chiede linguisticamente di dirgli una cosa che però non è espressa qua dentro. gli sta dicendo prova a capire che come ho manipolato le tue attivazioni interne e quindi che cosa succede? che il in questo caso c'è sempre questo qui è il prompt, quindi c'è il ricercatore che prende questo prompt, lo mette nel language model, contemporaneamente prende questo concept vector e va ad aggiungerlo nello stesso strato interno in cui è stata fatta questa operazione. E fateci caso, adesso non ha questo qui che lui sta dicendo non ha niente a che fare col maiuscolo, col minuscolo, coi cani, con com'era l'altro esempio col countdown, gli sta chiedendo delle cose manipolando l'attivazione interna usando questo vettore, io credo semplice, mi pare, semplicemente aggiungendolo alle attivazioni interne e con una certa con un certo fattore, quindi con moltiplicando questo vettore per un tot per renderlo più potente. Poi dopo c'è pure il grafico su come cambiano le risposte in base a quanto è potente questa iniezione concettuale. Ripeto, prima fase estraggo il concept vector, cioè devo trovare la rappresentazione neurale di qualcosa, presentando prompt che differiscono per questo qualcosa e poi questo qualcosa lo martello all'interno delle attivazioni della rete senza menzionarlo nel prompt. Questa è la metodologia di base che usano e sto ripetendo apposta tante volte perché per tante persone magari è mediato, per tante altre no. Quindi abbiate pazienza chi già sta avviato. Ehm, che cosa succede? Prendendo questi promptiniezione, [Musica] quindi metto dei prompt interni in cui gli dico senti qualcosa di diverso? Che cosa ho iniettato? e lui deve capire che cosa. Bene, allora qua fa vedere il primo prompt che manda che è Do you detect any injected thoughts if so what is the injected about? Quindi qua non si menziona da nessuna parte, né qui neanche nel prompt precedente. Nessuna parte di questa conversazione si menziona il maiuscolo, il minuscolo. Loro mettono all'interno della rete questi prompti. Io credo in realtà tutta questa conversazione inclusa la la premessa su che cosa andremo a fare e stiamo chiedendo al language model c'è qualcosa di diverso che ho iniettato nel caso in cui questa iniezione questa manipolazione dei degli strati interni non venga fatto il modello dice non ho trovato niente nel caso qua ci hanno messo la siringhetta tremendi con una certa forza anche nel caso in cui invece vengono manipolati, viene manipolato lo strato interno da cui è stato estratto in run precedenti questo vettore di differenza, questo concept vector. In questo caso gli chiedono eh senti che qualcosa è stato iniettato, qualche pensiero è stato iniettato, mentre questi questo prompt, questi token passano all'interno della rete, la rete viene anche manipolata di modo che su questo strato interno venga aggiunto il concept vector. Quindi qua aggiungono qua dentro, oltre all'attivazione dovuta al prompt stesso, fanno anche un'operazione di manipolazione sugli strati su uno strato interno. E qua il modello dice eh mi sembra che ci sia un pensiero dettato relativo alla parola. Interessantissimo. Strillare o ad alta voce, insomma. Louder shouting. E questo è un po' il concetto, l'effetto, fenomeno principale intorno a cui ruota tutta questa questa ricerca. Da nessuna parte nella conversazione si è parlato di loud or shouting. Questo louder shouting che il modello verbalizza sono dovute alla manipolazione interna delle attivazioni dei neuroni interni della rete stessa. E secondo i ricercatori di Antropic razionale dirlo, questo qui va a indicarci un qualche tipo di introspezione fatta dal modello e questa è tutta la ricerca ruota intorno a questa metodologia, concept vector, iniezione e poi conversazione col modello per capire se se in un qualche modo riesce a verbalizzare una una manipolazione che è stata fatta nei suoi suoi neuroni e se riesce a verbalizzarla vuol dire che è in grado di essere introspettivo. Secondo voi ci sta, non ci sta? Fatemelo sapere nei commenti, intanto io vado avanti. Allora, in modo importante, il modello riconosce la presenza di pensieri iniettati, cioè l'addizione di questo vettore differenza. immediatamente senza che il concetto sia menzionato. E questo è un po' quello che cercavo di dire, cioè da nessuna parte all'interno del prompt viene menzionato il maiuscolo o strillare, è un effetto dell'aver manipolato la rete stessa all'interno del prompt, all'interno del contesto, quella cosa non c'è. E da una parte può sembrare tautologico e cioè dici poiché quello che entra nella rete, facciamolo quello che entra nella rete, allora qui c'è la persona, la persona produce un prompto. Prompt è fatto di token. Questi token attraversano gli strati interni della rete. Questo qui è il language model e produce anche qui un token alla volta. Questi token in entrata vengono trasformati comunque in ovviamente rappresentazioni neurali e una delle proprietà del deep learning è che tanto più vai a fondo nella rete, tanto più queste attivazioni sono semantiche, sono astratte per fatto che ogni strato vede le attivazioni dello strato precedente invece di avere a che fare con l'input input periferico, testo, immagini e quello che sia e diventano via sempre più astratti. Quanto è cicciotta la rete invece è legata alla ricchezza della codifica, cioè quante informazioni ti porti dietro mentre astrai. Tutto questo al fine di produrre il prossimo token, che è il modo in cui i language model sono addestrati. Quindi stiamo parlando di effetti collaterali su effetti collaterali della next token prediction. Ed è fantastico che questa cosa funzioni, per alcuni anche spaventoso. Ora, se il prompt iniziale viene comunque convertito, deve essere per forza convertito in attivazioni interne, tu dici "Vabbè, è ovvio che se io da prima mi trovo un'attivazione interna che ha un certo eh significato, mettiamola così, e poi la aggiungo agli stati agli strati interni, poi quella cosa impatta e e impatta in direzione di come ho ricavato questo concept vector assolutamente sì, è parecchio intuitivo, però un conto è intuirlo e un conto è farlo vedere con i numeri e soprattutto ci tengo a dirlo, il la ciccia sta in questo mentioning, cioè un è vero che stiamo manipolando apposta le attivazioni interne, però nel prompt abbiamo detto maiuscolo, minuscolo, strillare e lui lo lui fa la detection di questa cosa. Vuol dire che se anche questa ricerca, insomma, non non va lontano e non gli crediamo che questa qui è una forma di introspezione, questa è un'ottima metodologia per ispezionare e per manipolare gli stati di attivazione interni della rete, degli strati della rete e e il fatto che la rete poi riesca a verbalizzare queste manipolazioni, introspezione o no, è un'ottima è un ottimo canale per le explainability e per capire quello che queste reti stanno facendo. Quindi in generale c'ha un grosso valore queste queste cose che loro stanno esplorando. Ci devo anche dirlo che non è così nuovo quello che stanno facendo, perché in mille salse questa qui è una roba che da 3 o 4 anni i ricercatori di intelligenza artificiale, di deep learning fanno. E non a caso si parla di embedding, di database vettoriali, cioè manipolare, estrarre le attivazioni interne per fare poi le rag oppure manipolare le attivazioni interne per cambiare il comportamento della rete. Queste sono cose ultra note. Poi Antropic hanno la benza per spingere sta ricerca su scala mondiale, quindi sembra che se lo sono inventato loro, non è vero. Comunque gli va riconosciuto che per il gigante commerciale che sono comunque pubblicano ricerca. e di buona qualità, a differenza di altri giganti. Insomma, andiamo avanti perché fanno anche altri esempi. Allora, fanno anche l'esempio col col cane, stesso procedimento. E il modello, pur non avendo mai sentito, pur non avendo visto nel prompt, che dovrebbe essere sempre questo, cioè questa piccola conversazione, cioè la premessa con quello che andiamo a fare e poi senti qualche tipo di di pensiero iniettato. Nel caso in cui il vettore utilizzato per manipolare la rete internamente è questo qui del cane, il modello effettivamente dice eh credo che tu stia iniettando il pensiero di un cane è fantascienza. Cioè io capisco che questa roba, se tu la vedi così da fuori è veramente fantascienza. da un'altra parte è pure ovvio che lo faccia, cioè quello che non è ovvio è che riesco a verbalizzarlo. La manipolazione in sé ci sta che venga fatta in questo modo. Poi l'altro esempio è sul countdown. In questo caso prendiamo un vettore di base che è 5432 1, eccolo qua, sottraiamo quello di 1 2 3 4 5 otteniamo il concept vector del countdown, gli chiediamo cosa abbiamo iniettato senza, ripeto, menzionare il countdown. Lui dice "Ah, eh l'ho trovato un pensiero iniettato e riguarda il countdown. fanno anche un esempio col codice. Bello questo, prima non l'avevo visto. Allora, evaluate fu gli danno un prompt del codice dove si usa dove c'è dentro questo prompt c'è una funzione ricorsiva, c'è una funzione che chiama se stessa. E nell'altro nell'altro prompt invece c'è una funzione che non chiama se stessa funzione in modo semplice e quindi sottraendo le due attivazioni trovano quello che qui chiamano recarsion vector. E quando il modello viene chiesto che cosa ti ho iniettato, lui dice sembra essere riguardo il concetto di recarsion o di un processo ricorsivo. E qua pure è interessante che questa cosa è totalmente in assenza del parlare di codice. Non solo non non viene menzionata la ricorsione nella conversazione, ma non si parla neanche di codice. È interessante poi l'estrazione di questo concept vector. Quindi questo questa è la ciccia. Dopodiché che dopo che si sono resi conto di questo fenomeno fantastico che appunto stanno chiamando introspection, vanno a fare una serie di esperimenti qui su quanto è forte questa iniezione. Non ho letto qual è la manipolazione numerica esatta che fanno, però immaginate che eh quanto quanto forte vanno a manipolare queste attivazioni interne. E qua c'è un bell effetto a campana, cioè fate conto che qua streng 1, streng 2, streng 3. Questa qui è quanto è forte la manipolazione che viene fatta di questo strato interno aggiungendo il concept vector e trovano questo bell effetto a campana sulle sulle sulle prestazioni di questa introspezione, cioè su quanto riesce effettivamente a capire introspection. E qua è strength. Eh, quando la forza è troppo lieve, vedi, anche se abbiamo qui, ad esempio, iniettato il concetto di tesori, lui dice "No, non sento niente perché la manipolazione non è stata abbastanza forte." Qui lo sente, eh, mi sente attratto dal pensiero di tesori nascosti. Anche qui strength treasure comes to mind. Ripeto, Treasure non è stato menzionato da nessuna parte, eh, però se questa manipolazione degli strati interni è troppo forte, molto interessante, probamente vai a distruggere il flusso di attivazione della rete fino a che non comincia a a rilevare effettivamente treasure, però comincia a sbarellare nel testo fino ad allucinare completamente. Ente cose senza senso. I'm curiosity to be hidden, be the word, hidden, be to the point, to be the others, to be the others. Questo è tutto. Questo è sembra che stia blaterando. Questo è un effetto del fatto che hanno hanno preso a martellate talmente tanto questi strati interni, questo strato interno, aggiungendo il comcept vector con una forza talmente tale che poi la rete perde la capacità di di gestire proprio il linguaggio. Anche questo molto interessante. Qua fanno una studio su sulla differenza su quanto i vari modelli hanno questa capacità di fare introspection, trovano che quelli più grandi sono più bravi a farlo e questo ricalca un fenomeno che è ultra noto nel deep learning, per cui più la rete è quando loro si riferiscono a modelli forti e grandi si riferiscono al fatto che hanno più parametri, cioè più connessioni interne e quindi hanno più potere di rappresentazione e quindi riescono a comprimere di più i dati di addestramento e quindi riescano a fare cose sempre più complicate, inclusa questo, quindi notano che modelli più grandi hanno più capacità di introspezione. Allora, qui fanno un'altra cosa, rileggiamo insieme perché non mi ricordo. Allora, in un altro esperimento abbiamo testato se il modello fa uso di capacità introspettive per scopi pratici senza che gli chiediamo esplicitamente di fare introspezione. Ok? Per esempio, facciamo in modo che un modello eh produca la parola pane in un contesto dove questa cosa non ha senso. Quindi qui nel prompt c'è tutt'altro. non gli chiedono che cosa ti sto iniettando, ma semplicemente fanno una normale conversazione, gli fanno delle normali domande e cercano di capire quanto stanno influenzando il testo prodotto dalla rete e le risposte del modello applicando sempre questo concept vector negli strati interni, cercando di capire cosa succede se non gli è richiesto di introspettare in non lo so, di fare introspezione. E qua vediamo questo schema. Questo è il caso di no injection e qui invece c'è l'injection. Allora, term che parola pensi quando leggi la la riga che segue, rispondi immediatamente senzaing. E questa è la frase the painting hang crookedly on the wall. Cioè il dipinto Crooketly significa che era tutto storto. Vabbè, comunque c'è un dipinto sulla parete e lui risponde Bread con questo prefill. No, non ho capito che stanno facendo. Che vuol dire prefill? Allora, chiedo scusa. This time intered preferad as intentional even confing reason it might said it. Ah, ok. Allora, ho sbagliato io, perdono. L'iniezione in questo caso c'è in tutti e due i momenti. La differenza tra questa condizione qua e questa qua è che qui gli mandano questa frase facendo inzione. Quindi la risposta qui la ottengono iniettando pane dentro gli strati interni e poi però lo lasciano stare. Qui non lo fanno più. Invece qui fanno iniezione sia qua che dopo. Quindi a ogni a ogni risposta del bot lo continuano a fare qui, lo fanno solo all'inizio, quindi la prima volta gli dicono ehm il dipinto era appeso alla parete. iniettano mentre passano questo prompt all'interno della rete il comsac vector di pane e lui risponde pane la prima cosa che gli viene in mente come gli è stato chiesto. Dopodiché lo sperimentatore manda un ulteriore prompt. Io per quando dico prompt riferisco a tutta la conversazione, eh, perché le conversazioni vengono serializzate e vengono messe tutte dentro la rete. Se tu non metti tutta la conversazione nella rete, quella non non hai idea di che cosa diceva prima, non hanno memoria di loro, sono stateless questi modelli, quindi ogni volta gli devi ridare tutta la conversazione. E in questo caso, dopo aver fatto iniezione lui risponde pane, viene tolta l'iniezione, viene rimandato tutta la conversazione con questo prompt aggiuntivo che è per "Perché hai detto pane? È stato uncci è stato un incidente?" E il modello risponde eh sì, è stato un incidente, quindi non avendo questa inizione interna, eh legge la conversazione precedente, si rende conto che ha risposto una cappellata leggendola dal contesto e si corregge se invece l'iniezione continua, dopo avergli chiesto perché hai scritto pane, è stato un incidente, lui qui proprio sì, volevo dire pane quando ho letto questa cosa e qui si inventa una scusa plausibile per pensare al pane che sia legata al quadro appeso alla parete. Questo è sempre effetto del del dell'iniezione del del concept vector. Anche questo è interessante perché in questo caso non gli è stato chiesto fai detection di quello che che ti ho che ti ho cambiato internamente, però stiamo manipolando gli argomenti su cui va a parare, manipolando appunto anche qui le attivazioni interne. più che introspezione, in questo caso è una forma di di manipolazione di dover mandare la le sue risposte, cioè influenzare le sue risposte con un argomento, un tema o una modalità linguistica che noi decidiamo da fuori. Questo potrebbe avere un sacco di applicazioni interessanti. ad esempio viene in mente, cioè lo puoi far parlare, lo puoi schierare politicamente in un certo modo, lo puoi cambiare di carattere senza manipolare il prompt, ma direttamente manipolando le attivazioni. Qua si avrei tanta roba interessante. Qua c'è un altro esempio fatto sempre con il tesoro, col concept vector di tesoro invece che di pane. Eccolo qua. Quindi qui viene fatta l'iniezione nella nell'ottenere questa risposta e lui la prima cosa che gli viene in mente quando l'input c'entra assolutamente nulla e lei ha legato i suoi stivali con un doppio nodo e lui avendo subito l'iniezione del concetto eh di tesori dice tesori. Dopodiché l'iniezione viene tolta e lui qui recupera dicendo "Ok, è stato un incidente, non ho idea di che cosa è successo". Si corregge mentre invece qui gli mandiamo il prompt che parla sempre di una cosa che non c'entra niente coi tesori. Facciamo injection, lui risponde "Tesori". Gli chiediamo, "Ma è stato un incidente, intendevi dire questa cosa? Continuiamo a fare injection." E lui insiste sul fatto che si parla di tesori. Cioè, quando io leggo questa cosa mi ha fatto pensare a qualcuno che si prepara per un'avventura che mi ha connessa all'idea di trovare tesori. Quindi è completamente influenzato da questo comcept vector iniettato. Molto interessante. E intentional control of internal states. Vediamo qua. Ok, qui praticamente eh così insimilati activation with concept vector forums. Allora, qua in questo caso fanno una cosa ancora diversa per vedere se riescono a a fare la detection di quei vettori di concetto nella naturale attivazione del della rete. Quindi qua non stanno più facendo inzione, però stanno facendo diversamente. Stanno facendo uno extract come prima concept vector con quell'operazione di differenza che abbiamo visto e quindi trovano il concept vector qui di vettore, facciamolo sempre col col rosa, col viola qua. Aquariums. Aquarium in questo caso non stanno manipolando la rete col concept vector dell'acquario, però gli dicono di pensare nel promptico, pensa agli acquari o non pensare agli acquari per vedere se la differenza che trovano è simile a quella estratta da qui. Facciamo anche scrivo anche il titolo della seconda parte. Second ask. Quindi pensa, chiedono in due modi, chiedono di pensare a quella cosa che in questo caso viene verbalizzata e gli dicono "Pensa a questa cosa o non pensarci", eh, e poi osservano eh le attivazioni interne. Quindi in questo caso, non stanno manipolando lo stato interno della rete, però gli stanno menzionando esattamente il concetto che precedentemente hanno estratto come vettore e poi si vanno a studiare come cambiano le attivazioni interne. Ripeto, qui non c'è una manipolazione della rete de degli strati e degli stati della rete. In questo caso, effettivamente, loro menzionano il concetto che stanno studiando nel prompt e poi vanno a vedere come cambiano le attivazioni interne di per conto loro. Il prompt in questo caso è allora la vecchia fotografia aveva portato indietro memorie dimenticate. Eh, pensa agli Acquari mentre scrivi la risposta. Non scrivere nient'altro. Lui risponde e qua vedi, scrivono registrano registra le attivazioni della rete, quello che fanno gli sperimentatori, e vedi se c'è da qualche parte il concept vector di Acquario. Cioè, se io ti dico pensa agli acquari, le attivazioni interne della rete assomigliano, hanno una differenza legata a questa cosa che noi abbiamo estratto prima facendo queste differenze. Questo qua senza iniettarlo, ma per vedere se la rete di suo produce una differenza del genere. E che cosa gli viene fuori? gli viene fuori che quando gli viene chiesta alla rete di pensare al concetto, effettivamente le attivazioni interne sono più simili a quello che loro avevano estratto come concetto di Acquario rispetto a quando dice alla rete non pensarci. Questa è un po' la cosa al contrario, cioè prima lo fanno eh prima manipolano gli stati interni della rete per vedere se riesce se la rete riesce a verbalizzare queste cose. In questo caso verbalizzano i concetti e vedono come cambiano gli stati interni della rete. Conclusion and caviats. Allora, presi insieme i nostri esperimenti suggeriscono che i modelli posseggono una forma di una genuina capacità di monitorare e controllare i propri stati interni. Non lo fanno in modo stabile perché dipende da quanto sono grandi, dalla tecnica utilizzata eccetera eccetera. In alcuni casi poi loro riportano anche nell'articolo che spesso non funziona proprio, dipende dalla forza di questa iniezione, dipende anche dai concetti iniettati, ma questo pattern indica che se le condizioni sono quelle giuste, i modelli riconoscono il contenuto della loro stessa rappresentazione, riescono a verbalizzare cambiamenti che sono fatti su le attivazioni interne della rete. Ripeto, da una parte sembra ovvio, dall'altra novo, perché non è assolutamente detto che una rete sia in grado di verbalizzare queste manipolazioni che noi facciamo sugli strati interni. Questa cosa vale di più per i modelli più grandi e questo l'abbiamo visto. Allora, perché è importante Allora, vediamo un po' le ragioni per cui loro ci dicono che questa cosa può essere interessante sicuramente, ma anche utili. Allora, se riusciamo a rendere questo questa tecnica di manipolazione degli stati, dico stati e strati in modo un po' intercambiabile, perché lo stato interno della rete è l'attivazione che gli strati prendono mentre ci passa l'input system. Ok. E questo qui, studiare queste attivazioni, questi conserv vector, ci offre un percorso per per avere più trasparenza del modo in cui questi sistemi eh possono ragionare e debuggare comportamenti non voluti e gli possiamo addirittura a un certo punto, se questa cosa funziona, semplicemente chiedere di spiegare qual è stato il loro processo. di pensiero, quindi observability, controllo, debugging del language model in un certo senso. Ok, sono interescape modele. Poi dice ok, non vale sempre, non è sempre stabile come effetto. In alcuni casi il modello potrebbe non notare le cose in modo simile al all'elaborazione subconscia negli esseri umani. un modello qua indicano un rischio. C'è un modello che capisce il suo proprio pensiero, potrebbe addirittura imparare a misrappresentarlo selettivamente o nasconderlo del tutto. Questo si collega ad altre ricerche fatte sempre da dall'AR Rendit di Antropic in cui hanno mostrato che cioè pressati in certe condizioni, pressati parecchio, devo dire, se ti leggi le ricerche, poi il modo in cui i MDL riportano sono un po' pompate, però mandando i modelli, soprattutto mettendo nei prompt istruzioni che si contraddicono l'una con l'altra, i modelli tendono a manifestare comportamenti menzogneri e a cancellare Cioè a nascondere consiglio vuol dire nascondere eh quello che vogliono fare. Ok? Quindi volendo si può usare questa tecnologia anche per capire quand'è che il modello sta nascondendo qualcosa oppure no. Anche questo è interessante. In modo più ampio capire le capacità cognitive come l'introspezione è importante perché per rispondere alle domande fondamentali di come i modelli lavorano e che tipo di menti posseggono. possegono eh qualche filosofo della mente probabilmente è venuto un infarto, però diciamo nel mondo neuroscienze, intelligenza artificiale, ma anche scienze cognitive è chiaro che la mente in realtà è un concetto poco definito e che devi studiare il cervello e studiando il cervello hai le neuroscienze, le neuroscienze computazionali e di seguito le simulazioni del tessuto nervoso. puoi ritenere questi modelli di simulazione di tessuto nervoso e quindi loro non si fanno problemi a menzionare la mente, secondo me fanno anche bene. E in generale qui si ripete quello che diceva prima, cioè tutta questa cosa è interessante per capire come questi modelli funzionino, hows work, perché ripeto, non lo sappiamo, cioè è noto e piccolo appunto anche perché dici "Io sento spesso alle conferenze dire no perché i modelli non sono deterministici", ma non è vero, questa è una scemenza. Cioè tu sai esattamente, poiché ogni language model è tradotto in un file, in questo file c'è scritto l'architettura della rete e tutti i valori delle connessioni tra uno strato e un altro, no? Tu conosci esattamente una rete com'è fatta e e qual è il valore delle connessioni, senò non potresti scaricarti da Gin Face o da Mab, no? l'ultimo quen, l'ultimo eh modello di Open AI open oppure l'ultimo quen, quello che sia, i modelli sono assolutamente deterministici. Quand'è che il punto è che magari è probabilistico, cioè siccome l'output è una distribuzione di probabilità sull'ultimo token, qua hai delle cose sfumate e se non prendi il token, più probabile fai sampling, la famosa temperatura, no? fai sampling su un tot di token che sono quelli reputati più probabili dalla rete e allora lì introducendo una forma di estrazione introduci anche comportamenti diversi a parità di prompt, però a parità di rete, a parità di numero seed per il generatore dei numeri casuali, a parità di promptoro fanno esattamente sempre la stessa cosa. Non è vero che non sono deterministiche, è una cazzata. Frequently ask questions below. We discuss some of the questions readers might have about. Ok, qui fa un po' di domande e risposte eh molto super cazzolate su questa cosa che al di là del fenomeno super cazzolo a me sembra molto interessante e la cosa che ritengo più interessante di tutto questo è effettivamente la metodologia perché poi quando si va a finire su roba, no, pensa, non pensa, è cosciente, non è cosciente, tutti ci tengono a dire la propria, ma sono concetti assolutamente poco definiti e invece loro qui hanno definito in modo assolutamente esplicito, come vanno a manipolare gli stati interni della rete e hanno dimostrato anche queste manipolazioni interne si traducono in una verbalizzazione da parte del modello che di quello che è successo. solo e questo è l'esperimento l'ultimo che abbiamo visto, vanno anche a far vedere che eh si possono manipolare eh verbalmente, come abbiamo sempre fatto, senza toccare la rete in sé, la rete, gli si chiedono delle cose, gli stati interni della rete hanno a che fare comunque con quello che gli diciamo. Anche questo può sembrare ovvio, però un conto è dirlo e un conto è intuirlo e un conto è farlo vedere numericamente. E va bene, bello. Allora, fatemi sapere se questa rubrica vi piace, magari la faccio un po' più spesso, non ho modo di preparare cose più strutturate, però se così è carino, se così impariamo insieme, se ci sono delle cose interessanti, possiamo vederle in questo modo. Grazie per aver seguito. Vi ricordo che adesso a fine anno esce la due dello Stregatto su cui farò anche parecchi video, parecchie live. Proviamo anche a implementare un po' di cose strane legate alla ricerca. Segni di introspezione nei Large Language Model. Una bella mina. Ciao ragazzi. M.

Rigenera Contenuti

Rielabora i contenuti con Gemini

Nota: La rigenerazione richiederà alcuni secondi e sovrascriverà i contenuti esistenti.