PyTorchFI: A Runtime Perturbation Tool for DNNs

Published in DSML, 2020

Full Paper | bibtex | Plain Text

@inproceedings{10.1145/3373376.3378462,
author = {Sanchez Vicarte, Jose Rodrigo and Schreiber, Benjamin and Paccagnella, Riccardo and Fletcher, Christopher W.},
title = {Game of Threads: Enabling Asynchronous Poisoning Attacks},
year = {2020},
isbn = {9781450371025},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3373376.3378462},
doi = {10.1145/3373376.3378462},
booktitle = {Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems},
pages = {35–52},
numpages = {18},
keywords = {adversarial machine learning, trusted execution environment, asynchronous stochastic gradient descent},
location = {Lausanne, Switzerland},
series = {ASPLOS ’20}
}
Jose Rodrigo Sanchez Vicarte, Benjamin Schreiber, Riccardo Paccagnella, and Christopher W. Fletcher. 2020. Game of Threads: Enabling Asynchronous Poisoning Attacks. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’20). Association for Computing Machinery, New York, NY, USA, 35–52. DOI:https://doi.org/10.1145/3373376.3378462
@inproceedings{inproceedings,
author = {Mahmoud, Abdulrahman and Aggarwal, Neeraj and Nobbe, Alex and Vicarte, Jose and Adve, Sarita and Fletcher, Christopher and Frosio, Iuri and Hari, Siva},
year = {2020},
month = {06},
pages = {25-31},
title = {PyTorchFI: A Runtime Perturbation Tool for DNNs},
doi = {10.1109/DSN-W50199.2020.00014}
}
Mahmoud, Abdulrahman & Aggarwal, Neeraj & Nobbe, Alex & Vicarte, Jose & Adve, Sarita & Fletcher, Christopher & Frosio, Iuri & Hari, Siva. (2020). PyTorchFI: A Runtime Perturbation Tool for DNNs.
@INPROCEEDINGS{9499823, author={Sanchez Vicarte, Jose Rodrigo and Shome, Pradyumna and Nayak, Nandeeka and Trippel, Caroline and Morrison, Adam and Kohlbrenner, David and Fletcher, Christopher W.}, booktitle={2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA)}, title={Opening Pandora’s Box: A Systematic Study of New Ways Microarchitecture Can Leak Private Data}, year={2021}, volume={}, number={}, pages={347-360}, doi={10.1109/ISCA52012.2021.00035}}
J. R. Sanchez Vicarte et al., "Opening Pandora’s Box: A Systematic Study of New Ways Microarchitecture Can Leak Private Data," 2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture (ISCA), 2021, pp. 347-360, doi: 10.1109/ISCA52012.2021.00035.
@inproceedings {274693, author = {Jose Rodrigo Sanchez Vicarte and Gang Wang and Christopher W. Fletcher}, title = {Double-Cross Attacks: Subverting Active Learning Systems}, booktitle = {30th USENIX Security Symposium (USENIX Security 21)}, year = {2021}, isbn = {978-1-939133-24-3}, pages = {1593--1610}, url = {https://www.usenix.org/conference/usenixsecurity21/presentation/vicarte}, publisher = {USENIX Association}, month = aug, }
Jose Rodrigo Sanchez Vicarte and Gang Wang and Christopher W. Fletcher. Double-Cross Attacks: Subverting Active Learning Systems. In Proceedings of the 30th USENIX Security Symposium (USENIX Security 21), August 21-24, 2021, San Jose, CA, USA, 1593-1610.
@inproceedings{augury:2022:vicarte:oakland22, title={Augury: Using Data Memory-Dependent Prefetchers to Leak Data at Rest}, author={Jose Rodrigo Sanchez Vicarte and Michael Flanders and Riccardo Paccagnella and Grant Garrett-Grossman and Adam Morrison and Christopher W. Fletcher and David Kohlbrenner }, booktitle={2022 IEEE Symposium on Security and Privacy (SP)}, year={2022}, organization={IEEE Computer Society} }
J. Sanchez Vicarte, et al., "Augury: Using data memory-dependent prefetchers to leak data at rest," in 2022 2022 IEEE Symposium on Security and Privacy (SP) (SP), San Francisco, CA, US, 2022.
@inproceedings{10.1109/ISCA.2018.00053,
author = {Choi, Woo-Seok and Tomei, Matthew and Vicarte, Jose Rodrigo Sanchez and Hanumolu, Pavan Kumar and Kumar, Rakesh},
title = {Guaranteeing Local Differential Privacy on Ultra-Low-Power Systems},
year = {2018},
isbn = {9781538659847},
publisher = {IEEE Press},
url = {https://doi.org/10.1109/ISCA.2018.00053},
doi = {10.1109/ISCA.2018.00053},
booktitle = {Proceedings of the 45th Annual International Symposium on Computer Architecture},
pages = {561–574},
numpages = {14},
keywords = {microcontrollers, randomized response, IoT, low-power systems, RAPPOR, differential privacy},
location = {Los Angeles, California},
series = {ISCA ’18}
}
Woo-Seok Choi, Matthew Tomei, Jose Rodrigo Sanchez Vicarte, Pavan Kumar Hanumolu, and Rakesh Kumar. 2018. Guaranteeing local differential privacy on ultra-low-power systems. In Proceedings of the 45th Annual International Symposium on Computer Architecture (ISCA ’18). IEEE Press, 561–574. DOI:https://doi.org/10.1109/ISCA.2018.00053

PyTorchFI is a runtime perturbation tool for deep neural networks (DNNs), implemented for the popular PyTorch deep learning platform. PyTorchFI enables users to perform perturbations on weights or neurons of DNNs at runtime. It is designed with the programmer in mind, providing a simple and easy-to-use API, requiring as little as three lines of code for use. It also provides an extensible interface, enabling researchers to choose from various perturbation models (or design their own custom models), which allows for the study of hardware error (or general perturbation) propagation to the software layer of the DNN output. Additionally, PyTorchFI is extremely versatile: we demonstrate how it can be applied to five different use cases for dependability and reliability research, including resiliency analysis of classification networks, resiliency analysis of object detection networks, analysis of models robust to adversarial attacks, training resilient models, and for DNN interpertability. This paper discusses the technical underpinnings and design decisions of PyTorchFI which make it an easy-to-use, extensible, fast, and versatile research tool. PyTorchFI is open-sourced and available for download via pip or github at: https://github.com/pytorchfi