Utilizzi_dei_chatbot.jpg

Con la terza puntata dell’inchiesta dedicata ai sistemi di Intelligenza artificiale conversazionale, Varesefocus va alla scoperta degli utilizzi e delle potenzialità dei chatbot in versione personalizzata, in grado di rispondere a esigenze specifiche di singole organizzazioni ed imprese. Ma in che modo è possibile “allenare” questa nuova tecnologia a rispondere a conversazioni, per esempio, di settore e peculiari?

Nonostante siano facilmente e ampiamente accessibili solo da pochi mesi, i recenti sistemi di intelligenza artificiale conversazionale, i cosiddetti chatbot, di cui ChatGPT è l’esempio più noto, fanno intravedere la possibilità di cambiamenti radicali che potrebbero influenzare molti aspetti della nostra società. Come abbiamo discusso nella prima puntata di questo speciale (sul numero di maggio di Varesefocus), i chatbot sono entità software, e quindi artificiali, in grado di comunicare con noi nelle nostre lingue, come l’italiano e l’inglese, con un ricco vocabolario e mostrando una solida comprensione dei contenuti, una grande eloquenza, abilità di argomentazione e accesso a un’enorme quantità di informazioni. Chiunque abbia avuto un po’ di esperienza nell’interazione con un chatbot può attestare questa sorprendente novità.

Ma come riesce ChatGPT (o altri chatbot come Bing Chat, Bard, Claude, esempi dei sistemi oggi noti come Large Language Model (LLM)) a dialogare in modo così sofisticato? Nella seconda puntata (sul numero di luglio di Varesefocus) abbiamo provato a dare qualche prima risposta, spiegando come le reti neurali artificiali siano sistemi software il cui comportamento non è determinato da regole di programmazione preordinate, ma dipende da un processo di addestramento, spesso lungo e complesso, realizzato facendoli interagire appropriatamente con grandi insiemi di dati. Insomma, il comportamento che osserviamo nei chatbot è il risultato di addestramento e non di programmazione. Anche coloro che non sono interessati ad “aprire la scatola” e comprendere il funzionamento di una rete neurale possono afferrare il significato e le implicazioni di questo nuovo paradigma.

Mentre sappiamo come un sistema software programmato reagisce agli stimoli, perché le sue regole di comportamento sono esplicite nel codice, interagendo con un chatbot non si conoscono a priori le risposte che produrrà, che dipendono sia dal suo addestramento sia da come gli poniamo le domande. Per interagire in modo efficace con un chatbot è quindi importante imparare non solo, ovviamente, a fargli le domande giuste, ma anche a fargliele nel modo giusto: quanto è opportuno essere specifici nelle richieste? Sono utili esempi o suggerimenti? E così via. Come si vede bene, questa competenza, che si è cominciata a chiamare prompt engineering (letteralmente “ingegneria delle domande”), ha una connotazione prevalentemente linguistica, psicologica e relazionale. Insomma, in riferimento alla tristemente nota separazione tra cultura umanistica e cultura tecnico-scientifica, ci siamo immersi in un inatteso scenario in cui entità tecnologiche ci invitano a sviluppare capacità di dialogo che finora avremmo considerato parte della cultura umanistica.

È certamente ancora troppo presto per prevedere se questo produrrà una almeno parziale rivalorizzazione della parola scritta, ma pare una speranza non completamente infondata. Il prompt engineering è una competenza finalizzata a ottenere un comportamento desiderato da un chatbot, per adattarlo ai nostri scopi e in accordo ai nostri dati e documenti. Sempre più spesso, l’obiettivo principale di coloro che esplorano le potenzialità dei chatbot nell’ambito della propria organizzazione è di crearne una versione personalizzata, in grado di rispondere a esigenze specifiche dell’organizzazione stessa. Prendiamo ad esempio il caso di un’azienda che desidera utilizzare un chatbot per supportare i servizi commerciali, sostenendo conversazioni che richiedono informazioni specifiche dell’azienda, come dettagli su prodotti o servizi o fornendo i riferimenti corretti di una certa persona o funzione aziendale a partire da una determinata domanda. Quale metodo applicare per ottenere risultati appropriati è una delle domande su cui si sta più sperimentando recentemente: proponiamo qui una prima sintesi, per “non tecnici”. 

