DEV Status :
ALPHA
Ciao a tutti amici di Boinc Italy!
Chissà se qualcuno qui dentro ancora si ricorda di me: sono stato abbastanza attivo qualche anno fa, più a livello di passione che potenza di calcolo visto che le mie macchine sono sempre state un bel po' limitate. Poi purtroppo ho notato, specie nel periodo successivo al Covid, un progressivo abbandono di Boinc da parte di tanti progetti che apprezzavo molto, principalmente in ambito biomedico.
Nel frattempo le cose sono cambiate anche nella mia vita e da studente di filosofia ed informatica (percorso strano, lo so

) sono diventato ricercatore all'Università di Torino, al momento junior (borsista) ma spero presto di ottenere un dottorato qui o altrove, forse già quest'anno.
Mi occupo di Intelligenza Artificiale, in particolare Large Language Models (quindi tutto quello che è dietro ChatGPT). La mia ricerca "ufficiale" è relativa allo sviluppo di dataset e benchmark per la lingua italiana, su cui stiamo lavorando in un ambiente molto stimolante. Nel frattempo, però, mi sto avvicinando molto di più agli studi di "interpretabilità", ovvero cercare di capire come e perchè i modelli effettivamente funzionano.
Nonostante abbia spesso accesso a delle buone risorse fornite dall'Università o dal Cineca, penso che Boinc possa essere utilizzato alla grande per aiutare ancora di più la ricerca visto che non sempre si riescono ad usare i server, specie per progetti troppo lunghi o troppo sperimentali.
Sto per cominciare studi di interpretabilità sulla lingua italiana e vorrei usare Boinc per far girare i vari esperimenti necessari. Si tratterebbe della prima volta in cui Boinc viene usato in questo tipo di ambito.
Ancora è decisamente troppo presto per dire se il progetto effettivamente partirà, comunque ci tengo a dire che non ho intenzione che questo progetto rimanga solo "il mio" progetto: non avrei nè le capacità nè le risorse per gesitrlo. Ho già accennato dell'idea alle persone che mi seguono e quindi, se tutto l'aspetto tecnico funziona correttamente, è molto probabile che diventi un progetto ufficiale o di Unito o di un altro gruppo pubblico dedito alla ricerca sull'AI. Di conseguenza gli esperimenti non saranno solo i miei esperimenti, ma idealmente esperimenti inviati anche da altri ricercatori sparsi per l'Italia.
Il progetto Boinc dovrebbe inserirsi anche in un progetto più ampio di collaborazione "umana" e non legata alla mera potenza di calcolo, invitando i volontari ad "insegnare" ai modelli italiani del futuro come maneggiare correttamente temi e discipline evitando così un appiattimento totale sulla cultura angloamericana, aspetto sicuramente critico del modo in cui vengono addestrati i modelli attuali. Si potrebbero ad esempio "donare" tesi, appunti, dispense... in modo da creare dataset di qualità per l'addestramento di modelli open source. Sto dando un'occhiata a BUDA, altro progetto del creatore di Boinc, e sembra molto interessante per pensare a qualche applicazione di "distributed thinking" legata all'IA
Ci tengo inoltre a dire che questi progetti sono pensati non solo per gli "entusiasti" dell'IA ma anche per le persone che hanno un atteggiamento più critico nei confronti di questa tecnologia: possa piacere o no, è innegabile che si tratta di un qualcosa dalla portata vastissima e di conseguenza collaborare al suo sviluppo come comunità evitando che uno strumento del genere sia monopolio esclusivo di pochi gruppi privati dagli interessi opachi è in generale un modo per controllare e arginare eventuali sviluppi dannosi e pericolosi promuovendo alternative sviluppate in modo aperto e condiviso.
Ho già preparato un server boinc di test! Le prime applicazioni saranno "llama-boinc", che fa girare una versione modificata di LLama.CPP (quindi niente Python) e "geppetto-test" che riesce, sfruttando il nuovo sistema "BUDA" di Boinc, ad eseguire un container Docker contenente Python, Pytorch e le note librerie di HuggingFace. In tal modo è possibile facilmente eseguire modelli. In questa applicazione di test proviamo a far girare Geppetto, un piccolo modello Italiano sviluppato qualche anno fa, con dei prompt di prova. Al momento tutto gira su CPU ma in realtà il passaggio alle GPU, chiaramente più adatte a questo tipo di task, dovrebbe essere estremamente semplice.
Questo primo batch è totalmente inutile dal punto di vista dei risultati, ma si tratta di un primo necessario passo per avere un server boinc funzionante e capace di far girare del lavori utili. È stato faticossissimo far funzionare il server boinc
Spero che questa idea vi piaccia e aspetto con molto piacere critiche e suggerimenti da tutti voi

Avrei bisogno del supporto di qualcuno come beta-tester, che provi a far girare l'applicativo e macinare un po' di WU di test. C'è qualche volontario?
Vorrei anche chiedere se ci fosse qualcuno a cui questo progetto piace e magari è appassionato del tema: c'è tutta una squadra da formare! Sviluppatori, beta-tester, moderatori, amministratori... E servono tante, tante belle idee...
Inoltre, al momento non posso purtroppo darvi un indirizzo perchè non ho un server dove copiare il tutto (gira solo in locale). Fossi ancora a Roma, mia città natale, non avrei problemi a collegare un vecchio PC in casa da usare come server, ma qui a Torino non ne ho la possibilità in quanto mi collego da casa con i dati del cellulare. Non appena il progetto parte, credo di riuscire a migrare il tutto sui server di Unito.
Nel frattempo pensavo di usare un VPS ma intanto mi chiedo: c'è per caso qualcuno che potrebbe mettermi a disposizione un accesso SSH su una piccola macchina virtuale o fisica accessibile dall'esterno? Il server, privo di molte protezioni di sicurezza, sarebbe da tenere attivo per due/tre settimane ai fini di test, distribuendo l'indirizzo solo all'interno di Boinc Italy e ai miei colleghi dell'Università.
Intanto vi incollo, nel prossimo post, la descrizione breve che ho scritto nella home del progetto. Ancora è tutto super temporaneo, sia il nome che la descrizione.