È possibile archiviare gli shard del modello su un NAS ed eseguirli su un altro computer domestico?

Eva Wong è la Technical Writer e smanettatrice residente di ZimaSpace. Una geek da sempre con una passione per homelab e software open-source, si specializza nel tradurre concetti tecnici complessi in guide accessibili e pratiche. Eva crede che l'auto-ospitare debba essere divertente, non intimidatorio. Attraverso i suoi tutorial, dà potere alla comunità di demistificare le configurazioni hardware, dalla costruzione del loro primo NAS al dominio dei container Docker.

Sì, gli shard del modello possono risiedere su un NAS mentre un altro computer domestico li esegue, purché il runtime possa leggere un checkpoint completo e coerente.

Una workstation con GPU non deve ospitare permanentemente ogni file del modello. Può montare una condivisione NAS, caricare il checkpoint richiesto nella RAM di sistema o nella VRAM ed eseguire localmente l’inferenza, mentre il NAS rimane la libreria permanente. Il confine importante riguarda i tempi: lo spazio di archiviazione fornisce i byte durante il caricamento e l’eventuale paging, mentre il processore e l’acceleratore del computer eseguono le operazioni sui tensori dopo che quei byte sono diventati indirizzabili.

Gli shard suddividono l’archiviazione, non automaticamente il calcolo

Un checkpoint suddiviso divide i tensori di un modello in diversi file, così nessun singolo file diventa eccessivamente grande. Un indice registra a quale shard appartiene ogni tensore. Questo semplifica download, archiviazione e caricamento, ma non significa che ogni disco NAS o computer domestico esegua uno shard. La distribuzione a riposo e l’esecuzione parallela sono decisioni architetturali separate.

Transformers può caricare checkpoint suddivisi leggendo l’indice e caricando ogni file dei pesi nel modello. Il nodo di calcolo ha comunque bisogno di una mappa dei dispositivi che collochi i tensori su CPU, GPU o disco. Collocare semplicemente i file degli shard in cartelle diverse non crea parallelismo tra tensori né combina la VRAM di più macchine indipendenti.

In una configurazione domestica, il NAS va considerato soprattutto come il repository del modello e il punto di riferimento per la provenienza. Conserva accanto ai pesi la configurazione, i file del tokenizer, gli indici degli shard, i checksum e i metadati della licenza. La workstation è il nodo di esecuzione. Questa separazione tra archiviazione e calcolo compare anche in una progettazione NAS e nodo di calcolo, in cui contenuti multimediali o documenti rimangono centralizzati mentre hardware specializzato gestisce l’inferenza.

L’avvio a freddo dipende dai byte trasferiti attraverso la rete

Prima dell’inferenza, il nodo di calcolo deve leggere una quantità sufficiente del checkpoint per creare la disposizione di esecuzione. Un modello da 40 GB non può avviarsi come se fosse un piccolo file di configurazione: quei byte devono attraversare la LAN, a meno che non esista già una cache locale valida. Un collegamento 1 GbE ha un limite teorico vicino a 125 MB/s prima dell’overhead del protocollo, quindi i caricamenti a freddo di grandi dimensioni possono richiedere minuti.

I runtime possono utilizzare file del modello mappati in memoria, consentendo al sistema operativo di recuperare le pagine su richiesta e conservarle nella cache delle pagine. Su un file system di rete, un’assenza nella cache può trasformarsi in una lettura dalla rete durante l’inferenza. Questo può ridurre il caricamento iniziale, ma può anche spostare la latenza nei primi prompt e rendere le prestazioni sensibili all’espulsione della cache o alla contesa sul NAS.

Una cache locale NVMe cambia l’esperienza senza duplicare la proprietà dei dati. La workstation può copiare una versione verificata del modello dal NAS una sola volta, eseguire il modello dall’archiviazione locale e rimuoverlo o aggiornarlo in base a un manifest. Il NAS rimane l’origine autorevole; la cache assorbe le letture ripetute. Una maggiore larghezza di banda di rete aiuta l’avvio a freddo, ma non aumenta la velocità di generazione dei token dopo che i pesi attivi e la cache sono residenti.

La coerenza e la semantica dei file definiscono il limite di errore

