Posted by PNY Pro, May 03, 2019
Als PC-Enthusiast liebe ich es, Hardware-Lösungen gegeneinander auszuspielen, um ihre relative Leistung bei der Ausführung einer bestimmten Aufgabe zu bestimmen. Dieser Prozess ist auch als “Benchmarking” bekannt. Benchmarking-Ergebnisse werden in der Regel als das beste Instrument zur Bewertung der Vorzüge von konkurrierenden Systemen bei der Kaufentscheidung angesehen.
In dieser dreiteiligen Blog-Serie diskutieren wir, wie man ein System aufbaut, bei dem der Schwerpunkt auf dem Benchmarking der GPU-Leistung für Deep Learning mit Ubuntu 18.04, NVIDIA GPU Cloud (NGC) und TensorFlow liegt.
Die Blog-Serie wird wie folgt ablaufen:
Erster Teil: Einführung
Zweiter Teil: Berücksichtigung der Hardware
Dritter Teil: Einrichtung der Software
Die meisten Spieler sind mit Benchmarking-Tools wie 3DMark und Unigene Superposition vertraut, während Profis sich auf vertrauenswürdige Suiten wie SPECviewperf und PassMark verlassen. Wenn es um Deep-Learning-Benchmarks geht, ist der bekannteste “Yard-Stick” das Training eines neuronalen ResNet-50-Netzes unter Verwendung des ImageNet-Datensatzes, genauer gesagt des ImageNet-2012-Datensatzes zur Bildklassifizierung.
Unternehmen, die sich auf Deep Learning konzentrieren, verwenden diese Metrik häufig zur Messung und zum Vergleich der Rechenleistung. Diese Metrik erschien kürzlich in einem NVIDIA-Blog, in dem verschiedene Deep Learning-Framework-Leistungen verglichen wurden. Hier können Sie mehr darüber erfahren: https://developer.nvidia.com/deep-learning-performance-training-inference
Da sich das Deep Learning rasch weiterentwickelt, ist diese Kennzahl keine vollständige Darstellung der Leistung des Deep Learning. Sie ist jedoch nützlich und relevant, da sie uns einen fairen Standard für den Vergleich von “Bildern pro Sekunde”-Ergebnissen bietet.
Ich möchte darauf hinweisen, dass Dr. Kinghorn von PNYs Partner Puget Systems vor einem Jahr über dieses Thema geschrieben hat; seine Blogs sind ein nützlicher Leitfaden für Anfänger und bieten auch für fortgeschrittene Benutzer nützliche Tipps. Seine Bemühungen sind sehr angesehen. Nehmen Sie sich die Zeit, seinen ursprünglichen 5-teiligen Blog zu lesen.
Einführung in NGC.
Die Geheimwaffe für die Erstellung dieses Workflow-Benchmarks ist die NVIDIA GPU-Cloud, oder NGC.
NGC ist eine kostenlose Docker-Container-Registrierung, eine Sammlung der Spitzensoftware für beschleunigte Datenwissenschaft, maschinelles Lernen und Analyse. Zu den beliebten Frameworks, die auf NGC verfügbar sind, gehören TensorFlow, PyTorch, Caffe2 und viele andere. Sie können das NGC-Register unter folgendem Link durchsuchen: https://ngc.nvidia.com/catalog, eine Registrierung ist nicht erforderlich.
Was ist also ein Container? Laut Docker.com :
“Ein Container ist eine Standardeinheit von Software, die den Code und all seine Abhängigkeiten verpackt, damit die Anwendung schnell und zuverlässig von einer Computerumgebung zur anderen läuft. Ein Docker-Container-Image ist ein leichtes, eigenständiges, ausführbares Software-Paket, das alles enthält, was zum Ausführen einer Anwendung benötigt wird: Code, Laufzeit, Systemwerkzeuge, Systembibliotheken und Einstellungen.” https://www.docker.com/resources/what-container
Angesichts dieser Definition ist ein Container eine kontrollierte Softwareumgebung, in der die gesamte Software so konzipiert ist, dass sie gut zusammenarbeitet. Durch die Verwendung eines Docker-Containers stellen Sie sicher, dass Ihre Software-Umgebung zwischen den Tests konsistent ist und die Abhängigkeiten zwischen den verschiedenen Bibliotheken fehlerfrei sind. NGC-Container haben den zusätzlichen Vorteil, dass sie von NVIDIA optimiert, validiert und GPU-beschleunigt sind, so dass sie gut mit NVIDIA-GPUs zusammenarbeiten.
Warum müssen Sie ein Linux-System verwenden? Derzeit funktioniert NGC nur unter Linux.
Bevor wir uns im nächsten Blog mit den Überlegungen zur Hardware befassen, besuchen Sie die NGC-Registry und verschaffen Sie sich einen Überblick über die verschiedenen verfügbaren Container. Besuchen Sie dann die PNY-Landingpage für künstliche Intelligenz, um weitere Informationen darüber zu erhalten, wie NVIDIA-GPUs die Welt verändern.