La domanda me la fanno sempre nello stesso momento della riunione, di solito dopo che qualcuno ha detto "sì ma i dati dove finiscono". Uno alza gli occhi dal blocco e chiede se questa roba non si possa tenere in casa.
La risposta è sì. La domanda giusta però è un'altra, ed è quella che questo pezzo prova a misurare: da quanti utenti in su smette di essere un costo.
Perché "si può fare" non è mai stato il punto. Si può fare, e lo fanno in tanti. Il punto è che una macchina con le schede video la paghi anche la notte di Ferragosto quando non la usa nessuno, mentre il cloud lo paghi a consumo e da fermo non ti costa niente. Tutto il ragionamento sta lì dentro.
Il mio è un ferro d'ingresso, e "d'ingresso" è letterale: sotto quello non ha senso partire. Due schede video di quelle da giocare (sì, da giocare), una accanto all'altra, per 48 giga di memoria complessivi. Sopra ci gira un modello da 35 miliardi di parametri, sempre acceso e sempre caldo, che tiene in memoria un contesto di 256.000 token e produce 89 parole al secondo, più o meno.
Se quel numero non ti dice niente: è più veloce di quanto tu riesca a leggere. Non è la parte difficile. La parte difficile viene dopo.
Il canone è circa 350 euro al mese per il ferro d'ingresso. Una scheda datacenter singola con la stessa memoria costa 500. Salire al modello grosso, quello che ragiona davvero bene, richiede otto schede e porta il canone tra i 1.000 e i 1.600, che nel mio caso ha significato una cosa sola: il modello grosso salta, ho fissato il budget a 400 e mi tengo quello da 35 miliardi.
Questa è già una risposta utile per chi decide. Il livello d'ingresso costa quanto un collaboratore a mezza giornata al mese, e il salto di qualità successivo costa il triplo. Non c'è una via di mezzo comoda. E chi ti dice il contrario ti sta vendendo qualcosa.

Il confronto onesto è questo. Una richiesta al cloud costa mezzo centesimo di dollaro in media. Il ferro in casa costa 350 euro al mese comunque, che tu lo usi o no.
Fai la divisione e viene fuori il numero che serve davvero:
Sotto quelle soglie il cloud costa meno. Sopra, il ferro si ripaga. Poi guadagni. Se hai un'azienda da venti persone e ti stai chiedendo se conviene, la risposta numerica è no, e chi ti dice di sì sta guardando un'altra cosa (di solito la sta guardando bene, ma dovrebbe dirti che non è il costo).
Perché una ragione per farlo comunque c'è, e non è il risparmio: è che i dati non escono. Se lavori con roba sanitaria, legale, industriale o anagrafica, "mando tutto in chiaro a un fornitore fuori dall'Europa" non è un compromesso accettabile, è un problema che prima o poi ti presenta il conto. Io non sono un fanatico della privacy, ma diversi miei clienti lo sono eccome, e quella è la voce che sposta la decisione molto più del pareggio.
Qui arriva la parte per cui vale la pena leggere il pezzo, perché il resto lo trovi anche altrove.
La prima: appena acceso, è lentissimo. Non il modello. Il contesto. Un assistente vero non fa una domanda secca: si porta dietro le istruzioni, la memoria del progetto, la definizione degli strumenti che può usare. Nel mio caso sono circa 40.000 token prima ancora che l'utente scriva la sua domanda, e rielaborarli da zero a ogni messaggio costa dodici secondi. Dodici secondi a botta rendono l'assistente inutilizzabile, e la sensazione che ti resta è che il modello locale faccia schifo. Non fa schifo: sta rifacendo ogni volta lo stesso compito da capo.
La soluzione è riusare il lavoro già fatto, e sulla carta porta quei dodici secondi a un decimo di secondo. Nella pratica c'erano tre cose che lo impedivano: certi modelli per come sono fatti non lo permettono proprio; ogni controllo automatico di stato faceva sfrattare il modello caldo e ricaricarne un altro azzerando tutto; e il programma client infilava in cima al contesto un codicillo che cambiava a ogni richiesta (sul cloud d'origine serve ad aiutare la cache; sul mio ferro faceva l'esatto contrario). Tre problemi banali presi uno per uno, e insieme la differenza tra una cosa che usi e una che spegni dopo due giorni.
La seconda: intelligenza e velocità sono la stessa leva. A parità di ferro, un modello che risponde subito ragiona meno, e uno che ragiona meglio ti fa aspettare. Non è un difetto di implementazione, è aritmetica: o attivi pochi neuroni e vai veloce, o li attivi tutti e vai piano. Il modello sveglio davvero vuole il livello successivo di hardware, ed è per quello che il salto costa il triplo.

La terza: il ferro tradisce. Ho provato una macchina da otto schede per vedere se il modello grosso fosse alla portata. Il modello girava. Delle otto schede però sette erano guaste, e lo scopri solo mettendoci sopra un carico vero. Non a occhio, non dal pannello. Se pensi di andare on-premise, mettici dentro anche il tempo di scoprire che l'hardware che ti hanno consegnato non è quello che ti hanno venduto: non è un caso raro, ed è la voce di costo che nessuno preventiva.
Ferro d'ingresso, modello da 35 miliardi sempre caldo, 89 parole al secondo, il lavoro sulla cache fatto una volta e buono per qualsiasi modello ci metta sopra domani. Quest'ultima è la parte di cui vado più contento (e sì, è anche la meno vistosa): cambiare cervello o cambiare macchina adesso è una decisione di budget, non un problema di ingegneria.
Quello che ancora non so è se il modello da 35 miliardi basti per i compiti veri, quelli in cui l'assistente deve usare gli strumenti e portare a termine una cosa da solo senza che io gli stia dietro. Lo sto misurando adesso, ed è il pezzo che viene dopo questo.
Nel frattempo, se stai facendo il conto per la tua azienda, i due numeri da cui partire sono questi: quante richieste al giorno fate davvero, e quanto vi costerebbe il giorno in cui quei dati finiscono dove non dovevano.