{"id":6957,"date":"2024-05-10T10:01:03","date_gmt":"2024-05-10T08:01:03","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=6957"},"modified":"2024-05-10T19:35:43","modified_gmt":"2024-05-10T17:35:43","slug":"progetti-di-generative-ai-cosa-abbiamo-imparato-finora","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/progetti-di-generative-ai-cosa-abbiamo-imparato-finora\/","title":{"rendered":"Progetti di Generative AI: cosa abbiamo imparato finora"},"content":{"rendered":"\n
Il biennio \u201822 – \u201923 ha visto un’esplosione dell’interesse nei confronti dell\u2019Artificial Intelligence (AI) in tutte le sue declinazioni.<\/p>\n\n\n\n
Strumenti come ChatGPT, Bard, Claude e Bing AI hanno reso questa tecnologia accessibile ad un vastissimo pubblico e ne hanno messo in luce le innumerevoli potenzialit\u00e0, in particolar modo riguardo alla Generative AI.<\/p>\n\n\n\n
Moltissime aziende si sono gi\u00e0 spinte in applicazioni commerciali: dalla personalizzazione di contenuti aziendali e non, alla generazione di materiali promozionali estremamente mirati e personalizzati, dalla produzione di documentazione tecnica, alla traduzione real-time di testi, fino addirittura al miglioramento di sistemi di Help Desk e assistenza clienti.<\/p>\n\n\n\n
L’entusiasmo suscitato, tuttavia, sembra aver innescato una vera e propria \u201ccorsa alla GenAI\u201d portando a un’inversione del processo decisionale: spinti dalla paura di perdere l\u2019opportunit\u00e0 (FOMO), si tende a cercare di adattare la Generative AI ai problemi aziendali pi\u00f9 disparati invertendo causa – effetto e rischiando di cadere in investimenti ingenti fini a loro stessi. Nonostante le straordinarie possibilit\u00e0 offerte, dunque, \u00e8 importante sottolineare che la Generative AI non \u00e8 sempre la soluzione a tutte le sfide di business: occorre valutare secondo molteplici punti di vista se questa possa realmente offrire un vantaggio competitivo tangibile e giustificare cos\u00ec effort e investimento, ad oggi ancora molto alti.<\/p>\n\n\n\n
Concentriamoci su un caso concreto.<\/p>\n\n\n\n
In questo articolo partiremo dal perch\u00e9 abbiamo ritenuto che in questo caso la Generative AI fosse lo strumento migliore per massimizzare il risultato, soffermandoci su cosa abbiamo imparato da questa esperienza.<\/p>\n\n\n\n
Per un cliente in ambito food, ci siamo occupati della realizzazione di un sistema di pianificazione e raccomandazione. Dato un input contenente criteri personalizzati, la soluzione \u00e8 in grado di comporre in autonomia un menu su base giornaliera e\/o settimanale, pianificando i pasti scegliendo i piatti in base a preferenze, limiti di crediti disponibili sulla piattaforma e necessit\u00e0 alimentari date dell\u2019utente.<\/p>\n\n\n\n
Le sfide principali erano:<\/p>\n\n\n\n
L’obiettivo era quindi duplice: da un lato, aumentare retention e fidelizzazione<\/strong> del cliente, riducendo al contempo la friction; dall’altro, minimizzare il rischio di mancato guadagno<\/strong> per l\u2019azienda.<\/p>\n\n\n\n Da sempre esistono algoritmi noti di Natural Language Processing (NLP), ovvero algoritmi di AI in grado di elaborare il linguaggio naturale e di interpretarlo per fornire output coerenti con criteri decisionali specifici. Mettendo insieme algoritmi di NLP, Reccomandation e tecniche di best fit, dunque, avremmo potuto raggiungere il medesimo obiettivo ottenuto con l\u2019utilizzo della Generative AI.<\/p>\n\n\n\n La Gen AI, tuttavia, ci avvicinava decisamente di pi\u00f9 agli obiettivi di partenza per una serie di motivi:<\/p>\n\n\n\n Vediamo ora quali sono stati i principali takeaway che abbiamo fatto nostri durante l\u2019implementazione della soluzione e che saranno fondamentali per il successo di tutti i progetti futuri che prevederanno l’utilizzo della Generative AI.<\/p>\n\n\n\n Utilizzare i LLM facilita enormemente la vita in tutti quei contesti dove un certo grado di imprecisione non \u00e8 una criticit\u00e0 e dove fornire un nuovo servizio all\u2019utente \u00e8 gi\u00e0 di per s\u00e8 un vantaggio competitivo.<\/p>\n\n\n\n Questo perch\u00e8 non bisogna investire tempo e risorse nell\u2019individuazione di un modello specifico per risolvere un determinato problema, ma soprattutto non bisogna investire per trainarlo. L\u2019addestramento dei modelli resta infatti una delle pratiche pi\u00f9 costose in assoluto in ambito AI.<\/p>\n\n\n\n Grazie a un training gi\u00e0 sufficientemente ampio da non richiedere aggiustamenti avanzati, infatti, i LLM ci permettono di arrivare ad un risultato soddisfacente in tempi relativamente brevi rispetto all\u2019utilizzo di algoritmi classici.<\/p>\n\n\n\n Il rovescio della medaglia sta nel fatto che, per quanto buono, il risultato che andremo ad ottenere non sar\u00e0 il miglior risultato ottenibile in assoluto. In un\u2019ottica di miglioramento incrementale, tuttavia, si possono ottimizzare i tempi di go-to-market servendosi di LLM per poi agire a posteriori con con algoritmi noti con cui effettuare best match.<\/p>\n\n\n\n Non ci sono limiti alla perfezione!<\/p>\n\n\n\n Quando si parla di user experience, spesso i benefici per l\u2019utente finale sono intangibili. In questo caso il planner ha un impatto concreto su due dimensioni: tempo e denaro.<\/p>\n\n\n\n Il tempo che l\u2019utente passa a pianificare i pasti per la settimana successiva varia tra i 5 e 15 minuti (a seconda delle esigenze, della scelta dei piatti e del confronto di specifici valori nutizionali). Questo si traduce in un risparmio di tempo pari al 60%-86%. <\/p>\n\n\n\n Si supera inoltre in automatico il problema dell\u2019utente che si dimentica di ordinare da una settimana con l\u2019altra, trovandosi cos\u00ec costretto a dover uscire o ordinare tramite servizi di consegna a domicilio. Se il disagio di arrivare un giorno in ufficio e non trovare il proprio pasto non \u00e8 quantificabile, si pu\u00f2 misurare che mediamente pranzare fuori ha un costo superiore del 30%-45% (a parit\u00e0 di cibo consumato). Indirettamente quindi non c\u2019\u00e8 solo un fattore di user experience migliorata, ma anche di risparmio dei costi.<\/p>\n\n\n\n Dal punto di vista dell\u2019azienda il planner crea un rapporto diretto tra soddisfazione del cliente e guadagno. Ogni volta che un utente si dimentica di ordinare si crea uno scenario lose-lose: l\u2019utente vive un disagio e l\u2019azienda ha un mancato guadagno.<\/p>\n\n\n\n Con il planner l\u2019azienda non solo si assicura che ogni giorno ci sar\u00e0 un guadagno, ma anche che questo venga massimizzato, dal momento che il modello cercher\u00e0 di utilizzare il massimo numero di crediti possibili nel pianificare i pasti. <\/p>\n\n\n\n I consumi della Gen AI relativamente ad aspetti economici, energetici, di potenza di calcolo e CPU sono notevoli. <\/p>\n\n\n\n Va tenuto a mente che stiamo utilizzando uno strumento estremamente potente per risolvere problemi molto specifici e circoscritti, spesso potenzialmente risolvibili con l\u2019impiego di molte meno risorse\u2026 se pur con uno sforzo implementativo maggiore.<\/p>\n\n\n\n Per utilizzare una metafora, \u201csparando alla formica col bazooka”, si ottiene sicuramente il risultato di eliminarla, ma con tutti gli effetti collaterali dell\u2019aver utilizzato un\u2019arma cos\u00ec potente per un obiettivo cos\u00ec circoscritto.<\/p>\n\n\n\n Questo solleva un tema importante, la sostenibilit\u00e0, su cui la Generative AI ha un impatto significativo da diversi punti di vista:<\/p>\n\n\n\n In conclusione, allocare un budget sostenibile e pianificare a lungo termine \u00e8 essenziale per garantire la sostenibilit\u00e0 economica dell’utilizzo della Generative AI, insieme alla sensibilizzazione degli utenti riguardo al pagamento di piani premium.<\/p>\n\n\n\n Utilizzando la Generative AI, il contesto del workload pu\u00f2 giocare a nostro favore o a nostro sfavore (o, come vedremo, addirittura entrambe le cose), rendendo la previsione dei costi un\u2019incognita.<\/p>\n\n\n\n Da un punto di vista puramente informatico e di programmazione, l’utilizzo dei LLM \u00e8 relativamente semplice, poich\u00e9 l’elaborazione del dato che genera l’output avviene in gran parte in modo automatico, come in una black box. <\/p>\n\n\n\n Non essendo richieste elaborazioni avanzate (almeno in una prima fase), il grande sforzo, nonch\u00e9 l\u2019ago della bilancia sul controllo dei costi, si sposta sulla system integration e sulla comprensione logica del contesto in cui il LLM opera.<\/p>\n\n\n\n Nell\u2019utilizzo dei LLM, il costo dipende dal numero di token (unit\u00e0 di misura assimilabili alle sillabe testuali) in ingresso nel prompt e in uscita dal risultato generato. Per evitare spese eccessive e fuori controllo, \u00e8 utile limitare l’incertezza nell’uso del prompt, quando possibile.<\/p>\n\n\n\n Torniamo al nostro planner: come menzionato in precedenza, ciascun input testuale, ha un costo per nulla trascurabile per l\u2019azienda. Il costo elevato \u00e8 dovuto al fatto che, affinch\u00e9 la soluzione funzioni, ogni prompt deve includere non solo le richieste dell’utente, ma anche altre informazioni “nascoste”, come l’intero menu (meta-prompt). Poich\u00e9 la lunghezza e la variabilit\u00e0 del prompt sono difficili da ottimizzare, il costo non pu\u00f2 essere previsto con certezza.<\/p>\n\n\n\n Siamo comunque riusciti a evitare l\u2019esplosione incontrollata dei costi con un paio di accortezze. Una dettata da noi, ovvero un limite forzato di 200 caratteri (quindi un numero di token in ingresso pi\u00f9 o meno stabile) per esprimere i propri criteri di scelta, e una data dalla piattaforma stessa (quindi dal contesto): attraverso l\u2019utilizzo del meta-prompt, ovvero della parte di informazioni non visibili all\u2019utente, siamo stati in grado di passare il numero totale di crediti disponibili per pasto (80 nel nostro caso, corrispondenti a una spesa di 8\u20ac) da cui viene man mano sottratto il costo di ciascun piatto scelto dal LLM. Nonostante notoriamente i LLM non eccellano nei calcoli matematici, il risultato ottenuto \u00e8 stato buono, in quanto il sistema stesso si occupa di non mostrare eventuali piatti che eccederebbero il residuo dei crediti.<\/p>\n\n\n\n Sebbene in modo approssimativo, siamo riusciti a ottenere un risultato per l’utente all’interno dei limiti dei punti disponibili e a limitare la spesa grazie a una gestione per l\u2019azienda prevedibile del numero di token in output.<\/p>\n\n\n\n Uno degli aspetti che abbiamo sottovalutato nell’utilizzo dei LLM \u00e8 senz’altro il concetto di \u201clinguaggio\u201d. \u00c8 importante sottolineare che i LLM non si limitano ad accettare e generare testo in linguaggio naturale umano<\/em>. In realt\u00e0, possono accettare input in qualsiasi linguaggio formale dotato di una grammatica e produrre un output nella stessa forma.<\/p>\n\n\n\n I linguaggi di programmazione sono ovviamente compresi in questa definizione pi\u00f9 ampia: il JSON, ad esempio, essendo un formato di interscambio, \u00e8 a tutti gli effetti un linguaggio strutturato e pu\u00f2 quindi essere utilizzato sia come input in un prompt, sia come output richiesto. \u00c8 infatti possibile chiedere al LLM di produrre il risultato in un linguaggio diverso da quello naturale, ad esempio, di rappresentare il men\u00f9 proposto usando un JSON. Ci si pu\u00f2 spingere – ed \u00e8 bene – ad indicare l\u2019esatta forma del JSON che ci si aspetta in output. In questo modo, il modello fornir\u00e0 un output direttamente utilizzabile dal sistema del cliente per portare il valore all\u2019interno delle applicazioni e restituire agli utilizzatori finali una risposta integrata nell\u2019esperienza utente attesa. Nel caso specifico, il risultato viene utilizzato dal sistema per comporre il men\u00f9 nella medesima interfaccia che userebbe l\u2019utente. <\/p>\n\n\n\n In generale la possibilit\u00e0 di usare linguaggi vicini alla macchina rende possibile sfruttare gli LLM per avvicinare le richieste utente a sistemi tradizionali, unificando e migliorando la UX.<\/p>\n\n\n\n Le potenzialit\u00e0 della Generative AI sono oggi sotto gli occhi di tutti. A beneficiarne maggiormente sono sicuramente gli utenti finali grazie alle innumerevoli opportunit\u00e0 di toccare con mano i risultati di strumenti ormai di uso comune.<\/p>\n\n\n\n Tuttavia, per coloro che, come noi, operano nel settore, l’hype che circonda questa tecnologia solleva domande e incertezze. Se da un lato la possibilit\u00e0 di evitare le complessit\u00e0 tipiche di un pi\u00f9 tradizionale utilizzo dell\u2019AI \u00e8 un grosso vantaggio, dall’altro ci si chiede se il gioco possa veramente valere la candela.<\/p>\n\n\n\n A fronte di interessi e investimenti sempre crescenti nel settore, le aziende, anche le pi\u00f9 grandi, stanno ancora cercando di capire come monetizzare appieno le tecnologie basate su AI.<\/p>\n\n\n\n In conclusione, nonostante la popolarit\u00e0 tra gli utenti, sembra che il percorso verso una completa integrazione e un utilizzo sostenibile sia ancora piuttosto lungo e incerto. \u00c8 essenziale mantenere un approccio critico e bilanciato, valutando attentamente i benefici e i rischi associati a queste tecnologie emergenti.<\/p>\n\n\n\n Voi cosa ne pensate?<\/p>\n\n\n\n Avete gi\u00e0 realizzato soluzione Gen AI-based?<\/p>\n\n\n\n Fatecelo sapere nei commenti!<\/p>\n\n\n\n\n
<\/strong>I motori tradizionali si basano su labelling dei contenuti e algoritmi che utilizzano il filtraggio collaborativo, i quali potrebbero non catturare appieno la complessit\u00e0 delle preferenze individuali degli utenti.
Quelli basati sull’AI generativa, d’altro canto, possono generare raccomandazioni che tengono conto di una pi\u00f9 ampia gamma di fattori, inclusi quelli espressi in linguaggio naturale, offrendo una personalizzazione pi\u00f9 profonda
Usando la GenAI, \u00e8 stato possibile utilizzare i dati a disposizione dal cliente, senza dover effettuare labeling manuale. Tutte le informazioni presenti nella descrizione della pietanza ed espreesse in linguaggio naturale, vengono automaticamente utilizzate dal modello per categorizzarla e decidere quando e se proporla all\u2019utente in base al prompt fornito.
<\/li>\n\n\n\n
<\/strong>I motori tradizionali hanno numerose limitazioni nella comprensione delle richieste fatte in linguaggio naturale.
La Gen AI, al contrario, permette di elaborare e interpretare il linguaggio colloquiale e di rispondere accuratamente a query complesse \u201ccon la stessa moneta\u201d.
<\/li>\n\n\n\n
<\/strong>I motori tradizionali si limitano a suggerire contenuti o prodotti esistenti sulla base di metriche e modelli conosciuti. I motori che si basano sull’IA generativa, invece, hanno il potenziale per creare nuovi contenuti, come descrizioni di prodotti personalizzate, migliorando ulteriormente l’esperienza dell’utente.
<\/li>\n\n\n\n
<\/strong>I motori di raccomandazione tradizionali, infine, possono dipendere strettamente dai dati storici e dalle interazioni passate. In mancanza di questi, la loro capacit\u00e0 di scoprire nuove tendenze o raccomandare nuovi prodotti pu\u00f2 essere limitata. I sistemi basati su Gen AI possono, in teoria, superare tali limitazioni generando raccomandazioni innovative, anche in assenza di grandi volumi di dati storici.<\/li>\n<\/ul>\n\n\n\nTakeaway e lesson learned per il successo di un progetto di Generative AI.<\/h2>\n\n\n\n
Qualit\u00e0 del risultato e tempi di go-to-market sono rapportati allo sforzo<\/h5>\n\n\n\n
I benefici tangibili per l\u2019utente finale e per l\u2019azienda<\/h5>\n\n\n\n
Gi\u00e0 con il primo test, il modello impiega 38 secondi a presentare all\u2019utente una pianificazione. Come ci siamo detti, ci sono diversi aspetti perfettibili sia per ridurre i tempi, sia per migliorare l\u2019output. Tuttavia, in meno di 2 minuti l\u2019utente \u00e8 in grado di aggiustare la pianificazione proposta e ritrovarsi con un men\u00f9 completo.<\/p>\n\n\n\nBello s\u00ec. Ma sostenibile?<\/h5>\n\n\n\n
\n
<\/strong>Addestramento dei modelli e inferenza richiedono una quantit\u00e0 enorme di potenza di calcolo, contribuendo in modo consistente al consumo di risorse non rinnovabili e all’emissione di gas serra.
Inoltre, gli sviluppi rapidi nella Generative AI portano a una rapida obsolescenza dei dispositivi e delle infrastrutture necessarie per eseguire questi potenti modelli. Questo provoca un aumento di rifiuti elettronici notoriamente difficili da riciclare, con impatto sul problema del carbon footprint.
Si tratta di una questione che riguarda principalmente i grandi provider su cui noi possiamo avere poco impatto.
Dobbiamo per\u00f2 ricordarci che tanto noi come system integrator, quanto gli utenti come fruitori del servizio, siamo parte attiva di questa value chain.
<\/li>\n\n\n\n
<\/strong>Sul fronte della sostenibilit\u00e0 economica, sperimentare con la Generative AI comporta costi significativi. Un’azienda che si avvicina a questa tecnologia deve affrontare costi elevati, talvolta proibitivi, fin dalle prima fasi. Ad esempio, nel caso del nostro planner, gi\u00e0 in fase di test ciascuna chiamata alla Gen AI aveva dei costi tutt’altro che irrisori e per un’azienda nei suoi primi anni di attivit\u00e0 il costo del servizio \u00e8 un elemento che va considerato.
Per arrivare alla sostenibilit\u00e0 economica di un progetto di Gen AI-based, bisogna prima superare i costi delle fasi di test e arrivare in produzione con una soluzione in grado di generare un valore \u201cvendibile\u201d per l\u2019utente finale, tale da giustificare gli investimenti.
Per quanto importante, ad oggi resta difficile fare in modo che l\u2019utente finale abbia contezza del costo aziendale che sta dietro alla generazione del grande valore di cui pu\u00f2 usufruire. La ragione risiede probabilmente nella diffusione di strumenti “AI Powered” che offrono benefici simili gratuitamente.<\/li>\n<\/ul>\n\n\n\nGioie e dolori del calcolo dei costi<\/h5>\n\n\n\n
Il concetto di linguaggio<\/h5>\n\n\n\n
Per concludere<\/h2>\n\n\n\n
\n\n\n\nAbout Proud2beCloud<\/h4>\n\n\n\n