Informazioni

Fare ricerca sui Large Language Models è particolarmente dispendioso in termini di risorse computazionali, un aspetto che può rendere difficoltoso condurre ricerche su questi interessanti modelli. Per questo motivo, LLMentorGrid propone l’utilizzo della piattaforma di calcolo distribuito “Boinc” al fine di utilizzare i computer dei volontari per eseguire applicazioni utili a far avanzare la ricerca scientifica relativa a tali modelli.

Effettuare l’addestramento di un modello utilizzando un paradigma distribuito come quello di Boinc, purtroppo, non è facilmente realizzabile: l’addestramento procede in modo sequenziale, ed è quindi difficilmente parallelizzabile in una serie di “workunit” perché, in pratica, la workunit “successiva” dipenderebbe da quella “precedente” e così via, facendo svanire i benefici derivanti dall’avere tante macchine a disposizione. Questo aspetto, unito alle richieste eccessive in termini tanto di potenza di calcolo, quanto di memoria, quanto di input/output e banda, hanno scoraggiato fino ad oggi l’utilizzo di Boinc nel campo dei Large Language Models, nonostante il grande impatto che questi modelli stanno avendo nel panorama contemporaneo.

LLMentorGrid, invece, propone la creazione di una piattaforma Boinc per l’esecuzione di esperimenti sui LLM che non siano direttamente l’addestramento o l’adattamento di grandi modelli.

In primo luogo, LLMentorGrid si propone di impiegare la potenza di calcolo gentilmente offerta dai volontari per eseguire compiti di inferenza ovvero esecuzione di modelli già esistenti al fine di raccogliere contenuti generati dai modelli. Questo può servire per vari scopi, come la generazione di vari tipi di dati sintetici (come riassunti, coppie domanda/risposta, catene di ragionamento…) preziosi per il successivo addestramento di nuovi modelli.

LLMentorGrid è sicuramente una piattaforma adatta per eseguire il benchmark dei modelli ovvero sottoporre delle batterie di test per verificare e valutare le loro prestazioni.

Infine, LLMentorGrid è un progetto avente come fine principale quello di far avanzare le ricerche legate al tema dell’interpretabilità ovvero il tentativo di aprire la “scatola nera” costituita dai “pesi” di un modello già addestrato, oscura perfino agli stessi sviluppatori del modello, al fine di rispondere alle domande legate al “perché” un modello si comporta in un certo modo e che tipo di circuiti emergono al suo interno al fine di svolgere i vari compiti di cui è capace. Si tratta di uno studio affascinante e fondamentale per quanto riguarda il problema dell’allineamento ovvero garantire che i modelli seguano gli scopi prefissati da chi li sviluppa evitando comportamenti pericolosi o nocivi. A tal fine LLMentorGrid può essere utilizzato per far girare librerie come “transformerlens” per raccogliere ed analizzare gli stati di attivazione del modello, oppure eseguire autoencoder sparsi per cercare di individuare quali “neuroni” di un modello si attivano nelle varie situazioni. A differenza dell’addestramento dei modelli, difficile da parallelizzare e quindi da eseguire tramite Boinc, le ricerche di interpretabilità si prestano benissimo a una architettura distribuita in quanto gli esperimenti sono facilmente scomponibili in elementi di piccole dimensioni che possono poi essere aggregati.

Contribuisci anche tu!

Welcome, LLMentorGrid

Join LLMentorGrid

Already joined? Log in.

News

The project is in an alpha stage
Hello to everyone,
I'm very happy for the incredible response to this project! While I initially shared this only on the Boinc.Italy forum, it's amazing to see how word has spread beyond.

I want to be transparent about where we are in the development process: we're currently in a very early alpha testing phase. During this time, I'm experimenting with different application configurations and tasks.
For those who've joined us already - please know that you're participating in the experimental stage where unexpected behavior and issues are completely normal. While I don't want to discourage anyone's participation, I should mention that the project will officially launch in 1-2 months. That's when we'll really need your full support (and more!)

Thank you for being part of this journey!
Best regards,
Matteo Rinaldi
8 Feb 2025, 14:28:22 UTC · Discuss


Benvenuti in LLMentorGrid - Fase di test
Ciao a tutti,
mi chiamo Matteo Rinaldi e sono un ricercatore presso l'Università di Torino.

Al momento sono l'unico amministratore del progetto, ma questa situazione è da ritenersi temporanea: il progetto interessa e non appena riuscirò ad ottenere dei risultati grazie al vostro aiuto coinvolgerò anche altri colleghi.

In questa prima fase di test gli obiettivi sono:

Far girare il modello "Geppetto" utilizzando la nota libreria "Transformers" di HuggingFace. Il primo batch di prova prevede l'interrogazione del modello con poco più di 127.000 frasi, tratti da opere di pubblico dominio reperite su LiberLiber. L'applicazione si limita ad interrogare il modello e salvare la risposta: i risultati non hanno alcun valore dal punto di vista scientifico, tuttavia si tratta di un passo essenziale per verificare la correttezza dell'idea e il funzionamento effettivo del server.

Il secondo obiettivo sarà provare a far girare un modello più grande, ad esempio Minerva nelle varie "taglie" 1B, 3B e 7B. In questa fase sperimenteremo anche l'uso delle GPU. Una volta verificate funzionalità e prestazioni dell'architettura con modelli più significativi, LLMentorGrid potrà cominciare ad essere utilizzato per esperimenti che prevedono l'inferenza ovvero l'interrogazione di un modello con dei prompt specifici al fine di creare dataset sintetici di vario genere. Ulteriori dettagli seguiranno dopo la conclusione della fase di test.

Parallelamente ai progetti di inferenza, conto di utilizzare LLMentorGrid per studi di interpretabilità. Proveremo a far girare tramite Boinc i framework TransformerLens e SAELens per eseguire esperimenti scientifici volti a studiare il funzionamento dei modelli.


IMPORTANTE LLMentorGrid utilizza il nuovo meccanismo "Buda" appena introdotto in Boinc che prevede l'utilizzo di Docker per l'esecuzione di contenitori nei quali l'applicativo possa trovare facilmente tutte le librerie di cui ha bisogno. A causa di questa scelta progettuale e considerato che Buda è al momento in beta test, sono richiesti agli utenti dei passaggi aggiuntivi per far girare l'applicativo:

1) Installare Docker. Questa procedura può variare a seconda della distribuzione di Linux che si usa, ad esempio su Ubuntu occorre utilizzare il comando

sudo apt-get install docker.io
mentre su Arch
sudo pacman -S docker

2) Eseguire il comando
sudo ln -s /usr/bin/docker /bin/unknown
. Questo serve per tutelarsi in caso il client di Boinc non riconosca l'installazione di docker e chiami quindi il comando unknown. Si tratta di una misura temporanea che dovrebbe essere corretta nelle prossime versioni di Boinc.

3) Fornire all'utente boinc i permessi per utilizzare docker
usermod -aG docker boinc
. Se ancora non funziona, usermod -aG docker username/code] sostituendo a username il proprio nome utente.

Usate il thread "Geppetto Test 001 - Segnalazioni e Commenti" nella sezione "Number Crunching" per ogni discussione tecnica in merito all'esecuzione dell'applicativo.

Buon divertimento e un immenso grazie!

Matteo
5 Feb 2025, 22:25:15 UTC · Discuss

... more

News is available as an RSS feed   RSS


©2025 Matteo Rinaldi