Il prompt engineering è una competenza finalizzata a ottenere un comportamento desiderato da un chatbot, per adattarlo ai nostri scopi e in accordo ai nostri dati e documenti

Come possiamo dunque mettere un chatbot nella condizione di rispondere a domande che richiedano la conoscenza di documenti non pubblici, che si suppone non gli siano stati fatti leggere in precedenza? I chatbot che utilizziamo sono pre-addestrati su un insieme di moltissimi documenti chiamato training set. Tipicamente l’addestramento include anche una seconda fase, chiamata fine tuning, in cui si adatta il chatbot a compiere specifiche attività. Nel caso di ChatGPT, l’attività di fine tuning ha permesso agli sviluppatori di insegnargli a dialogare in modo socialmente appropriato, aspetto che si è rivelato una delle chiavi del suo successo. Chi vuole personalizzare il comportamento di un chatbot ben pre-addestrato e fine tuned può quindi oggi cominciare a esplorare strategie per adattarne il comportamento a compiti specifici, basati sul contenuto di nuovi documenti.

Alla base della molteplicità di opzioni disponibili c’è il fatto che, almeno per ora, le memorie a lungo e a breve termine dei chatbot sono mantenute separate. In pratica, il pre-addestramento e il fine tuning intervengono sulla memoria a lungo termine (ciò che è caratterizzato in particolare dal numero dei parametri della rete neurale, dell’ordine delle centinaia di miliardi nel caso di ChatGPT), che però non viene modificata dal contenuto dei dialoghi, mantenuto nella memoria a breve termine, una per ogni dialogo e che alla fine di ogni dialogo si azzera. Questo fa sì che un chatbot adatti il suo comportamento durante ogni dialogo, ma poi una volta terminato si dimentichi di quello che ha imparato (si tratta perciò di un’importante differenza con gli esseri umani, che invece hanno una memoria dinamica che consente di continuare a imparare dalle esperienze quotidiane).

In conseguenza della separazione tra memoria a lungo e a breve termine, i due metodi più ovvi per personalizzare il comportamento di un chatbot sono: proseguire il suo fine tuning, facendogli leggere questa volta i nostri documenti e dunque modificando la sua memoria a lungo termine e includere nelle nostre domande il contenuto dei documenti, intervenendo perciò solo sulla memoria a breve termine, con una qualche tecnica di prompt engineering. Nonostante la loro semplicità concettuale, questi due metodi hanno, per ragioni opposte, anche controindicazioni importanti. In breve, operare mediante fine tuning assume di riuscire a modificare i valori dei tanti parametri della rete per far sì che essa riesca a gestire con particolare evidenza i nostri documenti, che sono plausibilmente una minuscola parte dell’intera informazione su cui è stata addestrata: un’impresa che gli stessi gestori dei chatbot considerano problematica e sconsigliano.

Al contrario, operare mediante prompt engineering mantiene certamente in evidenza il contenuto dei nostri documenti, che però viene dimenticato alla fine di ogni dialogo: questo può essere un problema, sia perché la memoria a breve termine potrebbe non essere grande a sufficienza per contenere tutta l’informazione richiesta (attualmente alcune migliaia o alcune decine di migliaia di parole), sia perché il costo dell’uso del chatbot potrebbe dipendere da quanta informazione viene caricata in tale memoria. Per questi motivi, si stanno sperimentando metodi diversi, e in un certo senso intermedi, a questi due, in particolare in due tipologie chiamate Parameter-Efficient Fine Tuning, per esempio nella forma di Low Ranking Adaptation (LoRA) e Retrieval-Augmented LLM, abilitata da un qualche genere di text embedding. È interessante che, nonostante i pochi mesi di “vita sociale” dei chatbot, si stiano già affrontando questioni di evidente rilevanza applicativa, come, appunto, la possibilità di personalizzare il loro comportamento in riferimento a documenti propri, garantendo nello stesso tempo qualità delle risposte, costi contenuti e riservatezza dei dati.  

Per saperne di più



Articolo precedente Articolo successivo
Edit