Hugging Face si è affermato come una piattaforma leader per l’hosting e la condivisione di modelli AI. Recentemente, l’azienda ha annunciato una significativa transizione: la migrazione dai sistemi di archiviazione Git Large File Storage (LFS) a Xet Storage. Questa mossa strategica mira a superare le limitazioni incontrate con Git LFS e a ottimizzare la gestione dei vasti repository di modelli e dataset ospitati sulla piattaforma.​

Git LFS è stato sviluppato come estensione open-source di Git per versionare file di grandi dimensioni, sostituendo i file effettivi con puntatori testuali all’interno di Git e archiviando i file separatamente su un server remoto. Hugging Face ha utilizzato questa tecnologia in combinazione con Amazon S3 per l’archiviazione remota, raggiungendo, entro il 20 settembre 2024, un totale impressionante di 29 petabyte di file ospitati.​

Tuttavia, nonostante la sua progettazione per gestire file di grandi dimensioni, Git LFS presenta alcune limitazioni significative nel contesto dei repository AI:​

  • Deduplicazione a Livello di File: Anche una minima modifica a un file richiede il caricamento completo di una nuova revisione, un processo inefficiente per file multi-gigabyte comuni nei repository di Hugging Face.​
  • Gestione Inefficiente delle Modifiche Incrementali: La necessità di ricaricare interi file per piccole modifiche rallenta i flussi di lavoro e aumenta l’utilizzo della larghezza di banda.​

Per affrontare queste sfide, Hugging Face ha iniziato a implementare Xet Storage, una soluzione avanzata che offre diversi vantaggi:​

  • Deduplicazione a Livello di Byte: Utilizzando il “content-defined chunking” (CDC), Xet Storage identifica e archivia solo le porzioni di dati modificate, riducendo significativamente la quantità di dati trasferiti durante gli aggiornamenti.​
  • Algoritmo di Hash Rolling: Questo metodo calcola dinamicamente le porzioni di dati, garantendo un’efficace identificazione delle modifiche e ottimizzando l’archiviazione.​
  • Compatibilità Retroattiva con Git LFS: Xet Storage è progettato per integrarsi senza problemi con i flussi di lavoro esistenti basati su Git LFS, facilitando la transizione per gli utenti.​

Grazie a queste caratteristiche, Xet Storage consente aggiornamenti più rapidi e efficienti. Ad esempio, invece di dover ricaricare un intero file di 10 GB dopo aver aggiunto una singola riga, gli utenti possono ora caricare solo le porzioni modificate, migliorando la velocità di iterazione e collaborazione.​

Il 18 marzo, Hugging Face ha condiviso un proof-of-concept relativo alla prima fase della migrazione dei repository. In questa fase iniziale, circa il 6% del traffico di download dell’Hub è stato trasferito all’infrastruttura Xet, con la migrazione di repository per un totale di 4,5 TB. Questo passaggio ha già evidenziato miglioramenti significativi in termini di efficienza e gestione dello spazio di archiviazione.

Di Fantasy