Vai al contenuto

Software libero a scuola/AI get started

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Per provare a capire un po' come funziona l'AI e per raccogliere idee per l'apprendimento.

Prefazione semplice

[modifica | modifica sorgente]

L'Intelligenza Artificiale è un software piuttosto complesso che imita, e aumenta, le capacità umane. L'intelligenza artificiale risponde in chat a moltissime domande oppure è in grado di riconoscere il soggetto di fotografie o di leggere un libro in pochissimo tempo.

Prefazione meno semplice

[modifica | modifica sorgente]

L’intelligenza artificiale (IA) ha molte definizioni, senza una che metta tutti d’accordo. Un rapporto del 2007 ha identificato 53 definizioni di “intelligenza” e 18 di IA. Il numero è in crescita. Wikipedia descrive l’IA come “l’intelligenza mostrata dalle macchine”, ma questa definizione è considerata vaga. La mancanza di una definizione chiara può creare problemi, specialmente nei seminari sull’etica dell’IA, dove spesso si chiede “Cosa si intende veramente per IA?”, portando a discussioni infinite e frustranti senza mai raggiungere un consenso.

Per quello che ci riguarda, possiamo prendere per buona la seguente definizione.

Intelligenza Artificiale

[modifica | modifica sorgente]

L’intelligenza artificiale (IA) è una tecnologia che permette ai computer di imparare e prendere decisioni. I computer possono seguire programmi, cioè serie di istruzioni scritte da persone, per analizzare grandi quantità di informazioni e scegliere le azioni migliori. Per esempio, possono giocare a scacchi, riconoscere immagini o tradurre lingue. Inoltre oggi possono anche produrre testi scritti, immagini, musica o video sulla base delle richieste (prompt) che gli vengono date. Questi ultimi tipi di IA vanno sotto il nome di Intelligenza Artificiale Generativa.

Benché la storia dell'idea dell'IA abbia radici molto antiche fin nella mitologia greca, possiamo dare un'idea della stoia moderna partendo dalla metà del secolo scorso con il primo modello di rete neurale ad opera di McCulloch e Pitts nel 1943. Da quel momento è stato un susseguirsi di slanci e rallentamenti fino agli ultimi anni in cui il Machine Learning (ML) prima e il Deep Learning (DL) hanno fatto esplodere questa tecnologia e i cui ultimi figli sono i Large Language Model (LLM) come ChatGPT.

Una poco esaustiva, ma essenziale, lista può essere la seguente:

  • 1943: McCulloch e Pitts modellano una semplice rete neurale.
  • 1950: Alan Turing propone il Test di Turing.
  • 1956: Il termine “Intelligenza Artificiale” viene coniato alla Conferenza di Dartmouth.
  • 1966: ELIZA, un primo programma di elaborazione del linguaggio naturale, viene creato.
  • Anni ’80: La ricerca sull’IA riprende slancio con i sistemi esperti.
  • 1989: Yann LeCun introduce le reti neurali convoluzionali (CNN) per il riconoscimento delle cifre scritte a mano.
  • 1997: Deep Blue di IBM sconfigge il campione di scacchi Garry Kasparov.
  • 2012: Le CNN rivoluzionano il deep learning con AlexNet, che vince l’ImageNet competition.
  • 2017: Google introduce il modello Transformer, che diventa la base per molti sviluppi nell’elaborazione del linguaggio naturale, tra cui BERT e GPT.
  • 2020: OpenAI lancia GPT-3, una versione avanzata dei modelli basati su Transformer, che porta alla creazione di ChatGPT.
  • 2023: Progressi continui nei modelli linguistici di grandi dimensioni e nell’IA generativa, con tecnologie basate su Transformer che dominano il campo.
  • 2024: Google lancia Gemini, un modello avanzato di IA, e Meta, grazie a Yann LeCun Chief AI Scientist for Facebook AI Research (FAIR), introduce LLaMA un modello allenato Open Source.

Potremmo dare un'idea grafica del mondo dell'IA con l'immagine seguente:

L’immagine illustra la struttura dell’intelligenza artificiale, mostrando come l’apprendimento automatico si suddivide in apprendimento supervisionato, non supervisionato e rinforzato, con l’apprendimento profondo che abbraccia tutte queste categorie.
L’immagine illustra la struttura dell’intelligenza artificiale, mostrando come l’apprendimento automatico si suddivide in apprendimento supervisionato, non supervisionato e rinforzato, con l’apprendimento profondo che abbraccia tutte queste categorie.

Apprendimento Automatico (Machine Learning - ML)

[modifica | modifica sorgente]

Apprendimento Profondo (Deep Learning - DL)

[modifica | modifica sorgente]
I Modelli Linguistici di Grande Dimensione (Large Language models - LLM)
[modifica | modifica sorgente]

L'intelligenza artificiale opensource

[modifica | modifica sorgente]

