Suche
DeepBench hilft beim Messen der Performance von Deep-Learning-Hardware

DeepBench – Deep Learning Benchmarking Tool von Baidu

Stefanie Schäfers

© Shutterstock.com / Melpomene

Vor allem in der jüngsten Vergangenheit hat Deep Learning in puncto Sprach- und Bilderkennung für einige Meilensteine gesorgt. Beteiligt daran sind nicht nur die gängigen Deep-Learning Frameworks wie TensorFlow oder das kürzlich Open Source veröffentlichte PaddlePaddle, sondern insbesondere auch bestimmte Hardware-Chips. Um deren Performance bei der Nutzung mit unterschiedlicher Deep-Learning-Software zu messen, hat Baidu Inc. nun mit DeepBench ein neues Benchmarking-Tool veröffentlicht.

DeepBench soll sowohl AI-Researchern als auch den Herstellern von Prozessoren dabei helfen, zu messen wie gut bestimmte Chip-Typen mit der Software funktionieren. Eigentlich, so sagt Robert Hof, entstand DeepBench aus der Realität heraus, dass die Ausführung von neuralen Deep-Learning-Netzen immer noch von der darunterliegenden Hardware abhängig ist. Genau diese werden bei der Arbeit mit Deep-Learning-Modellen nämlich gerne zum Flaschenhals.

Das Problem dabei ist es vor allem, herauszufinden, welche Hardware für die Nutzung mit Deep-Learning-Software besonders nützlich ist, denn, so Hof: „the theoretical performance metrics provided by Nvidia Corp., Intel Corp. and others don’t always match real-world results“. DeepBench soll darum die Entwicklung neuer Prozessoren, die insbesondere auf Deep-Learning-Algorithmen zur Sprach- und Bilderkennung sowie Übersetzungen ausgerichtet sind, unterstützen.

Das steckt in DeepBench

DeepBench dient als Benchmarking-Tool, mit dem die Performance von grundlegenden Aufgaben, die beim Training von neuralen Netzen anfallen, gemessen werden soll. Diese Aufgaben werden auf verschiedenen Hardware-Plattformen mithilfe von neuralen Netzwerk-Libraries ausgeführt. Kurz gesagt versucht DeepBench herauszufinden, welche Hardware sich besonders gut für das Trainieren von Deep-Neural-Networks eignet.

Dabei nutzt das Tool Neural-Network-Libraries wie zum Beispiel cuDNN oder MKL, um die Performance von grundlegenden Aufgaben auf verschiedenster Hardware zu messen. Das folgende Diagramm veranschaulicht, welche Software- und Hardware-Komponenten beim Deep Learning zum Einsatz kommen und an welcher Stelle DeepBench ansetzt:

Software- und Hardwarekomponenten Deep Learning / Quelle: DeepBench

Software- und Hardwarekomponenten Deep Learning / Quelle: DeepBench

Das Benchmarking-Tool misst dabei nicht die Zeit, die für das Trainieren eines ganzen Modells benötigt wird. Stattdessen werden die zugrundeliegenden Aufgaben für Benchmarks herangezogen:

we are benchmarking the underlying operations involved in training a deep learning model.

DeepBench besteht aus einem Set grundlegender Funktionsweisen sowie einigen wiederkehrenden Layer-Typen. Die erste Version des Benchmarking-Tools konzentriert sich vor allem auf die Training-Performance in 32-Bit-Floating-Point-Arithmetik, zukünftige Versionen sollen zusätzlich auch Inference-Workloads und Arithmetiken mit geringerer Genauigkeit untersuchen.

Mehr Informationen dazu bietet ein umfangreicher Blogpost vom Entwickler-Team hinter DeepBench; das Tool steht Open Source auf GitHub zur Verfügung.

Name DeepBench
Hersteller Baidu Inc.
GitHub https://github.com/baidu-research/DeepBench
Geschrieben von
Stefanie Schäfers
Stefanie Schäfers
Stefanie Schäfers studierte zunächst Anglistik in Marburg und machte anschließend ihren Masterabschluss im Bereich Creative and Cultural Industries an der Glasgow Caledonian University in Glasgow, Schottland. Seit August 2014 ist sie als Redakteurin in der Redaktion des PHP Magazins bei Software & Support Media tätig. Zuvor absolvierte sie bereits mehrere Praktika in Online-Redaktionen und Verlagen.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.