GGUFun

GitHub Website

Ultimamente mi chiedevo se fosse possibile costruire un file binario gguf che, caricato da ollama, rispondesse sempre con lo stesso testo, qualunque fosse l’input.

Non intendo qualcosa tipo un vero LLM con un system prompt molto perentorio: intendo un output davvero deterministico.

Risultato: si può fare, e non è nemmeno troppo complesso. Si azzerano gli impatti di attention heads e mlp sul residual stream, e si nasconde tutto dentro la matrice di unembedding.

Essendo tutto azzerato, l’ultimo embedding alla fine della computazione sara’ l’embedding dell’ultimo token ricevuto da ollama, che è il token di sistema che rappresenta l’inizio della parte dell’assistente.

La matrice di unembedding poi trasforma quell’embedding nel token che contiene l’intera risposta. Fine.

Passo successivo: creare snake in un gguf.

Si può fare anche questo. È un po’ più complesso e, a essere onesti, non sarei mai riuscito a costruirlo senza l’aiuto dell’AI.

Ma è lì, funziona, e mi fa venire una domanda: a chi devo rivolgermi per farmi costruire un .gguf che fa girare Doom? (scherzo: non credo si possa fare, a oggi).

P.S.

Scriverò presto una spiegazione più articolata e completa, ma il gioco è giocabile, e il codice si può vedere agli indirizzi qui sopra.