Ollama e lmstudio sono due software opensource che permettono di provare l'IA testuale sui propri computer, sempre che siano ragionevolmente potenti. Stable Diffusion è un software di IA che genera immagini. Una CPU aggiornata, una adeguata quantità di RAM, dai 32GB in su, ed una scheda grafica potenze e con anch'essa una forte dotazione di RAM, ad esempio Nvidia 3060 con 12 GB di RAM dedicata, permettono di ottenere risultati accettabili in termini di precisione e velocità di risposta. Una volta installato il software si deve procedere con la scelta di un modello (di linguaggio). Ci sono molti modelli opensource che si possono studiare ed eventualmente scaricare da Hugging Face.

Installare l'AI su un proprio server

[modifica | modifica sorgente]

I software di IA possono essere installati ed usati sul proprio pc, in una rete locale o, se installati su un server esposto, in rete. Per le installazioni si possono servire diverse guide:

Esercitazioni per comprendere il funzionamento dell'AI

[modifica | modifica sorgente]

Un buon punto di partenza può essere la teacheble machine di Google.

Un interessante esercizio offerto dalla fondazione Bruno Kessler per Save the children.

Allenare l'AI

[modifica | modifica sorgente]

Le AI presenti in rete gemini di Goggle o chatgpt sono installate su pc molto potenti e vengono aggiornate dinamicamente. Inoltre è sempre possibile passare a versioni a pagamento ancor più performanti.

I software che permettono di utilizzare l'AI sui nostri pc di casa dipende dalla potenza della nostra macchina e dall'aggiornamento, manuale, dei modelli di linguaggio.

Ci potrebbe interessare, e a scuola ci interessa molto, però avere una AI locale per evitare di condividere dati e per renderla maggiormente informata su particolari argomenti: materie scolastiche, storia locale, geografia locale...

L'AI può essere allenata a svolgere questi compiti particolari. Per allenarla si può procedere in due modi: con un tuning, fine tuning, del modello di linguaggio oppure con un deposito di documentazione: modalità RAG.

Premesso che ogni modello di linguaggio viene creato attraverso un training e che questa attività richiede macchine piuttosto potenti, probabilmente al di fuori della portata di un utente privato o di un istituto comprensivo.

Ottenuto un modello, ad esempio Llama3 o Phi3 mini, si può prodere podi al suo tuning, ammesso di poter disporre di un computer sufficientemente potente che dovrà lavorare per un tempo in genere non breve.

RAG (Retrieval-Augmented Generation)

[modifica | modifica sorgente]

RAG è un processo che permette al modello di linguaggio in uso di consultare dinamicamente un insieme di documenti e di dati prima di rispondere. Di fatto i modelli sono allenati su temi generali ma se c'è bisogno di farli ricercare informazioni su temi particolari: manuali d'uso, libri di storia locale...

Per allenare la AI in modlalità RAG si può procedere con script, in genere scritti in Python, oppure con software server appositi.

Preparare l'IA a consultare documenti non è una procedura semplice.

Intelligenza artificiale RAG - Come fare

Apprendimento con AI

[modifica | modifica sorgente]

Alcune proposte su come sia possibile usare l'AI per l'apprendimento. Uno dei maggiori esercizi sia che si tratti di una AI testuale, una chat, sia che si tratti di generare immagini è quello di imparare a scrivere bene il prompt delle richieste per provare ad ottenere quello che si desidera. Osservare e descrivere i dettagli diventa necessario. Fanno parte di un processo di apprendimento anche le azioni necessarie ad allenare l'AI: raccogliere foto, testi, catalogarli, renderli fruibili all'AI...

Riassumere una fiaba

[modifica | modifica sorgente]

Far provare i ragazzi a fornire all'AI il riassunto di una fiaba e controllare che l'AI la riconosca. Ovviamente escludendo al possibilità di fornire il titolo e il nome dei personaggi.

Descrivere un quadro

[modifica | modifica sorgente]

Con AI che genera immagini creare un prompt che generi il quadro osservato, non vale dare il titolo e l'autore.

Far disegnare un luogo mitico

[modifica | modifica sorgente]

Chiedere alla AI che genera immagini di generare una immagine che appartiene ad un racconto, ad un mito, ad un romanzo.

Un personaggio famoso

[modifica | modifica sorgente]

Intervistare un personaggio famoso impersonato dall'AI.

Intervistare un monumento

[modifica | modifica sorgente]

Far impersonare all'AI un monumento, ma anche un fatto storico o qualsiasi altra cosa che si voglia intervistare.

Creare storyboards

[modifica | modifica sorgente]

Preparare materiale per un allenamento RAG

[modifica | modifica sorgente]

Per allenare l'IA servono dati, tanti dati, e sotto varie forme.

  • Raccogliere libri e documenti, convertirli nei formati migliori per poter essere studiati dall'IA, da docx a pdf a txt e così via.
  • Preparare raccolte di foto divise in cartelle nominate con le specifiche rappresentate: razze canine, tipi di edificio e così via.

Preparare dataset per il tuning

[modifica | modifica sorgente]

Scratch e l'AI

[modifica | modifica sorgente]

Una implementazione di scratch con'AI. Qui un'altra possibile variante di Scratch con AI.

Collegamenti esterni

[modifica | modifica sorgente]

AI opensource a scuola

[modifica | modifica sorgente]


Ai genera immagini online

[modifica | modifica sorgente]

AI genera storie e fumetti

[modifica | modifica sorgente]
Story-Boards.ai