Google AI lancia una libreria open source per archiviare e manipolare grandi array multidimensionali
La biblioteca mira ad affrontare le principali sfide ingegneristiche nell’informatica scientifica attraverso una migliore gestione ed elaborazione di grandi set di dati.
 
 
In un articolo sul blog pubblicato la scorsa settimana, Google AI ha introdotto TensorStore , una libreria C++ e Python open source progettata per l’archiviazione e la manipolazione di dati n-dimensionali . La biblioteca mira ad affrontare le principali sfide ingegneristiche nell’informatica scientifica attraverso una migliore gestione ed elaborazione di grandi set di dati. 

Varie applicazioni contemporanee dell’informatica e dell’apprendimento automatico (ML) manipolano set di dati multidimensionali che si estendono su un unico ed ampio sistema di coordinate. Un esempio potrebbe essere l’uso di misurazioni dell’aria su una griglia geografica per stimare il tempo. 

 
Un altro potrebbe essere fare previsioni di imaging medico utilizzando valori di intensità dell’immagine multicanale da una scansione 2D o 3D. 

Un singolo set di dati in queste circostanze potrebbe anche richiedere petabyte di spazio di archiviazione e lavorare con tali set di dati potrebbe essere difficile, poiché gli utenti potrebbero ricevere e scrivere dati su scale diverse e intervalli imprevedibili. 

  
Dietro il governo indiano ha sostenuto l’azienda di innovazione di intelligenza artificiale e robotica

Il governo di Telangana chiede all’IA di riparare le strade
I ricercatori di Google AI affermano che TensorStore è già stato utilizzato per risolvere sfide ingegneristiche chiave come la gestione e l’elaborazione di grandi set di dati nelle neuroscienze, come dati di microscopia elettronica 3d su scala peta e video “4d” di attività neuronale . 

Inoltre, la libreria è stata utilizzata nella creazione di PaLM , un modello di machine learning su larga scala, affrontando il problema relativo alla gestione dei parametri del modello o dei checkpoint durante l’addestramento distribuito. 

Questa libreria supporta nativamente sistemi di archiviazione come Google Cloud Storage , server HTTP , filesystem locali e di rete e altro ancora e offre un’API unificata per la lettura e la scrittura di diversi tipi di array come zarr e N5 . Con una forte garanzia di atomicità, coerenza, isolamento e durabilità (ACID) , fornisce anche cache e transazioni di lettura/riscrittura. Inoltre, è in grado di supportare un accesso sicuro ed efficiente da più processi e macchine tramite una concorrenza ottimistica. 

TensorStore dovrebbe inoltre offrire un’API asincrona che consentirebbe l’accesso a throughput elevato anche allo storage remoto ad alta latenza. Fornisce una semplice API Python per caricare e manipolare dati di array di grandi dimensioni. Ad esempio, viene creato un oggetto TensorStore che rappresenta un’immagine 3d di 56 trilioni di voxel di un cervello di mosca e che accede a una piccola patch 100 × 100 di dati come un array  NumPy :

 

Il blog afferma: “Nessun dato effettivo viene effettuato o archiviato in memoria fino a quando non viene richiesta la sezione specifica 100 × 100; quindi è possibile caricare e manipolare set di dati sottostanti arbitrariamente grandi senza dover archiviare l’intero set di dati in memoria, utilizzando la sintassi di indicizzazione e manipolazione in gran parte identica alle operazioni NumPy standard.

Per saperne di più, Google AI ha fornito il pacchetto TensorStore che può essere installato utilizzando semplici comandi. Per ulteriori riferimenti, consulta i tutorial e la documentazione dell’API per i dettagli sull’utilizzo. 

Di ihal