Vai al contenuto principale
Intelligenza artificiale
Data Science

5 progetti che puoi realizzare con modelli di IA generativa (con esempi)

Impara a usare modelli di IA generativa per creare un editor di immagini, un chatbot in stile ChatGPT con poche risorse, un'app per l'approvazione dei prestiti, automatizzare l'interazione con i PDF e un assistente vocale basato su GPT.
Abid Ali Awan's photo
Abid Ali Awan
Aggiornato · 10 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Crea il tuo account gratuito

Pratica and corso your progress.

Continua Con Google
Continuando, accetti i nostri Termini di utilizzo, la nostra Informativa sulla privacy e che i tuoi dati siano conservati negli Stati Uniti.

Un'IA che giostra tra più attività

In questo post esploreremo cinque progetti di IA generativa che ti aiuteranno a creare e rafforzare il tuo portfolio di machine learning e data science. Questi progetti sono pensati per approfondire tecnologie all'avanguardia come Stable Diffusion, Segment Anything, LangChain, Alpaca-LoRA e altro ancora.

Che tu sia alle prime armi con l'IA generativa o abbia già un po' di esperienza, questi progetti ti forniranno competenze preziose per distinguerti nelle candidature e nei colloqui di lavoro.

Puoi scoprire la serie GPT, inclusi GPT-1, GPT-2, GPT-3 e GPT-4, leggendo l'articolo "Che cos'è GPT-4 e perché è importante?". Puoi anche dare un'occhiata ad altri progetti di IA in un post separato.

1. StableSAM: Inpainting con Stable Diffusion e Segment Anything

In questo progetto userai il segment-anything di Meta, i diffusers di Hugging Face e Gradio per creare un'app in grado di cambiare lo sfondo, il volto, i vestiti o qualsiasi altra parte selezionata. Ha bisogno solo dell'immagine, dell'area selezionata e del prompt.

Caso d'uso:

StableSAM è perfetto per professionisti creativi nei settori del digital marketing, del design e dell'intrattenimento. Consente di modificare con precisione parti specifiche delle immagini, ideale per attività come cambiare sfondi, alterare outfit o modificare oggetti in materiali promozionali. Per gli hobbisti, è uno strumento fantastico per personalizzare le immagini senza competenze avanzate di design.

Competenze che imparerai:

  • Implementare una pipeline di inpainting di immagini con Stable Diffusion
  • Lavorare con il Segment Anything Model (SAM) di Meta per la segmentazione delle immagini
  • Creare un'applicazione web interattiva con Gradio
  • Usare i diffusers di Hugging Face per il deployment del modello

Creare la pipeline di inpainting con Stable Diffusion

Creeremo una pipeline di Inpainting con Stable Diffusion usando diffuser e i pesi del modello disponibili su stabilityai/stable-diffusion-2-inpainting · Hugging Face. Dopodiché, la abiliteremo su CUDA per l'accelerazione GPU. 

Definire la maschera dell'immagine e la funzione di inpainting

La funzione per la maschera dell'immagine viene creata usando SAM Predictor. Prende in input un'immagine, la sezione selezionata e un valore booleano is_backgroud per generare un'immagine mascherata e la segmentazione. 

Successivamente, la funzione di inpainting utilizza la pipeline di Inpainting di Stable Diffusion per cambiare le parti selezionate delle immagini. Le pipeline richiedono immagine di input, immagine mascherata, immagine segmentata, testo del prompt e prompt negativo.  

Creare l'interfaccia Gradio

Creerai una riga e aggiungerai tre blocchi immagine. Per un MVP, devi aggiungere un'altra riga con un pulsante di invio. Poi, devi modificare l'oggetto immagine di input per selezionare i pixel, generare maschera e segmentazione e aggiungere l'azione al pulsante di invio per eseguire la funzione di inpainting.

Gradio è piuttosto semplice da imparare. Puoi trovare tutto nella documentazione di Gradio. 

Versione migliorata di StableSAM

La versione migliorata di StableSAM è disponibile su Hugging Face e include una pipeline di inpainting personalizzata che utilizza ControlNet. Usa Runway ML Stable Diffusion Inpainting invece di Stability AI. 

Pacchetto StableSAM

Come puoi vedere, la versione finale dell'app ha un aspetto pulito, con un blocco di segmentazione, un pulsante di pulizia, l'opzione per lo sfondo e il prompt negativo. 

Demo di StableSAM

Risorse: 

2. Alpaca-LoRA: crea un chatbot in stile ChatGPT con risorse minime 

Alpaca-LoRA fornisce tutti i componenti necessari per creare un tuo chatbot specializzato in stile ChatGPT usando una singola GPU. In questo progetto vedremo l'impostazione iniziale, l'addestramento, lo script di inferenza e il client nativo per eseguire l'inferenza sulla CPU.

