Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ml-energy/zeus
Deep Learning Energy Measurement and Optimization
https://github.com/ml-energy/zeus
deep-learning energy mlsys
Last synced: 6 days ago
JSON representation
Deep Learning Energy Measurement and Optimization
- Host: GitHub
- URL: https://github.com/ml-energy/zeus
- Owner: ml-energy
- License: apache-2.0
- Created: 2022-08-13T21:20:30.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T02:22:25.000Z (11 days ago)
- Last Synced: 2024-10-29T19:54:51.625Z (10 days ago)
- Topics: deep-learning, energy, mlsys
- Language: Python
- Homepage: https://ml.energy/zeus
- Size: 154 MB
- Stars: 207
- Watchers: 9
- Forks: 25
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-green-ai - Zeus - black?style=flat&logo=linux) ![GPU](https://img.shields.io/badge/GPU-black?style=flat&logo=nvidia) (đ Tools / Optimization Tools)
- open-sustainable-technology - Zeus - A Framework for Deep Learning Energy Measurement and Optimization. (Consumption / Computation and Communication)
README
Deep Learning Energy Measurement and Optimization
[![Slack workspace](https://badgen.net/badge/icon/Join%20workspace/b31b1b?icon=slack&label=Slack)](https://join.slack.com/t/zeus-ml/shared_invite/zt-2j5o12jqp-3LtNjgF_uBDTdNcaxWgpdw)
[![Docker Hub](https://badgen.net/docker/pulls/symbioticlab/zeus?icon=docker&label=Docker%20pulls)](https://hub.docker.com/r/symbioticlab/zeus)
[![Homepage](https://custom-icon-badges.demolab.com/badge/Homepage-ml.energy-23d175.svg?logo=home&logoColor=white&logoSource=feather)](https://ml.energy/zeus)
[![Apache-2.0 License](https://custom-icon-badges.herokuapp.com/github/license/ml-energy/zeus?logo=law)](/LICENSE)---
**Project News** âĄ- \[2024/08\] Perseus, an optimizer for large model training, was accepted to SOSP'24! [Preprint](https://arxiv.org/abs/2312.06902) | [Blog](https://ml.energy/zeus/research_overview/perseus) | [Optimizer](https://ml.energy/zeus/optimize/pipeline_frequency_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](https://pytorch.org/blog/zeus/)!
- \[2024/02\] Zeus was selected as a [2024 Mozilla Technology Fund awardee](https://foundation.mozilla.org/en/blog/open-source-AI-for-environmental-justice/)!
- \[2023/07\] We used the [`ZeusMonitor`](https://ml.energy/zeus/reference/monitor/energy/#zeus.monitor.energy.ZeusMonitor) to profile GPU time and energy consumption for the [ML.ENERGY leaderboard & Colosseum](https://ml.energy/leaderboard).
---Zeus is a library for (1) [**measuring**](https://ml.energy/zeus/measure) the energy consumption of Deep Learning workloads and (2) [**optimizing**](https://ml.energy/zeus/optimize) their energy consumption.
Zeus is part of [The ML.ENERGY Initiative](https://ml.energy).
## 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
â âââ 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](https://ml.energy/zeus/getting_started) page.
After that, you might look at- [Measuring Energy](https://ml.energy/zeus/measure)
- [Optimizing Energy](https://ml.energy/zeus/optimize)### Docker image
We provide a Docker image fully equipped with all dependencies and environments.
Refer to our [Docker Hub repository](https://hub.docker.com/r/mlenergy/zeus) and [`Dockerfile`](docker/Dockerfile).### Examples
We provide working examples for integrating and running Zeus in the [`examples/`](/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](https://www.usenix.org/conference/nsdi23/presentation/you) | [Blog](https://ml.energy/zeus/research_overview/zeus) | [Slides](https://www.usenix.org/system/files/nsdi23_slides_chung.pdf)
1. Chase (2023): [Paper](https://arxiv.org/abs/2303.02508)
1. Perseus (2023): [Paper](https://arxiv.org/abs/2312.06902) | [Blog](https://ml.energy/zeus/research_overview/perseus)If you find Zeus relevant to your research, please consider citing:
```bibtex
@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](https://youtu.be/veM3x9Lhw2A) | [Slides](https://ml.energy/assets/attachments/pytorch_conf_2023_slides.pdf)
## Contact
Jae-Won Chung ([email protected])