A framework for deep learning energy measurement and optimization.
Project description
This project was moved to "zeus"
You're looking at the old zeus-ml PyPI package. The project moved to zeus (https://pypi.org/project/zeus/), and v0.11.0 will be the last version mirrored to zeus-ml. Please use zeus for future versions:
pip install zeus
If you would like to take over the name zeus-ml, please shoot me an email. Contact info can be found at the bottom of this README.
Project News ⚡
- [2024/08] Perseus, an optimizer for large model training, was accepted to SOSP'24! Paper | Blog | Optimizer
- [2024/07] Added AMD GPU, CPU, and DRAM energy measurement support, and preliminary JAX support!
- [2024/05] Zeus is now a PyTorch ecosystem project. Read the PyTorch blog post here!
- [2024/02] Zeus was selected as a 2024 Mozilla Technology Fund awardee!
- [2023/07] We used the
ZeusMonitorto profile GPU time and energy consumption for the ML.ENERGY leaderboard & Colosseum.
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
│ ├── metric.py # - Prometheus metric export support
│ ├── show_env.py # - Installation & device detection verification script
│ └── callback.py # - Base class for callbacks during training
│
├── zeusd # 🌩️ Zeus daemon
│
├── docker/ # 🐳 Dockerfiles and Docker Compose files
│
└── examples/ # 🛠️ Zeus usage examples
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.
- Zeus (NSDI 23): Paper | Blog | Slides
- Chase (ICLR Workshop 23): Paper
- Perseus (SOSP 24): Paper | Blog | Slides
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
Contact
Jae-Won Chung (jwnchung@umich.edu)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zeus_ml-0.11.0.post1.tar.gz.
File metadata
- Download URL: zeus_ml-0.11.0.post1.tar.gz
- Upload date:
- Size: 178.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bc061b6c34edcfc2e86b3de81000157e30227fe11e7d0c683f6f5cf7bc3be22
|
|
| MD5 |
5d34d6b29b764cc1a7a1b5917c9029d6
|
|
| BLAKE2b-256 |
c726e7e70121272fffc4c9ce3ec232e457d33d02b490eefe1b7a2b022bf296aa
|
File details
Details for the file zeus_ml-0.11.0.post1-py3-none-any.whl.
File metadata
- Download URL: zeus_ml-0.11.0.post1-py3-none-any.whl
- Upload date:
- Size: 227.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0554ff3a4b8a27d818f4ea8688daa500be5f10322fb5824365aef24c1682e43
|
|
| MD5 |
d8071b914c70b9130d6542d84b3a8f07
|
|
| BLAKE2b-256 |
37f4d787c837308a26d7db69154761ae8b7e7f0a0703952cd57dc40fd13471c8
|