HW-GPT-Bench: Hardware-Aware Architecture Benchmark for Language Models

Rhea Sanjay Sukthanker, Arber Zela, Benedikt Staffler, Aaron Klein, Lennart Purucker +2 more
5/16/2024
cs.LGcs.AI

No official code found. Best implementation: automl/HW-GPT-Bench (25 stars, Apache-2.0, last commit 2024-12-06).

Abstract

The increasing size of language models necessitates a thorough analysis across multiple dimensions to assess trade-offs among crucial hardware metrics such as latency, energy consumption, GPU memory usage, and performance. Identifying optimal model configurations under specific hardware constraints is becoming essential but remains challenging due to the computational load of exhaustive training and evaluation on multiple devices. To address this, we introduce HW-GPT-Bench, a hardware-aware benchmark that utilizes surrogate predictions to approximate various hardware metrics across 13 devices of architectures in the GPT-2 family, with architectures containing up to 1.55B parameters. Our surrogates, via calibrated predictions and reliable uncertainty estimates, faithfully model the heteroscedastic noise inherent in the energy and latency measurements. To estimate perplexity, we employ weight-sharing techniques from Neural Architecture Search (NAS), inheriting pretrained weights from the largest GPT-2 model. Finally, we demonstrate the utility of HW-GPT-Bench by simulating optimization trajectories of various multi-objective optimization algorithms in just a few seconds.

View on arXivView PDF

Code Implementations(1)

automl/HW-GPT-BenchCommunity100%
Apache-2.0

HW-GPT-Bench: Hardware-Aware Architecture Benchmark for Language Models

255Shell, PythonMay 17, 20241 years agoApache-2.0

Similar Papers

Cite this paper

@article{sukthanker2024hwgptbench,
  title  = {HW-GPT-Bench: Hardware-Aware Architecture Benchmark for Language Models},
  author = {Rhea Sanjay Sukthanker and Arber Zela and Benedikt Staffler and Aaron Klein and Lennart Purucker and Joerg K. H. Franke and Frank Hutter},
  year   = {2024},
  eprint = {2405.10299},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2405.10299},
  url    = {http://arxiv.org/abs/2405.10299v3},
  journal = {NEURIPS 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.10299.svg)](https://codeofpaper.com/paper/2405.10299)

Discussion