Un loader si aspetta che ogni shard e il relativo indice descrivano una stessa revisione del modello. Se un processo di sincronizzazione sostituisce i file mentre un altro computer sta caricando, il risultato può combinare shard vecchi e nuovi oppure generare un errore di checksum. Il blocco dei file, la sostituzione atomica delle cartelle, le directory di versione immutabili e un manifest completato impediscono ai lettori di osservare un checkpoint pubblicato solo parzialmente.

I framework distribuiti tengono esplicitamente conto del coordinamento dell’archiviazione. L’API per i checkpoint distribuiti di PyTorch supporta lettori di archiviazione e il resharding durante il caricamento per applicazioni distribuite compatibili. Questo è diverso dal montare una condivisione generica e sperare che qualsiasi runtime riesca a interpretare gli shard di addestramento. Anche i formati di inferenza, i nomi dei tensori, la quantizzazione e il posizionamento sui dispositivi devono essere compatibili con il motore selezionato.

L’idea di eseguire dal NAS non regge quando il runtime richiede file locali, i blocchi di rete si comportano diversamente dal previsto, una connessione Wi-Fi cade durante i page fault o il working set supera ripetutamente la RAM. Fallisce anche quando gli “shard” sono legati a una topologia di addestramento anziché a un checkpoint di inferenza portatile. Converti o consolida il modello prima della distribuzione, invece di trattare ogni struttura di checkpoint come intercambiabile.

-15% OFF

Utilizza un test di archiviazione in tre esecuzioni

Misura un’esecuzione di rete a freddo dopo aver svuotato la cache della workstation, un’esecuzione a caldo dalla cache del sistema operativo e un’esecuzione dalla cache locale su SSD. Registra il tempo necessario affinché il modello sia pronto, il tempo al primo token, i token al secondo sostenuti, i byte letti dalla rete dopo l’avvio e l’eventuale variazione del risultato in presenza di altri carichi sul NAS. Queste tre esecuzioni separano il tempo di trasferimento dalla velocità di esecuzione.

Una trattazione dedicata all’archiviazione durante l’avvio a freddo dei modelli spiega perché formato, mappatura in memoria, cache delle pagine e I/O concorrente siano importanti prima dell’inizio della generazione. Affianca a questo test a livello di modello i checksum dei file presenti nel repository. Un caricamento rapido della revisione sbagliata è un risultato peggiore di un caricamento più lento ma riproducibile.

Utilizza l’esecuzione diretta dal NAS quando gli avvii a freddo sono rari, la rete è stabile e il working set rimane nella cache. Usa la cache locale quando i modelli vengono avviati spesso o la latenza è importante. Se le letture dalla rete continuano per tutta la generazione, riduci la pressione sul paging o copia localmente il modello prima di aggiornare la LAN. La condizione di successo non è che il modello si apra, ma che il caricamento sia ripetibile e non dipenda, durante l’esecuzione, da un accesso fragile all’archiviazione.

Test Cosa misura Decisione probabile
Caricamento a freddo dal NAS Throughput della LAN e dell’archiviazione Accettabile per avvii poco frequenti
Caricamento a caldo dal NAS Vantaggio della cache delle pagine Utile se la cache rimane stabile
Cache locale su SSD Limite dell’archiviazione del nodo di esecuzione Da preferire quando l’avvio è importante

Domande frequenti

Due computer possono utilizzare contemporaneamente gli stessi file del modello?

Sì, quando aprono in sola lettura una versione immutabile del modello. Ogni computer carica comunque il proprio stato di esecuzione e la propria cache KV. I lettori concorrenti non condividono automaticamente RAM, VRAM o contesto generato.

Il 10GbE rende l’inferenza più veloce?

Può abbreviare i caricamenti a freddo di grandi dimensioni e ridurre la latenza dei page fault. Quando i pesi sono residenti, la generazione è normalmente limitata dal calcolo e dalla larghezza di banda della memoria sul nodo di esecuzione, non dal throughput del NAS.

I file suddivisi GGUF sono uguali agli shard di addestramento?

No. Entrambi dividono i dati tra più file, ma metadati, regole di caricamento e runtime previsti sono diversi. Verifica che il motore di inferenza supporti esattamente il formato suddiviso prima di considerare eseguibile la copia sul NAS.

Hub Tecnologico e AI

Altro da leggere

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.