I recenti progressi nell'IA generativa stanno innalzando il livello degli strumenti che possono aiutare le startup a creare, scalare e innovare rapidamente. Questa adozione e democratizzazione generalizzate del machine learning (ML), in particolare con l'architettura di rete neurale basata su transformer, rappresenta un punto di svolta entusiasmante nella tecnologia. Con gli strumenti adeguati, le startup possono costruire nuove idee o riorientare il loro prodotto esistente per sfruttare i benefici dell'IA generativa a vantaggio dei propri clienti.
Pronti a creare un'applicazione di IA generativa per la vostra startup? Prima, ripassiamo i concetti, le idee principali e gli approcci comuni per la creazione di applicazioni di IA generativa.
Che cosa sono le applicazioni di IA generativa?
Le applicazioni di IA generativa sono programmi che si basano su un tipo di IA capace di creare nuovi contenuti e idee, come conversazioni, storie, immagini, video, codice e musica. Come tutte le applicazioni di IA, quelle generative funzionano con modelli di ML che vengono pre-addestrati con grandi quantità di dati e, in genere, sono chiamati modelli fondazionali (FM).
Un esempio di applicazione di IA generativa è Amazon CodeWhisperer, un plug-in di programmazione AI che aiuta gli sviluppatori a creare applicazioni più velocemente e in modo più sicuro, fornendo suggerimenti di codice per intere righe e funzioni complete all'interno del loro ambiente di sviluppo integrato (IDE). CodeWhisperer è stato addestrato su miliardi di righe di codice e può generare istantaneamente suggerimenti che vanno da frammenti a funzioni complete, basandosi sul feedback dell'utente e sul codice esistente. Le startup possono utilizzare i crediti AWS Activate con il livello professionale di CodeWhisperer o iniziare con il livello individuale, che è gratuito.
La crescita delle startup di IA generativa e gli strumenti facilitatori
C'è una crescita accelerata nelle startup di IA generativa e anche nelle startup che creano strumenti per semplificare l'adozione di tale tecnologia. Strumenti come LangChain, un framework open-source per lo sviluppo di applicazioni basate su modelli linguistici, rendono l'IA generativa più accessibile a una gamma più ampia di organizzazioni, consentendo un'adozione più rapida. Questi strumenti includono anche funzionalità essenziali quali:
- l'ingegneria dei prompt (prompts);
- l'ampliamento dei servizi (come l'integrazione di strumenti o database vettoriali);
- la supervisione dei modelli;
- la misurazione della qualità dei modelli;
- le barriere di protezione (guardrails);
- l'annotazione dei dati;
- l'apprendimento per rinforzo dal feedback umano (RLHF) e molti altri.
Nel caso di un'applicazione o strumento di IA generativa, il nucleo è il modello fondazionale. I modelli fondazionali sono una classe di potenti modelli di machine learning che si distinguono per la loro capacità di essere pre-addestrati con grandi quantità di dati per svolgere un'ampia gamma di compiti successivi. Questi compiti includono la generazione di testo, riassunti, l'estrazione di informazioni, domande e risposte e i chatbot. Al contrario, i modelli di ML tradizionali sono addestrati per eseguire un compito specifico a partire da un dataset mirato.
Come i modelli fondazionali generano risultati
Allora, come fa un modello fondazionale a “generare” i risultati per cui sono note le applicazioni di IA generativa? Queste capacità sono il risultato di pattern e relazioni di apprendimento che consentono al FM di prevedere l'elemento o gli elementi successivi di una sequenza o di generarne uno nuovo.
In ogni caso, il modello inizia con un vettore seme derivato da una “richiesta” o prompt: i prompt descrivono il compito che il modello deve eseguire. La qualità e il dettaglio (noto anche come “contesto”) del prompt determinano la qualità e la rilevanza del risultato.
Approcci comuni per la creazione di applicazioni di IA generativa
1. Utilizzare un modello fondazionale ottimizzato per le istruzioni con l'ingegneria dei prompt
L'approccio più semplice per creare un'applicazione di IA generativa consiste nell'utilizzare un modello fondazionale ottimizzato per le istruzioni e fornire un prompt significativo (l'“ingegneria dei prompt”) mediante l'apprendimento da zero o con pochi esempi (zero-shot o few-shot learning). Un modello ottimizzato per le istruzioni (come FLAN T5 XXL, Open-Llama o Falcon 40B Instruct) utilizza la sua conoscenza di compiti o concetti correlati per generare previsioni in risposta ai prompt. Ecco alcuni esempi di prompt:
- "Traduci la seguente frase in spagnolo: 'Ciao, come stai?'"
- "Scrivi un breve racconto su un robot che impara a dipingere."
- "Titolo: \"L'università avrà presto un nuovo edificio\"\n Dato il titolo precedente di un articolo immaginario, immagina l'articolo."
Le startup, in particolare, possono beneficiare della rapida implementazione, delle minime esigenze di dati e dell'ottimizzazione dei costi che derivano dall'uso di un modello ottimizzato per le istruzioni. Questo approccio consente di iniziare rapidamente senza la necessità di un'ampia personalizzazione.
2. Quando personalizzare un modello fondazionale
Non tutti i casi d'uso possono essere soddisfatti mediante la sola ingegneria dei prompt nei modelli ottimizzati per le istruzioni. I motivi per personalizzare un modello fondazionale per la vostra startup possono includere:
- La necessità di una maggiore precisione o accuratezza per un compito specifico.
- La gestione di un linguaggio o gergo specifico del dominio (ad esempio, terminologia medica o finanziaria).
- L'incorporazione di dati proprietari o di conoscenza interna che il modello di base non ha mai visto prima.
- La creazione di un comportamento unico o di una personalità per l'applicazione, non ottenibile solo con i prompt.
- L'ottimizzazione per specifiche metriche di performance che richiedono un adattamento più profondo del modello.
Tecniche comuni per la personalizzazione di un modello fondazionale
Esistono tre tecniche comuni per personalizzare un modello fondazionale.
1. Messa a punto (Fine-tuning)
Questa tecnica implica l'addestramento del modello fondazionale per completare un compito specifico, basandosi su un dataset etichettato a tale scopo. Un dataset etichettato consiste in coppie di prompt e risposte. Questa tecnica di personalizzazione è vantaggiosa per le startup che desiderano personalizzare il loro FM in modo rapido e con un set minimo di dati: l'addestramento richiede meno passaggi e dataset. I pesi del modello vengono aggiornati in base al compito o al livello che si sta ottimizzando, consentendo al modello di adattarsi meglio alle sfumature del compito specifico pur mantenendo le sue vaste capacità pre-esistenti.
2. Pre-addestramento continuo (Continual Pre-training)
Questa tecnica implica l'addestramento del modello fondazionale utilizzando un grande “corpus”, un insieme di materiali di addestramento, di dati non etichettati specifici di un dominio (il cosiddetto “apprendimento auto-supervisionato”). Questa tecnica beneficia i casi d'uso che includono gergo specifico del dominio e dati statistici che il modello fondazionale esistente non aveva visto prima. Ad esempio, le startup che creano un'applicazione di IA generativa per lavorare con dati proprietari nel settore finanziario potrebbero beneficiare del pre-addestramento dell'FM su vocabolario personalizzato e della “tokenizzazione”, un processo che consiste nel suddividere il testo in unità più piccole denominate token. Per raggiungere una maggiore qualità, alcune startup implementano tecniche di apprendimento per rinforzo dal feedback umano (RLHF) in questo processo. Oltre a ciò, sarà necessario effettuare messe a punto precise basate sulle istruzioni per affinare un compito specifico. Si tratta di una tecnica costosa e che richiede molto tempo rispetto alle altre, poiché aggiorna i pesi del modello su tutti gli strati, portando a una modifica più profonda del suo comportamento generale.
3. Generazione aumentata da recupero (Retrieval Augmented Generation - RAG)
Questa tecnica estende il modello fondazionale con un sistema di recupero delle informazioni che si basa su una rappresentazione vettoriale densa. La conoscenza di dominio chiuso o i dati proprietari passano attraverso un processo di embedding del testo per generare una rappresentazione vettoriale del corpus e vengono archiviati in un database vettoriale. Il risultato di una ricerca semantica basata sulla query dell'utente diventa il contesto del prompt. Il modello fondazionale viene utilizzato per generare una risposta basata sul prompt con contesto. In questa tecnica, il peso del modello fondazionale non viene aggiornato. Questo approccio è particolarmente efficace quando è necessario che il modello acceda a informazioni molto specifiche e aggiornate che non erano presenti nel suo dataset di addestramento originale, senza dover ri-addestrare l'intero modello, riducendo così costi e complessità.
Componenti di un'applicazione di IA generativa
Nelle sezioni precedenti, abbiamo appreso vari approcci che le startup possono adottare con i modelli fondazionali quando creano applicazioni di IA generativa. Ripassiamo come questi modelli fondazionali fanno parte degli ingredienti o componenti tipici necessari per creare un'applicazione di IA generativa.
Al centro, si trova un modello fondazionale. Nell'approccio più semplice descritto in precedenza in questo blog, è necessaria un'applicazione web o un'applicazione mobile (in alto a sinistra nello schema concettuale) che accede al modello fondazionale tramite un'API (in alto). Questa API è un servizio gestito che facilita l'interazione tra l'applicazione utente e il potente modello di IA, astrarre la complessità e fornendo un'interfaccia standardizzata e sicura per le richieste e le risposte.