Autoren:
(1) Iason Ofeidis, Department of Electrical Engineering und Yale Institute for Network Science, Yale University, New Haven {Gleicher Beitrag};
(2) Diego Kiedanski, Department of Electrical Engineering und Yale Institute for Network Science, Yale University, New Haven {Gleicher Beitrag};
(3) Leandros TassiulasLevon Ghukasyan, Activeloop, Mountain View, CA, USA, Fakultät für Elektrotechnik und Yale Institute for Network Science, Yale University, New Haven.
In diesem Abschnitt werden verschiedene Bemühungen der Community zum Benchmarking von Deep-Learning-Bibliotheken, -Modellen und -Frameworks beschrieben.
Es gibt eine große Menge an Arbeit zum Benchmarking von Deep-Learning-Tools und -Methoden. MLPerf (Mattson et al., 2020) ist wohl das beliebteste ML-Benchmarking-Projekt für moderne ML-Workloads, das sowohl auf Training als auch auf Inferenz abzielt und eine Vielzahl von KI-Aufgaben abdeckt. Die Autoren verwenden als objektive Messgröße die Trainingszeit, die zum Erreichen eines bestimmten Genauigkeitsniveaus erforderlich ist. Diese Messgröße erfordert erhöhte Rechenressourcen und ist nicht gut zum Testen von Dataloader-Parametern geeignet. DeepBench (Baidu-Research, 2020) ist ein Open-Source-Projekt von Baidu Research, das sich auf Operationen auf Kernelebene innerhalb des Deep-Learning-Stacks konzentriert; es vergleicht die Leistung einzelner Operationen (z. B. Matrixmultiplikation), wie sie in Bibliotheken implementiert und direkt auf der zugrunde liegenden Hardware ausgeführt werden. In ähnlicher Weise verwendet AI Matrix (Zhang et al., 2019) Mikrobenchmarks, um grundlegende Operatoren abzudecken, die Leistung für vollständig verbundene und andere gängige Schichten zu messen und die Eigenschaften realer Workloads durch das Anbieten synthetischer Benchmarks abzugleichen.
Vergleich von Frameworks: Dieser Abschnitt umfasst Bemühungen zum Benchmarking und Vergleich verschiedener Deep-Learning-Frameworks wie PyTorch, TensorFlow usw.
In Deep500 (Ben-Nun et al., 2019) stellen die Autoren ein modulares Software-Framework zur Messung der DL-Trainingsleistung bereit. Es ist zwar anpassbar, verfügt aber nicht über Hyperparameter-Benchmarking und bietet keine benutzerfreundliche Möglichkeit, neue Bibliotheken und Workflows hinzuzufügen und damit zu experimentieren. AIBench (Gao et al., 2020) und DAWNBench (Coleman et al., 2019) sind beides End-to-End-Benchmarks, wobei letzterer der erste Benchmark-Wettbewerb mit mehreren Teilnehmern ist, der die End-to-End-Leistung von Deep-Learning-Systemen misst. Wie bei MLPerf untersucht keiner die Auswirkungen alternativer Ladebibliotheken in ihren Workflows. In (Wu et al., 2019) präsentieren die Autoren eine systematische Analyse der CPU- und Speichernutzungsmuster für verschiedene parallele Rechenbibliotheken und Batchgrößen und deren Auswirkungen auf Genauigkeit und Trainingseffizienz. Diese Analyse ist unserer Arbeit sehr ähnlich, bietet jedoch keine Open-Source-Ressource für die Interaktion mit und das Benchmarking neuer Bibliotheken.
In (Shi et al., 2016) vergleichen die Autoren Deep-Learning-Frameworks anhand der Leistung verschiedener neuronaler Netzwerke (z. B. vollständig verbundene, faltende und rekurrierende neuronale Netzwerke). dPRO (Hu et al., 2022) konzentriert sich auf verteilte (Multi-GPU-)Trainingsbenchmarks, indem ein Profiler verwendet wird, der Laufzeitspuren von verteiltem DNN-Training über mehrere Frameworks hinweg sammelt. DLBench (Heterogeneous Computing Lab an der HKBU, 2017) ist ein Benchmark-Framework zum Messen verschiedener Deep-Learning-Tools wie Caffe, Tensorflow und MXNet. In (Liu et al., 2018) untersuchen die Autoren die Auswirkungen der Standardkonfigurationen jedes Frameworks auf die Modellleistung (Zeit und Genauigkeit) und demonstrieren die komplexen Interaktionen der DNN-Parameter und Hyperparameter mit datensatzspezifischen Eigenschaften. Die Experimente umfassen jedoch nur die Standardkonfigurationen jedes Frameworks und es fehlt jegliche Analyse der nicht standardmäßigen Einstellungen. In (Wu et al., 2018) testen die Autoren Standardkonfigurationen von Frameworks und versuchen, für jeden Datensatz die optimale Konfiguration zu finden. Sie untersuchen auch den Datenladevorgang, bewerten jedoch keine Bibliotheken von Drittanbietern. Alle zuvor in diesem Abschnitt veröffentlichten Arbeiten weisen zwar zahlreiche Ähnlichkeiten mit unserer Arbeit auf, unterscheiden sich jedoch in einem wesentlichen Punkt von ihr: Sie führen keine Analyse oder Benchmarking von PyTorch oder dem in diesem Artikel beschriebenen Ökosystem von Bibliotheken zum Laden von Daten durch, das, wie in der Einleitung erwähnt, derzeit eines der beliebtesten Deep-Learning-Frameworks ist, das sowohl in der Industrie als auch in der Wissenschaft weit verbreitet ist.
Vergleich verschiedener DNN-Architekturen und -Hardware: ParaDNN (Wang et al., 2020) generiert parametrisierte End-to-End-Modelle für die Ausführung auf Zielplattformen, beispielsweise durch Variation der Batchgröße, um die Grenzen der zugrunde liegenden Hardware auszuloten, konzentriert sich jedoch auf den Vergleich spezialisierter Plattformen (TPU v2/v3) und Gerätearchitekturen (TPU, GPU, CPU). Relevant für ParaDNN ist die Arbeit von (Bianco et al., 2018), die ein umfassendes Tool zur Auswahl der geeigneten Architektur bietet, um auf Ressourcenbeschränkungen in praktischen Bereitstellungen und Anwendungen zu reagieren, basierend auf der Analyse von Hardwaresystemen mit unterschiedlichen Rechenressourcen. Es konzentriert sich jedoch mehr auf die Gestaltung von Deep-Learning-Modellen als auf die Deep-Learning-Frameworks, auf denen diese implementiert werden. Während sich Fathom (Adolf et al., 2016) und TBD Suite (Zhu et al., 2018) beide auf die Bewertung vollständiger Modellarchitekturen für eine breite Palette von Aufgaben und unterschiedlichen Arbeitslasten konzentrieren, sind sie in diesen Bereichen eingeschränkt und verfügen nicht über Benchmarks für hochmoderne Trainingsinnovationen.
Andere Geräte: AI Benchmark (Ignatov et al., 2018) ist wohl die erste Benchmark-Suite für mobile Inferenz. Die Ergebnisse konzentrieren sich jedoch ausschließlich auf Android-Smartphones und messen nur die Latenz, während sie einen zusammenfassenden Wert liefern, der ausdrücklich keine Qualitätsziele angibt. (Hadidi et al., 2019) untersucht die In-the-Edge-Inferenz von DNNs aus der Perspektive der Ausführungszeit, des Energieverbrauchs und der Temperatur. (Tao et al., 2018) deckt Konfigurationen mit unterschiedlichem Hardwareverhalten ab, wie z. B. Verzweigungsvorhersageraten und Datenwiederverwendungsdistanzen, und bewertet die Genauigkeit, Leistung und Energie von Intelligenzprozessoren und Hardwareplattformen. Beide Arbeiten konzentrieren sich auf einen anderen Gerätebereich, wie z. B. Edge-Geräte und Intelligenzprozessoren, was außerhalb des Rahmens dieser Arbeit liegt.
Dieses Dokument ist auf Arxiv unter der CC 4.0-Lizenz verfügbar .