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

DeepBench – Deep Learning Benchmarking Tool von Baidu
Kommentare

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

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
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -