Alpha 0.1.0
Runlix
Inferenza locale su Apple Silicon, senza Python.
Il problema
Su Apple Silicon i modelli MLX si usano con Python: ambienti, dipendenze, cache sparse e un terminale. Il punto non è la qualità del modello, è tutto il contorno che serve per farlo partire.
Vincoli
- Niente Python nel bundle: un'app sola da trascinare in Applicazioni.
- Memoria e determinismo misurati, non stimati: soglie nei test, non nei propositi.
- Una generazione per volta: meglio un limite dichiarato che una coda che finge.
- I dati dell'utente non si toccano: le prove non leggono né scrivono la cartella vera.
Architettura
- Core in Rust (runlix-core) sopra mlx-c vendorizzato: le correzioni vivono in patch, mai in modifiche in loco.
- App desktop Avalonia/.NET che pilota il core; bundle .app da 228 MB, DMG da 81 MB.
- Sito di prodotto separato: download, area riservata, licenze e piani, con font auto-ospitati.
- 691 prove per lingua e oracoli di generazione fissati da seme: la stessa sequenza, sempre.
Decisioni che contano
L'ordinamento del vocabolario era il costo
Su 128.000 logit si ordinava tutto a ogni token: 1,77 ms su circa 2 ms totali. I candidati ora si materializzano a scaglioni — 64, poi ×8 — e la velocità passa dal 64% al 93% di quella avida.
Vendorizzato, tradotto, mai modificato in loco
mlx-c resta intatto e ogni correzione vive in una patch: se non si applica più, la build fallisce e dice quale. Le architetture sono riscritte in Rust idiomatico, e ognuna ha il suo oracolo. Senza oracolo non si dichiara finita.
La soglia di memoria si misura, non si stima
Picco deterministico a 1115 MB valutando per strato, contro 1558 senza. Le soglie precedenti sono state rimisurate quando è cambiato ciò che misuravano.
Dove è arrivato
Alpha 0.1.0: 688 prove su 691 verdi, DMG firmato ma non ancora notarizzato, una generazione per volta e solo safetensors MLX. Il sito di prodotto è online su runlix.it.