Caso d'uso:

Questo progetto è eccellente per chi è interessato a costruire sistemi di IA conversazionale personalizzati. Che tu stia creando un chatbot per l'assistenza clienti di una piccola azienda o sviluppando un assistente personale, Alpaca-LoRA offre un modo efficiente per addestrare un chatbot specializzato con risorse computazionali limitate. È ideale per sperimentare il fine-tuning di modelli linguistici con un budget contenuto.

Competenze che imparerai:

  • Fine-tuning di modelli linguistici con LoRA su una singola GPU
  • Configurazione e utilizzo del dataset Stanford Alpaca
  • Esecuzione di script di inferenza in ambienti a basse risorse (ad es. Raspberry Pi)
  • Deployment di un'interfaccia chatbot basata su Gradio
  • Comprendere come modelli linguistici di grandi dimensioni come LLaMA vengono addestrati e ottimizzati

Configurazione locale

  1. Clona il repository: tloen/alpaca-lora
  2. Installa le dipendenze usando pip install -r requirements.txt
  3. Se bitsandbytes non funziona, installalo dal codice sorgente. 

Addestramento

In questa parte vedremo lo script di fine-tuning che puoi eseguire sul modello LLaMA usando il modello Stanford Alpaca ripulito. 

Puoi consultare il repository per modificare gli iperparametri e ottenere prestazioni migliori.

python finetune.py \
    --base_model 'decapoda-research/llama-7b-hf' \
    --data_path 'yahma/alpaca-cleaned' \
    --output_dir './lora-alpaca'

Inferenza

Lo script di inferenza legge il modello LLaMA di base da Hugging Face e carica i pesi LoRA per eseguire un'interfaccia Gradio. 

python generate.py \
    --load_8bit \
    --base_model 'decapoda-research/llama-7b-hf' \
    --lora_weights 'tloen/alpaca-lora-7b'

Puoi anche usare alpaca.cpp per eseguire i modelli alpaca su CPU o su Raspberry Pi 4 con 4 GB di RAM. Inoltre, puoi utilizzare Alpaca-LoRA-Serve per creare un'interfaccia in stile ChatGPT, come mostrato qui sotto. 

Screenshot di Alpaca-LoRA-Serve

Risorse:

3. Automatizzare l'interazione con i PDF con LangChain e ChatGPT

Crea il tuo clone di ChatPDF usando il loader PDF di LangChain, OpenAI Embeddings e GPT-3.5. Creerai un chatbot che può dialogare con il tuo libro, documentazione legale e altri documenti PDF importanti.

Caso d'uso:

Questo progetto è utile per automatizzare flussi di lavoro basati su documenti, come l'analisi di articoli di ricerca, contratti legali o report finanziari. Puoi costruire un chatbot che risponde a domande specifiche sui documenti PDF, uno strumento potente in settori come il legale, l'accademia o la business intelligence, dove è essenziale processare grandi quantità di testo.

Competenze che imparerai:

  • Caricare ed elaborare documenti PDF usando il PyPDFLoader di LangChain
  • Creare embedding e vettorizzare i dati dei documenti con OpenAIEmbeddings
  • Costruire un database vettoriale per interrogare i documenti con Chroma
  • Integrare ChatGPT con dati vettorializzati per il question answering
  • Sviluppare una semplice interfaccia chatbot per PDF con Gradio

Caricare il documento

Useremo il document loader di LangChain per caricare i PDF e leggerne i contenuti.

from langchain.document_loaders import PyPDFLoader

pdf_path = "./paper.pdf"
loader = PyPDFLoader(pdf_path)
pages = loader.load_and_split()
print(pages[0].page_content)

Creare embedding e vettorizzazione

Creeremo embedding usando la classe OpenAIEmbeddings dell'API LangChain. Dopodiché passeremo questi embedding alla classe Chroma per creare un database vettoriale per il documento PDF. 

from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma

embeddings = OpenAIEmbeddings()
vectordb = Chroma.from_documents(pages, embedding=embeddings, persist_directory=".")

vectordb.persist()

Interrogare il PDF

Useremo la classe ChatVectorDBChain per interagire con ChatGPT usando un database vettoriale generato. 

from langchain.chains import ChatVectorDBChain
from langchain.llms import OpenAI

pdf_qa = ChatVectorDBChain.from_llm(
    OpenAI(temperature=0.9, model_name="gpt-3.5-turbo"),
    vectordb,
    return_source_documents=True,
)

query = "What is the VideoTaskformer?"
result = pdf_qa({"question": query, "chat_history": ""})
print("Answer:")
print(result["answer"])

Il passaggio successivo non è menzionato nel video tutorial. Puoi usare il framework Gradio per creare un'app web e condividerla con colleghi e amici. 

Screenshot dal tutorial su YouTube

