TOD: Tensor-based Outlier Detection

To scale outlier detection (OD) to large, high-dimensional datasets, we propose TOD, a novel system that abstracts OD algorithms into basic tensor operations for efficient GPU acceleration. To make TOD highly efficient in both time and space, we leverage recent advances in deep learning infrastructure in both hardware and software. To deploy large OD applications on GPUs with limited memory, we introduce two key techniques. First, provable quantization accelerates OD computation and reduces the required amount of memory by performing specific OD computations in lower precision while provably guaranteeing no accuracy loss. Second, to exploit the aggregated compute resources and memory capacity of multiple GPUs, we introduce automatic batching, which decomposes OD computations into small batches that can be executed on multiple GPUs in parallel. TOD supports a comprehensive set of OD algorithms and utility functions. Extensive evaluation on both real and synthetic OD datasets shows that TOD is on average 11.9× faster than the state-of-the-art comprehensive OD system PyOD (with a maximum speedup of 38.9×), and takes less than an hour to detect outliers within a million samples. TOD enables straightforward integration for additional OD algorithms and provides a unified framework for combining classical OD algorithms with deep learning methods. These combinations result in an infinite number of OD methods, many of which are novel and can be easily prototyped in TOD.

[1]  Zhi-Hua Zhou,et al.  Isolation Forest , 2008, 2008 Eighth IEEE International Conference on Data Mining.

[2]  M. Shyu,et al.  A Novel Anomaly Detection Scheme Based on Principal Component Classifier , 2003 .

[3]  Claudio Sartori,et al.  GPU Strategies for Distance-Based Outlier Detection , 2016, IEEE Transactions on Parallel and Distributed Systems.

[4]  Supun Nakandala Karla Saur,et al.  A Tensor Compiler for Unified Machine Learning Prediction Serving , 2020, OSDI.

[5]  Cezar Ionescu,et al.  COPOD: Copula-Based Outlier Detection , 2020, 2020 IEEE International Conference on Data Mining (ICDM).

[6]  Yue Zhao,et al.  PyOD: A Python Toolbox for Scalable Outlier Detection , 2019, J. Mach. Learn. Res..

[7]  Leman Akoglu,et al.  AutoAudit: Mining Accounting and Time-Evolving Graphs , 2020, 2020 IEEE International Conference on Big Data (Big Data).

[8]  Chen Meng,et al.  Training Deeper Models by GPU Memory Optimization on TensorFlow , 2017 .

[9]  William J. Dally,et al.  VS-Quant: Per-vector Scaled Quantization for Accurate Low-Precision Neural Network Inference , 2021, MLSys.

[10]  Anshumali Shrivastava,et al.  Accelerating SLIDE Deep Learning on Modern CPUs: Vectorization, Quantizations, Memory Optimizations, and More , 2021, MLSys.

[11]  Alexander Aiken,et al.  On automatically proving the correctness of math.h implementations , 2017, Proc. ACM Program. Lang..

[12]  Yue Zhao,et al.  LSCP: Locally Selective Combination in Parallel Outlier Ensembles , 2018, SDM.

[13]  Markus Hofmann,et al.  RapidMiner: Data Mining Use Cases and Business Analytics Applications , 2013 .

[14]  Keiichi Tamura,et al.  Parallel processing for distance-based outlier detection on a multi-core CPU , 2014, 2014 IEEE 7th International Workshop on Computational Intelligence and Applications (IWCIA).

[15]  Alexander Binder,et al.  Deep Semi-Supervised Anomaly Detection , 2019, ICLR.

[16]  Andreas Dengel,et al.  Histogram-based Outlier Score (HBOS): A fast Unsupervised Anomaly Detection Algorithm , 2012 .

[17]  Yuan Yu,et al.  TensorFlow: A system for large-scale machine learning , 2016, OSDI.

[18]  Hans-Peter Kriegel,et al.  LOF: identifying density-based local outliers , 2000, SIGMOD '00.

[19]  Le Gruenwald,et al.  Research Issues of Outlier Detection in Trajectory Streams Using GPUs , 2018, SKDD.

[20]  Claudio Sartori,et al.  A Distributed Approach to Detect Outliers in Very Large Data Sets , 2010, Euro-Par.

[21]  Haoxiang Lin,et al.  Estimating GPU memory consumption of deep learning models , 2020, ESEC/SIGSOFT FSE.

[22]  Sebastian Raschka,et al.  Python Machine Learning , 2015 .

[23]  Niclas Jansson,et al.  Benchmarking the Nvidia GPU Lineage: From Early K80 to Modern A100 with Asynchronous Memory Transfers , 2021, HEART.

[24]  K. Jarrod Millman,et al.  Array programming with NumPy , 2020, Nat..

[25]  W. M. Wan,et al.  The European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases (ECML PKDD , 2011 .

[26]  Christos Faloutsos,et al.  LOCI: fast outlier detection using the local correlation integral , 2003, Proceedings 19th International Conference on Data Engineering (Cat. No.03CH37405).

[27]  Charu C. Aggarwal,et al.  Outlier Analysis , 2013, Springer New York.

[28]  Clara Pizzuti,et al.  Fast Outlier Detection in High Dimensional Spaces , 2002, PKDD.

[29]  Distributed K-Nearest Neighbors , 2016 .

[30]  Jimeng Sun,et al.  SUOD: Accelerating Large-Scale Unsupervised Heterogeneous Outlier Detection , 2020, MLSys.

[31]  Tomás Pevný,et al.  Loda: Lightweight on-line detector of anomalies , 2016, Machine Learning.

[32]  Alexander Aiken,et al.  Improving the Accuracy, Scalability, and Performance of Graph Neural Networks with Roc , 2020, MLSys.

[33]  Peter Norvig,et al.  Deep Learning with Dynamic Computation Graphs , 2017, ICLR.

[34]  Hans-Peter Kriegel,et al.  Generalized Outlier Detection with Flexible Kernel Density Estimates , 2014, SDM.

[35]  Elke Achtert,et al.  Visual Evaluation of Outlier Detection Models , 2010, DASFAA.

[36]  Yong Cai,et al.  Semi-supervised Rare Disease Detection Using Generative Adversarial Network , 2018, ArXiv.

[37]  Jaideep Srivastava,et al.  A Comparative Study of Anomaly Detection Schemes in Network Intrusion Detection , 2003, SDM.

[38]  Jidong Zhai,et al.  PET: Optimizing Tensor Programs with Partially Equivalent Transformations and Automated Corrections , 2021, OSDI.

[39]  Guigang Zhang,et al.  Deep Learning , 2016, Int. J. Semantic Comput..

[40]  Edgar Acuña,et al.  Parallel algorithms for distance-based and density-based outliers , 2005, Fifth IEEE International Conference on Data Mining (ICDM'05).

[41]  Albert Gural,et al.  Trained Uniform Quantization for Accurate and Efficient Neural Network Inference on Fixed-Point Hardware , 2019, ArXiv.

[42]  Natalia Gimelshein,et al.  PyTorch: An Imperative Style, High-Performance Deep Learning Library , 2019, NeurIPS.

[43]  Yann LeCun,et al.  1.1 Deep Learning Hardware: Past, Present, and Future , 2019, 2019 IEEE International Solid- State Circuits Conference - (ISSCC).

[44]  Jian Tang,et al.  Enhancing Effectiveness of Outlier Detections for Low Density Patterns , 2002, PAKDD.

[45]  Graham Neubig,et al.  On-the-fly Operation Batching in Dynamic Computation Graphs , 2017, NIPS.