Pubblicato da PNY Pro, 3 maggio 2019
Da appassionato di PC, mi piace mettere a confronto diverse soluzioni hardware per determinarne le prestazioni relative nell'esecuzione di una determinata attività. Questo processo è noto anche come "benchmarking". I risultati del benchmarking sono generalmente considerati lo strumento migliore per valutare i meriti dei sistemi concorrenti al momento di prendere una decisione di acquisto.
In questa serie di blog in 3 parti, discuteremo come costruire un sistema, con particolare attenzione al benchmarking delle prestazioni della GPU per il Deep Learning utilizzando Ubuntu 18.04, NVIDIA GPU Cloud (NGC) e TensorFlow.
La serie di blog procederà come segue:
Prima parte: Introduzione
Parte seconda: Considerazioni sull'hardware
Parte terza: Configurazione del software
La maggior parte dei giocatori ha familiarità con strumenti di benchmarking come 3DMark e Unigene Superposition, mentre i professionisti si affidano a suite affidabili come SPECviewperf e PassMark. Quando si tratta di benchmark di Deep Learning, il "metro di misura" più conosciuto è l'addestramento di una rete neurale ResNet-50 utilizzando il dataset ImageNet, più specificamente il dataset ImageNet 2012 per la classificazione delle immagini.
Le aziende che si occupano di Deep Learning utilizzano spesso questo parametro per misurare e confrontare le prestazioni di calcolo. Questo parametro è apparso in un recente blog di NVIDIA in cui abbiamo confrontato le prestazioni di diversi framework di Deep Learning. Per ulteriori informazioni, visitare: https://developer.nvidia.com/deep-learning-performance-training-inference

Il Deep Learning è in rapida evoluzione, quindi questo parametro non rappresenta in modo completo le prestazioni del Deep Learning. Tuttavia, è utile e pertinente poiché ci fornisce uno standard equo per confrontare i risultati in termini di "immagini al secondo".
Vorrei sottolineare che il dottor Kinghorn della Puget Systems, partner di PNY, ha scritto su questo argomento un anno fa; i suoi blog sono una guida utile per i principianti e offrono consigli utili anche per gli utenti avanzati. Il suo lavoro è altamente raccomandabile. Prendetevi il tempo di leggere il suo blog originale in 5 parti.
Introduzione a NGC.
L'arma segreta per creare questo benchmark del flusso di lavoro è NVIDIA GPU Cloud, o NGC.
NGC è un registro container Docker gratuito, una raccolta dei migliori software per accelerare la scienza dei dati, l'apprendimento automatico e l'analisi. Tra i framework più diffusi disponibili su NGC figurano TensorFlow, PyTorch, Caffe2 e molti altri. È possibile consultare il registro NGC visitando questo link: https://ngc.nvidia.com/catalog, non è richiesta alcuna registrazione.

Allora, cos'è un container? Secondo Docker.com:
"Un container è un'unità standard di software che racchiude il codice e tutte le sue dipendenze in modo che l'applicazione funzioni in modo rapido e affidabile da un ambiente informatico all'altro. Un'immagine container Docker è un pacchetto software leggero, autonomo ed eseguibile che include tutto il necessario per eseguire un'applicazione: codice, runtime, strumenti di sistema, librerie di sistema e impostazioni". https://www.docker.com/resources/what-container
In base a questa definizione, un container è un ambiente software controllato in cui tutti i software sono progettati per funzionare bene insieme. Utilizzando un container Docker, si garantisce che l'ambiente software sia coerente tra i test e privo di errori di dipendenza tra le varie librerie. I container NGC hanno l'ulteriore vantaggio di essere ottimizzati, convalidati e accelerati dalla GPU NVIDIA, quindi funzionano bene con le GPU NVIDIA.
Perché è necessario utilizzare un sistema Linux? Al momento, NGC funziona solo con Linux.
Prima di approfondire le considerazioni relative all'hardware nel prossimo blog, visita il registro NGC e fatti un'idea della vasta gamma di container disponibili. Visita quindi la pagina dedicata all'intelligenza artificiale di PNY per ulteriori informazioni su come le GPU NVIDIA stanno cambiando il mondo.







