{"id":729,"date":"2025-02-20T12:43:56","date_gmt":"2025-02-20T11:43:56","guid":{"rendered":"https:\/\/www.studiocerellochesini.it\/web\/?p=729"},"modified":"2025-02-20T16:40:50","modified_gmt":"2025-02-20T15:40:50","slug":"chatgpt-magia","status":"publish","type":"post","link":"https:\/\/www.studiocerellochesini.it\/web\/chatgpt-magia\/","title":{"rendered":"ChatGPT, magia?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">ChatGPT \u00e8 uno strumento informatico ormai conosciuto da quasi tutti e utilizzato da molti, consente di avere risposte a quesiti sottoposti in forma testuale. Cos\u00ec come LLama (Meta) ed altri, ChatGPT \u00e8 un LLM, ovvero un modello di linguaggio esteso, una delle tante tipologie di modelli di intelligenza artificiale.<\/p>\n\n\n<div class=\"wp-block-image wp-duotone-purple-yellow\">\n<figure class=\"aligncenter size-medium is-resized\"><img decoding=\"async\" src=\"https:\/\/www.studiocerellochesini.it\/web\/wp-content\/uploads\/2025\/02\/ecc0cd51-1200x628-1-300x157.webp\" alt=\"\" class=\"wp-image-732\" style=\"width:504px;height:auto\"\/><\/figure>\n<\/div>\n\n\n<h4 class=\"wp-block-heading\">Ma come funziona un LLM?<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Un LLM si basa principalmente su questi due aspetti\/processi:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Matrice degli <strong>Embeddings<\/strong>: ogni parola in un vocabolario di prefissata grandezza (le parole inserite nel vocabolario sono quelle maggiormente ricorrenti) viene suddivisa in unit\u00e0 significative rappresentate all&#8217;interno di un calcolatore ognuna con un numero intero detto <strong>token<\/strong>, per esempio la parola <em>atomo<\/em> potr\u00e0 essere suddivisa in &#8220;<em>atom&#8221;<\/em> e <em>&#8220;o&#8221;<\/em> questo perch\u00e8 il modello vuole poi poter ottimizzare l&#8217;aspetto semantico nella sua rappresentazione numerica e poter &#8220;capire&#8221; che anche <em>atom(-)i <\/em>e<em> atom(-)ico<\/em>, fanno parte dello stesso contesto di significato. Una frase diventer\u00e0 quindi una lista di numeri (anche gli spazi, i segni di punteggiatura e le etichette di inizio e fine savranno un loro dedicato valore numerico), organizzati come <a href=\"https:\/\/it.wikipedia.org\/wiki\/Vettore_(matematica)\">vettori<\/a> di dimensione predefinita (che sar\u00e0 la massima lunghezza della frase). Utilizzando le informazioni appena organizzate si forma una matrice (una specie di tabella) dove ogni riga \u00e8 un determinato token e ogni colonna un parametro (pi\u00f9 parametri significa pi\u00f9 descrittori, ovvero la migliore capacit\u00e0 del sistema di astrarre e quindi cogliere pi\u00f9 sfumature). Ogni parametro viene calcolato in modo che parole con significati e contesti simili abbiano valori simili. Prendiamo solo ad esempio un&#8217; improponibile matrice degli embeddings con due parametri, ogni parola potrebbe essere visivamente mappata su un piano cartesiano, ecco che due parole come <em>casa<\/em> e <em>abitazione<\/em> saranno molto vicine nell&#8217;ipotetico piano, <em>grattugia<\/em> e <em>pianoforte<\/em> saranno ad una distanza molto grande. Le matrici degli embeddings hanno centinaia o migliaia di parametri, spazi ovviamente non rappresentabili graficamente .<\/li>\n\n\n\n<li>Meccanismo di<strong> Attenzione<\/strong>: la matrice degli embeddings non riesce a considerare il contesto dato anche dalle altre parole presenti nelle vicinanze, ad esempio ne <em>Il gatto insegue il topo che si nasconde sotto il divano<\/em>, <em>topo<\/em> e <em>divano<\/em> avranno con molta probabilit\u00e0 una bassa correlazione nella matrice degli embeddings. Il meccanismo di attenzione riesce invece a focalizzarsi su specifiche parti della frase come <em>il topo<\/em> e <em>sotto il divano<\/em> e trovare una correlazione, ma come? Utilizzando la rappresentazione QKV: <strong>Query, Key, Value.<\/strong> Questa rappresentazione \u00e8 uno stratagemma trovato dai ricercatori per mimare un sistema di ricerca contestuale: <strong>query<\/strong> rappresenta la nostra richiesta sottoforma di token, e la coppia<strong> key<\/strong>(chiave)-<strong>value<\/strong>(valore) rappresenta<strong> i token che hanno<\/strong> sequenzialmente nella loro generazione <strong>una probabilit\u00e0 pi\u00f9 alta<\/strong> (la funzione <a href=\"https:\/\/it.wikipedia.org\/wiki\/Funzione_softmax\">softmax<\/a> in uscita del blocco computazionale fondamentale di un LLM \u00e8 utilizzato infatti per ottenere una distribuzione di probabilit\u00e0 per ogni token nel vocabolario) in correlazione all&#8217;input (query). Il meccanismo di attenzione, implementato con delle reti neurali di milioni di paramentri (ci\u00f2 che ne determina la complessit\u00e0 costruttiva e computazionale) appositamente addestrate, \u00e8 poi utilizzato in parallelo su diverse parti della frase in modo da ottenere un risultato valido.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si fa presto a fare due conti per capire che un LLM di qualit\u00e0 occupa in memoria diversi GB. Tanto per fare un esempio LLama 3.2 con 70 miliardi di parametri (nel momento in cui scrivo, uno dei migliori modelli  in circolazione) per poter essere eseguito su un computer con con 64GB di RAM, i suoi parametri devono essere sottocampionati a (soli) 4bit (per fortuna senza inficiare in maniera sostanziale sulla precisione dello stesso). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se non avete capito niente va bene lo stesso, ma questo nostro vecchio<a href=\"https:\/\/www.studiocerellochesini.it\/web\/2023\/06\/\"> articolo<\/a> potr\u00e0 tornarvi utile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Studio Cerello &amp; Chesini srl <strong>\u00a9<\/strong> 2025<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>ChatGPT \u00e8 uno strumento informatico ormai conosciuto da quasi tutti e utilizzato da molti, consente di avere risposte a quesiti sottoposti in forma testuale. Cos\u00ec come LLama (Meta) ed altri, ChatGPT \u00e8 un LLM, ovvero un modello di linguaggio esteso, una delle tante tipologie di modelli di intelligenza artificiale. Ma come funziona un LLM? Un &hellip; <a href=\"https:\/\/www.studiocerellochesini.it\/web\/chatgpt-magia\/\" class=\"more-link\">Continua la lettura di <span class=\"screen-reader-text\">ChatGPT, magia?<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-729","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/posts\/729","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/comments?post=729"}],"version-history":[{"count":14,"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/posts\/729\/revisions"}],"predecessor-version":[{"id":745,"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/posts\/729\/revisions\/745"}],"wp:attachment":[{"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/media?parent=729"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/categories?post=729"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.studiocerellochesini.it\/web\/wp-json\/wp\/v2\/tags?post=729"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}