Chi siamo

Fatto a Catania.

MAFDET è sviluppato da Simone Di Mauro e Simone Di Natale, due amici di Catania che programmano insieme da quando erano bambini. Studiano entrambi all'Università di Catania, Informatica e Ingegneria Informatica. Tra i due: back end, IA, sicurezza, hardware, machine learning. Più o meno quello che serve per far partire un modello linguistico prima che tu prema Invio.

Simone Di Mauro su GitHub

Simone Di Mauro

Informatica · Laurea triennale, Università di Catania

Informatica, con le basi nello sviluppo back end, nell'intelligenza artificiale e nella cybersicurezza: servizi e API, i modelli che ci stanno dietro, e cosa succede quando qualcuno prova a romperli. Gli sta a cuore il software che gira in locale ed è sicuro per impostazione predefinita: niente account, nessun dato che esce dalla macchina, download che si fidano dei certificati di sistema invece di disattivare i controlli.

@MbareSimo99 ↗
Simone Di Natale su GitHub

Simone Di Natale

Ingegneria Informatica · Laurea triennale, Università di Catania

Ingegneria Informatica, a suo agio tra software design e hardware: come è strutturato un programma, e cosa ne fa davvero la macchina. I suoi interessi passano per machine learning, automazione e prestazioni: far entrare un modello in una scheda da 6 GB, misurare quanto costa ogni layer, e automatizzare i benchmark perché un risultato si possa ripetere invece che credere.

@TheLastOxygen ↗

◆ In pratica fanno tutto insieme: il motore, l'app, la ricerca, le discussioni su tutti e tre. Le aree qui sopra sono il punto di partenza di ciascuno, non una divisione del lavoro.

La storia

Due percorsi, un collo di bottiglia: l'attesa dopo Invio.

Sono cresciuti a Catania e hanno iniziato a programmare insieme da bambini: prima giochi e script, poi qualunque cosa richiedesse a un computer di fare qualcosa che non faceva di suo. L'abitudine è rimasta. L'università le ha dato due nomi, Informatica per uno e Ingegneria Informatica per l'altro, entrambi all'Università di Catania.

I due percorsi si sovrappongono esattamente dove vive MAFDET. Da un lato la teoria di come un modello linguistico legge (prefill, parallelo e veloce) e scrive (decode, un token alla volta). Dall'altro l'hardware che deve farlo abbastanza in fretta da sembrare istantaneo, con una KV cache che entra in sei gigabyte.

MAFDET è nato da una misura, non da uno slogan. Un modello locale su una RTX 2060 risponde a un problema di matematica circa dodici secondi dopo Invio, e la maggior parte di quei secondi è ragionamento. Durante i venti o trenta secondi passati a scrivere la domanda, la GPU è ferma. La domanda è venuta da sola: quel tempo si può usare?

Leggere in anticipo era la metà facile: tenere la KV cache allineata al testo, trattenere gli ultimi token, tagliare al prefisso comune a ogni modifica. È esatto, e mafdet judge lo dimostra contro un calcolo da zero. Ragionare in anticipo era la metà difficile: un modello che ragiona su un messaggio non ancora finito, con le sue note conservate tra una modifica e l'altra. Non è esatto, quindi è stato misurato nell'unico modo onesto, su problemi con una risposta nota, decine di volte, su due macchine.

È stato costruito apposta per l'hardware che la maggior parte delle persone ha già: una scheda da sei gigabyte del 2019 come macchina di riferimento, un M2 Pro come seconda, un percorso CPU per tutto il resto. Hardware più veloce lo rende più veloce. Ma non ne ha bisogno.

Come lavorano

Tre abitudini, tenute alla luce del sole.

Misuralo

Ogni affermazione su questo sito ha dietro uno script e un file JSON nel repository. Quando qualcosa non ha funzionato, il gatherer, le bozze speculative, è scritto con i numeri, non cancellato.

Di' cos'è

Un prototipo si chiama prototipo. Linux non è testato e il sito lo dice. La lettura anticipata è esatta e il pensiero anticipato no, e la differenza viene spiegata invece di essere smussata.

Costruisci per macchine vere

Niente PyTorch, niente cloud, niente account. L'app si configura da sola sulla GPU che hai, o sulla CPU se c'è solo quella, e non manda mai un messaggio da nessuna parte.

Fatti sentire.

Il posto migliore è GitHub: una issue, un benchmark dalla tua macchina, una pull request. Se hai una AMD Radeon, sarebbero particolarmente contenti di sentirti.