/zeus

Deep Learning Energy Measurement and Optimization

Primary LanguagePythonApache License 2.0Apache-2.0

Zeus logo

Deep Learning Energy Measurement and Optimization

Slack workspace Docker Hub Homepage Apache-2.0 License


Project News


Zeus is a library for (1) measuring the energy consumption of Deep Learning workloads and (2) optimizing their energy consumption.

Zeus is part of The ML.ENERGY Initiative.

Repository Organization

 zeus/
├──  zeus/             # ⚡ Zeus Python package
│  ├──  monitor/       #    - Energy and power measurement (programmatic & CLI)
│  ├──  optimizer/     #    - Collection of time and energy optimizers
│  ├──  device/        #    - Abstraction layer over CPU and GPU devices
│  ├──  utils/         #    - Utility functions and classes
│  ├──  _legacy/       #    - Legacy code to keep our research papers reproducible
│  └──  callback.py    #    - Base class for callbacks during training
│
├──  zeusd             # 🌩️ Zeus daemon
│
├──  docker/           # 🐳 Dockerfiles and Docker Compose files
│
├──  examples/         # 🛠️ Zeus usage examples
│
├──  capriccio/        # 🌊 A drifting sentiment analysis dataset
│
└──  trace/            # 🗃️ Training and energy traces for various GPUs and DNNs

Getting Started

Please refer to our Getting Started page. After that, you might look at

Docker image

We provide a Docker image fully equipped with all dependencies and environments. Refer to our Docker Hub repository and Dockerfile.

Examples

We provide working examples for integrating and running Zeus in the examples/ directory.

Research

Zeus is rooted on multiple research papers. Even more research is ongoing, and Zeus will continue to expand and get better at what it's doing.

  1. Zeus (2023): Paper | Blog | Slides
  2. Chase (2023): Paper
  3. Perseus (2023): Paper | Blog

If you find Zeus relevant to your research, please consider citing:

@inproceedings{zeus-nsdi23,
    title     = {Zeus: Understanding and Optimizing {GPU} Energy Consumption of {DNN} Training},
    author    = {Jie You and Jae-Won Chung and Mosharaf Chowdhury},
    booktitle = {USENIX NSDI},
    year      = {2023}
}

Other Resources

  1. Energy-Efficient Deep Learning with PyTorch and Zeus (PyTorch conference 2023): Recording | Slides

Contact

Jae-Won Chung (jwnchung@umich.edu)