Risorse:

4. Assistente vocale Bing-GPT

Crea il tuo assistente personale basato sull'IA proprio come J.A.R.V.I.S. Per farlo ti serviranno l'API di OpenAI, una libreria per text-to-speech, una libreria per il riconoscimento vocale e l'IA generativa.

Caso d'uso:

Il Bing-GPT Voice Assistant è ideale per creare assistenti personali vocali che gestiscono attività come impostare promemoria, rispondere a domande o controllare dispositivi smart home. Questo progetto può essere ampliato per automatizzare processi aziendali, creare soluzioni di assistenza clienti basate sulla voce o realizzare strumenti di IA accessibili per persone con disabilità.

Competenze che imparerai:

  • Usare l'API di OpenAI per generare risposte del chatbot
  • Implementare sintesi e riconoscimento vocale usando Whisper e Polly
  • Impostare il rilevamento della parola di attivazione per interazioni vocali
  • Costruire un assistente ibrido usando EdgeGPT e ChatGPT
  • Integrare tecnologie text-to-speech e riconoscimento vocale in Python

Dopo aver caricato le librerie richieste, devi fornire la chiave API di OpenAI:

openai.api_key = "[paste your OpenAI API key here]"

Parola di attivazione

Crea una funzione di wake word per attivare l'IA. In questo caso, lo sviluppatore usa "'bing" o "gpt".

Sintesi vocale

La funzione di sintesi vocale fornisce l'inferenza text-to-speech. Puoi accedere a polly (text-to-speech) da boto3 e riprodurre l'audio usando pydub.

Trascrizione con Whisper

Il riconoscimento vocale è gestito da openai/whisper. Devi solo studiarne l'API per integrarlo nella tua applicazione. 

ChatBot con EdgeGPT

Infine, userai acheong08/EdgeGPT e l'API di OpenAI per creare un chatbot. Se l'utente usa la parola di attivazione "bing'' verrà usato il modello EdgeGPT, altrimenti il modello ChatGPT. 

Se cerchi un'implementazione molto più semplice di un assistente vocale, dai un'occhiata a OpenAI Whisper, ChatGPT, TTS e interfaccia web Gradio. 

Immagine dal tutorial su YouTube

Risorse:

5. Un progetto di data science end-to-end

In questo progetto useremo ChatGPT per lavorare su applicazioni end-to-end di classificazione per l'approvazione dei prestiti. Ci serve solo l'accesso all'interfaccia di ChatGPT e una macchina personale per eseguire il codice. 

Caso d'uso:

Questo progetto è pensato per aspiranti data scientist che vogliono costruire una pipeline di machine learning completamente funzionale con l'aiuto dell'IA. Imparerai a usare ChatGPT per pianificare, eseguire e distribuire un modello di machine learning, un'aggiunta eccellente a qualsiasi portfolio di data science. Usa questo progetto per prevedere approvazioni di prestiti, churn o rilevare frodi.

Competenze che imparerai:

  • Usare ChatGPT per supportare l'analisi esplorativa dei dati (EDA)
  • Automatizzare attività di feature engineering e preprocessing dei dati
  • Costruire e ottimizzare modelli di machine learning con l'assistenza di ChatGPT
  • Creare un'app web di machine learning con Gradio

Pianificazione del progetto

Nella fase di pianificazione descriveremo il dataset e cosa vogliamo ottenerne. A volte le risposte non sono perfette, ma puoi affinarle con prompt successivi. 

Dopodiché inizieremo a seguire il piano sintetico. 

Analisi esplorativa dei dati (EDA) 

Chiederemo a ChatGPT di generare codice Python che carichi il dataset ed esegua l'EDA con varie tecniche di visualizzazione. Puoi anche chiedergli di interpretare i risultati.

Feature engineering

Abbiamo chiesto a ChatGPT di scrivere codice di feature engineering e, sorprendentemente, ha creato due feature a partire da quelle esistenti. Ciò significa che l'IA comprende appieno il dataset. 

Preprocessing e bilanciamento dei dati

Abbiamo un dataset sbilanciato e, in questa parte, useremo ChatGPT per generare codice di preprocessing e bilanciamento delle classi. 

Selezione del modello

Abbiamo semplicemente chiesto a ChatGPT di scrivere il codice per la selezione del modello specificando i modelli di machine learning. Dopo l'esecuzione, selezioneremo il modello con le prestazioni migliori. 

Tuning degli iperparametri e valutazione del modello

Per migliorare le prestazioni, chiederemo a ChatGPT di scrivere codice Python per il tuning degli iperparametri e la valutazione del modello, e di salvare il modello con le prestazioni migliori.

Creare un'app web con Gradio

Chiederemo a ChatGPT di scrivere il codice dell'app Gradio usando il modello e il preprocessing salvati. L'IA ha compreso le feature in input e i risultati in output. Il risultato è stata un'app web completamente funzionante. 

