Per anni, l'idea di eseguire un LLM locale su iPad è rimasta confinata a Core ML, alla Neural Engine o a vincoli stringenti di memoria. Il progetto LemonSeed Studio ribalta questa premessa: un iPad Pro collegato via Thunderbolt a una Sapphire Radeon AI PRO R9700 esegue Qwen3.8-27B in quantization Q4 e arriva a 158,5 token/s in decodifica con DFlash2, un dato che fino a poco fa avremmo associato a una workstation Linux, non a un tablet Apple.
Il cuore dell'esperimento è LemonSeed Engine (LSE), già attivo su Linux e macOS e ora portato su iPadOS. LSE non è un semplice wrapper attorno alle API di Apple: incorpora il driver Linux amdgpu e amdkfd non modificato come estensione PCIDriverKit (mac_linuxgpu) e usa direttamente la GPU AMD collegata. Di fatto, l'iPad diventa un host per l'accelerazione GPU esterna, aggirando i limiti dei framework grafici e computazionali di iPadOS.
I numeri pubblicati mostrano tre livelli di throughput sulla R9700 su iPadOS: 31,2 token/s senza speculazione, 108,7 con MTP=3 e 158,5 con DFlash2. Su macOS la R9700 raggiunge 159,4 token/s e su Linux 144,6 token/s con DFlash2. Su Strix Halo (Radeon 8060S) in Linux la progressione è più contenuta: 14,0 / 47,8 / 64,4 token/s. Anche il prefill segue lo stesso ordine: circa 1.636 token/s a 4K su iPadOS e 517 su Strix Halo, con un calo limitato a 32K. Il modello gira con quantization Q4 e una bozza DFlash2 in Q8, su una context window da 131k token.
Il dato più interessante non è il singolo benchmark, ma l'architettura. LSE registra il forward pass del modello come grafo, fonde le operazioni e genera kernel per la GPU su cui sta girando. Quando un kernel ha più layout possibili, li misura sul dispositivo e tiene il più veloce. Questa auto-sintonizzazione è tipica dei compilatori just-in-time per inference, ma qui viene estesa a un ambiente mobile con GPU esterna. La decodifica speculativa non è un'aggiunta statica: MTP e DFlash2 scelgono quanti token bozza verificare in base all'accettazione misurata e al costo di verifica. La versione 0.5.8 attiva per default i draft trees DFlash2, con un singolo passaggio del modello target che verifica un albero di candidati quando la misura lo indica più veloce di una catena.
Per chi valuta deployment self-hosted o edge, il progetto tocca tre punti strutturali. Primo, la portabilità del runtime: un solo motore per Linux, macOS e iPadOS riduce il costo di mantenere stack separati su hardware diversi. Secondo, l'uso dei driver Linux upstream dentro iPadOS segnala che il lock-in di una piattaforma può essere aggirato a livello di driver, non solo a livello di API. Terzo, la decodifica speculativa moltiplica di circa cinque volte il throughput rispetto al baseline sulla R9700. Questo cambia il calcolo del TCO per l'inference locale, perché sposta l'attenzione dalla potenza bruta alla capacità dello stack di sfruttare la memoria e la latenza di verifica.
Sul fronte dell'integrazione, il pacchetto Linux include un runtime HSA proprio, quindi basta il driver amdgpu con accesso a /dev/kfd. Il server lse-server permette di scaricare modelli Hugging Face con i relativi companion MTP o DFlash2, e l'engine offre anche un'interfaccia compatibile con OpenAI, una CLI e una libreria C (libLSE). Il progetto è open source su GitHub e l'autore si dice disponibile a rispondere a domande sull'eGPU su iPadOS. La direzione è chiara: l'inference locale su tablet non è più una curiosità da laboratorio, ma un campo in cui il software sta riducendo il divario con le workstation.
💬 Commenti (0)
🔒 Accedi o registrati per commentare gli articoli.
Nessun commento ancora. Sii il primo a commentare!