Paleo
An analytical performance modeling tool for deep neural networks.
Install / Use
/learn @TalwalkarLab/PaleoREADME
Paleo
Paleo is an analytical model to estimate the scalability and performance of deep learning systems. It can be used to
- efficiently explore the space of scalable deep learning systems,
- quickly diagnose their effectiveness for a given problem instance.
Getting Started
Installation
Paleo uses the following dependencies:
- numpy
- click
- six
- cuDNN (Optional. Use
--use_only_gemmto disable cuDNN heuristics)
Use pip to install the depenencies with the pinned versions:
pip install -r requirements.txt
Tested with Python 2.7, cuDNN v4 on Ubuntu 14.04.
To install Paleo, run the following command in the cloned directory:
python setup.py install
Usage
Paleo provides programmatic APIs to retrieve runtime estimations.
The following is an example of estimating SGD executions under strong scaling.
from paleo.profilers import BaseProfiler
class SGDProfiler(BaseProfiler):
def __init__(self, filename):
super(SGDProfiler, self).__init__(filename)
def simulate(self, workers, batch_size=128):
fwd_time, params_in_bytes = self.estimate_forward(batch_size //
workers)
bwd_time = self.estimate_backward(batch_size // workers)
update_time = self.estimate_update(params_in_bytes)
t_comp = fwd_time + bwd_time + update_time
t_comm = self.estimate_comm(workers, params_in_bytes)
return t_comp + t_comm
Definitions
Model Architectures
Paleo uses a special json format to for model architecture specification. Predefined architectures can be found under the nets/ directory. Paleo also provides a convertor for Caffe prototxt format (see nets/caffe/ for details).
- AlexNet v2
- Inception v3
- NiN
- Overfeat
- VGG-16
- ResNet-50 (from Caffe spec)
- DenseNet (from Caffe spec)
Hardware
Predefined hardware specificiations are in paleo/device.py.
Reference Paper
Hang Qi, Evan R. Sparks, and Ameet Talwalkar. Paleo: A Performance Model for Deep Neural Networks. International Conference on Learning Representations (ICLR), 2017.
@inproceedings{qi17paleo,
author={Hang Qi and Evan R. Sparks and Ameet Talwalkar},
booktitle={Proceedings of the International Conference on Learning Representations},
title={Paleo: A Performance Model for Deep Neural Networks},
year={2017}
}
License
Apache 2.0
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
isf-agent
a repo for an agent that helps researchers apply for isf funding
last30days-skill
17.6kAI agent skill that researches any topic across Reddit, X, YouTube, HN, Polymarket, and the web - then synthesizes a grounded summary
