EdgeTune: Inference-Aware Hyperparameter Tuning
Notice bibliographique
Résumé
# EdgeTune: Inference-Aware Hyperparameter Tuning The results of EdgeTune have been presented at the ACM Middleware 2022 conference. If you use this software, please cite us: ```<br> @inproceedings{10.1145/3528535.3533273,<br> author = {Rocha, Isabelly and Felber, Pascal and Schiavoni, Valerio and Chen, Lydia},<br> title = {EdgeTune: Inference-Aware Multi-Parameter Tuning},<br> year = {2022},<br> isbn = {9781450393409},<br> publisher = {Association for Computing Machinery},<br> address = {New York, NY, USA},<br> url = {https://doi.org/10.1145/3528535.3533273},<br> doi = {10.1145/3528535.3533273},<br> booktitle = {Proceedings of the 23rd Conference on 23rd ACM/IFIP International Middleware Conference},<br> pages = {1–14},<br> numpages = {14},<br> keywords = {tuning, deep neural networks, training, inference},<br> location = {Quebec, QC, Canada},<br> series = {Middleware '22}<br> }<br> ``` ## Install pip3<br> ```Shell<br> $ sudo apt-get update<br> $ sudo apt-get install python3-pip<br> ``` ## Install Python dependencies - Intel (nuc)<br> ```Shell<br> $ pip3 install torch torchvision keras tensorflow ray[rllib] pandas tensorflow_datasets<br> ``` - ARM (RaspberryPi)<br> ```Shell<br> $ git clone https://github.com/Ben-Faessler/Python3-Wheels.git<br> $ sudo pip3 install Python3-Wheels/pytorch/torch-1.5.0a0+4ff3872-cp37-cp37m-linux_armv7l.whl<br> $ sudo pip3 install Python3-Wheels/torchvision/torchvision-0.6.0a0+b68adcf-cp37-cp37m-linux_armv7l.whl<br> ``` - Jetson Nano<br> ```Shell<br> $ wget https://nvidia.box.com/shared/static/wa34qwrwtk9njtyarwt5nvo6imenfy26.whl -O torch-1.7.0-cp36-cp36m-linux_aarch64.whl<br> $ sudo apt-get install python3-pip libopenblas-base libopenmpi-dev<br> $ pip3 install Cython<br> $ pip3 install numpy torch-1.7.0-cp36-cp36m-linux_aarch64.whl<br> $ sudo apt-get install libjpeg-dev zlib1g-dev<br> $ git clone --branch v0.8.1 https://github.com/pytorch/vision torchvision<br> $ cd torchvision<br> $ export BUILD_VERSION=0.8.1<br> $ sudo python3 setup.py install<br> ``` ## Install cpupower (for frequency scaling)<br> ```Shell<br> $ sudo apt-get install linux-cpupower<br> $ cpufreq-info # get cpu frequency information<br> $ cpufreq-set -u min -d max # set cpu frequency<br> ``` ## Power Measurements Setup - InfluxDB ```Shell<br> $ sudo apt install influxdb<br> $ service influxdb start<br> $ influx<br> $ CREATE DATABASE power<br> ``` - PowerSpy Power<br> ```Shell<br> $ pip install influxdb<br> $ python powerspy.py MAC<br> ``` - POE Power<br> ```Shell<br> $ apt-get install python-bluez bluez<br> $ hcitool scan<br> $ hcitool dev<br> $ systemctl restart bluetooth.service<br> $ pip3 install influxdb<br> $ python3 poe_power.py -p PORT<br> ``` - RAPL ```Shell<br> $ sudo chmod -R a+r /sys/class/powercap/intel-rapl<br> ``` ## Change rapl permissions ```Shell<br> sudo chmod -R a+r /sys/class/powercap/intel-rapl<br> ``` ## Install cuda dependencies<br> ```Shell<br> $ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin<br> $ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600<br> $ sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub<br> $ sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"<br> $ sudo apt-get update<br> $<br> $ sudo apt install nvidia-cuda-toolkit
Récupéré en direct depuis OpenAlex et désinversé. Les résumés ne sont pas conservés dans cette base de données : les index inversés représentent 8,6 Go des 9,3 Go de texte de la base, et le serveur dispose de 13 Go libres.
Comment cette classification a été obtenuedéplier
Prédiction distillée sur la base complète
Imitation des enseignantsNi prévalence calibrée, ni vérité terrain. Validation humaine à venir. Apprise à partir de 10 348 étiquettes directes de Codex et de 10 348 étiquettes directes de Gemma. Le mode candidate est l'union des têtes enseignantes seuillées; le consensus est leur intersection. Ces sorties portent le statut machine_predicted_unvalidated et ne sont ni des étiquettes humaines ni des étiquettes directes de modèles de pointe.
Scores Codex et Gemma par catégorie
| Catégorie | Codex | Gemma |
|---|---|---|
| Métarecherche | 0,003 | 0,006 |
| Méta-épidémiologie (sens strict) | 0,000 | 0,000 |
| Méta-épidémiologie (sens large) | 0,000 | 0,000 |
| Bibliométrie | 0,001 | 0,001 |
| Études des sciences et des technologies | 0,002 | 0,000 |
| Communication savante | 0,002 | 0,000 |
| Science ouverte | 0,004 | 0,004 |
| Intégrité de la recherche | 0,000 | 0,001 |
| Charge utile insuffisante (le modèle a refusé de juger) | 0,496 | 0,041 |
Scores machine (provisoires)
Les deux têtes enseignantes du modèle étudiant, lues sur ce travail. Un score ordonne la base pour la relecture; il n'affirme jamais une catégorie, et le statut de validation accompagne chaque rangée tel quel.
Scores de référence d'un modèle non mature (critères de maturité non atteints, 7 itérations). Un score ordonne; il n'affirme jamais une catégorie.
score_only:v0-immature-baseline · tel quel depuis la passe de notation : score_only signifie que le nombre peut ordonner les travaux, et qu'aucune étiquette de catégorie n'en découleClassification
machine, non validéePrédiction automatique; les deux têtes enseignantes s’accordent sur ce qui est montré ici.
Le détail, modèle par modèle et score par score, se trouve en fin de page sous « Comment cette classification a été obtenue ».