Passa al contenuto principale
Professionale

Suggerimento professionale PNY n. 01: Benchmark per il deep learning utilizzando NVIDIA GPU Cloud e Tensorflow (Parte 1)

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

Suggerimento 12 - NVIDIA

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.

https://www.pugetsystems.com/labs/hpc/How-To-Setup-NVIDIA-Docker-and-NGC-Registry-on-your-Workstation—Part-1-Introduction-and-Base-System-Setup-1095/

 

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.

Suggerimento 12 - NGC

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.

http://www.pny.com/ai

Suggerimento 12 PNY