Logo image
Fault Injection for TensorFlow Applications
Journal article

Fault Injection for TensorFlow Applications

Niranjhana Narayanan, Zitao Chen, Bo Fang, Guanpeng Li, Karthik Pattabiraman and Nathan Debardeleben
IEEE transactions on dependable and secure computing, Vol.20(4), pp.2677-2695
07/2023
DOI: 10.1109/TDSC.2022.3175930
url
https://www.osti.gov/servlets/purl/1994506View
Open Access

Abstract

As machine learning (ML) has seen increasing adoption in safety-critical domains (e.g., autonomous vehicles), the reliability of ML systems has also grown in importance. While prior studies have proposed techniques to enable efficient error-resilience (e.g., selective instruction duplication), a fundamental requirement for realizing these techniques is a detailed understanding of the application's resilience. In this work, we present TensorFI 1 and TensorFI 2, high-level fault injection (FI) frameworks for TensorFlow-based applications. TensorFI 1 and 2 are able to inject both hardware and software faults in any general TensorFlow 1 and 2 program respectively. Both are configurable FI tools that are flexible, easy to use, and portable. They can be integrated into existing TensorFlow programs to assess their resilience for different fault types (e.g., bit-flips in particular operations or layers). We use the TensorFI 1 and TensorFI 2 to evaluate the resilience of 11 and 10 ML programs written in TensorFlow, including DNNs used in the autonomous vehicle domain. The results give us insights into why some of the models are more resilient. We also measure the performance overheads of the two injectors, and present 4 case studies, two for each tool, to demonstrate their utility.
Machine Learning Safety Software Computational modeling Data models Deep Neural Networks Error Resilience Fault Injection Hardware Reliability Resilience TensorFlow

Details

Metrics

Logo image