Deployment dell'app web su Spaces

Nel passaggio finale abbiamo chiesto a ChatGPT di distribuire l'app web su uno space. Ha fornito alcuni passaggi da seguire per effettuare il deployment in pochi minuti. 

App di classificazione approvazione prestiti

Questo progetto insegna anche consigli su come scrivere prompt efficaci, una competenza ormai essenziale in ogni campo. 

Risorse: 

Conclusione

Questo è solo l'inizio di ciò che arriverà con i modelli di IA generativa. La comunità open source sta lavorando sodo per sviluppare strumenti che ti aiutino a costruire qualsiasi tipo di IA. Puoi usare questi strumenti persino per creare AGI (Artificial General Intelligence); dai un'occhiata a Auto-GPT (open source sperimentale per creare GPT-4 completamente autonomo) e babyagi (sistema di gestione delle attività potenziato dall'IA). 

In questo post abbiamo coperto progetti comprensibili a tutti i livelli e che richiedono poche risorse per iniziare. Usano tutti strumenti, modelli, dataset e pacchetti open source disponibili a chiunque.

Se sei nuovo su ChatGPT, valuta di seguire il corso Introduzione a ChatGPT. In alternativa, se hai già familiarità con l'IA generativa, puoi migliorare le tue abilità di prompting consultando il Cheat Sheet di ChatGPT per la Data Science o esplorando le seguenti risorse:

FAQs

Posso completare questi progetti di IA generativa se sono alle prime armi con il machine learning e l'IA?

Assolutamente! Anche se alcuni progetti possono coinvolgere strumenti e tecniche avanzate, le istruzioni passo passo fornite nel post del blog ti guideranno durante il percorso. Non devi essere un esperto per iniziare e molti strumenti come Gradio, Hugging Face e LangChain sono progettati per i principianti. Inoltre, questi progetti ti aiuteranno a costruire solide basi nell'IA, rendendo più semplice affrontare argomenti più complessi in futuro.

Ho bisogno di una GPU di fascia alta per eseguire questi progetti di IA generativa?

Non necessariamente. Alcuni progetti, come Alpaca-LoRA, sono pensati per essere eseguiti su una singola GPU o persino su una CPU, il che significa che non ti serve una macchina di fascia alta per completarli. Per i progetti che richiedono più potenza computazionale, puoi utilizzare servizi cloud come Google Colab, AWS o Hugging Face Spaces, che offrono l'accesso a GPU gratuitamente o a basso costo.

Come posso presentare questi progetti di IA nel mio portfolio per distinguermi nelle candidature?

Questi progetti sono perfetti da mostrare nel tuo portfolio perché mettono in evidenza la tua capacità di lavorare con strumenti di IA all'avanguardia. Quando li inserisci nel portfolio, assicurati di:

  • Includere spiegazioni dettagliate dei progetti, descrivendo il problema che hai risolto, gli strumenti che hai usato e il risultato finale.
  • Condividere link a demo live o repository GitHub in modo che i potenziali datori di lavoro possano vedere il tuo lavoro in azione.
  • Mettere in evidenza eventuali sfide uniche che hai incontrato e come le hai risolte, dimostrando capacità di problem solving e pensiero critico.

Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

In quanto data scientist certificato, sono appassionato di sfruttare tecnologie all’avanguardia per creare applicazioni di machine learning innovative. Con una solida esperienza in riconoscimento vocale, analisi e reportistica dei dati, MLOps, AI conversazionale e NLP, ho affinato le mie competenze nello sviluppo di sistemi intelligenti in grado di avere un impatto concreto. Oltre alla mia expertise tecnica, sono anche un comunicatore efficace, con il talento di rendere chiari e sintetici concetti complessi. Di conseguenza, sono diventato un blogger molto seguito in ambito data science, condividendo idee ed esperienze con una community in crescita di professionisti dei dati. Attualmente mi concentro sulla creazione e sull’editing di contenuti, lavorando con large language model per sviluppare contenuti potenti e coinvolgenti che possano aiutare aziende e singoli a valorizzare al meglio i propri dati.

Argomenti
Intelligenza artificiale
Data Science

Approfondisci l'IA generativa con questi corsi!

Corso

Concetti di IA generativa

2 ore
121.3K
Scopri come usare l'IA generativa in modo responsabile. Scopri come si sviluppano i modelli di IA generativa e quale impatto avranno sulla società in futuro.
Vedi i dettagliInizia Il Corso

Crea il tuo account gratuito

Pratica and corso your progress.

Continua Con Google
Continuando, accetti i nostri Termini di utilizzo, la nostra Informativa sulla privacy e che i tuoi dati siano conservati negli Stati Uniti.
Mostra altro
Correlato

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra altro