【异常检测第二篇】异常检测与诊断模型之AutoPerf

2020/09/14 00:00
阅读数 116

一、 Address

来自于nips2019, Intel的一篇 面向于Performance Regression的anormaly detection and diagonsis的一篇paper

A Zero-Positive Learning Approach for Diagnosing Software Performance Regressions

地址:https://arxiv.org/pdf/1709.07536v4.pdf

二、 Introduction

2.1 software performance

2.2 存在的一些Challenges

  • 异常的样本不容易获得,比较少,正常的更多(大多数异常检测问题都存在这个challenge)
  • 通过code instrumentation的方式可能会对正在跑的program造成一些扰乱

2.3 两个很典型的Performance Regressions的例子

文中所说的 true sharing and false sharing大概的理解可以看图其中false sharing会领导很大的performance degradation

三、 AutoPerf

本文提出了这样一个自动化的方法。

3.1 overview

三个主要的优势

3.2 数据收集

用PAPI去读取HWPCs值(都是和性能相关的一些硬件指标)对应的一个sample是一个func执行得到的,包括HWPC值以及thread count,还有个差分以及归一化的过程,毕竟后面要做Deep learning,肯定是要normalize的

3.3 Diagnosing Performance Regressions

3.3.1 Autoencoder-based Training and Inference

这里对Zero-positive learning进行的说明,这里的positive指的就是anomalous主要就是用AE去学习non-anomalous的表征分布,之后看新的sample是否发生偏离,发生偏离的就是anomalous

具体输入为一个func的profiling, loss func为mse之后输入新的sample,经过AE得到对应的reconstruction error,大于某个阈值则为anomalous

3.3.2 Reconstruction Error 阈值机制

这个阈值影响很大,太大或者太小都不行的。

太大会少检测到很多的anomalous, 太小的话可能会把很多non-anomalous检测为anomalous

之后定义了这样的一个方式(写的很清楚,就是正态分布那一套的设计)

3.3.3 通过k-means扩展到更多的func

  • 把训练集聚类成k个cluster
  • 每个cluster里面包含的某个func大于其他的cluster,那这个 cluster代表的就是这个func
  • 对于每个cluster都用一个AE进行训练build
  • 对于一个new sample,找到对应于func属于的cluster训练的AE进行预测算reconstruction error即可

四、Experiments

实验做了三部分

  • 诊断性能退化的能力 对比另外两个ML的方法
  • 分析了聚类方法
  • 做了一下量化分析、训练开销的实验说明

4.1 Setup

使用了三个公开的programs

4.2 诊断能力

进行对比,有7个benchmark programs 和三个真实的应用, 并且FP, FN的计算方式也做了具体说明

table中也说明了AutoPerf方法的优势,除了Boost和MySQL再FP有微小的值以外,其他都没有False的情况出现

并对 这两个real world存在FP值的programs作进一步的分析,画出ROC曲线, 可以看出依旧是该方法更好

4.3 聚类方法

图a中只用到了七个func, k=1时,为只用一个AE来对所有的func进行training, F1降至0.31, 之后用聚类方法进行聚类,并且每个cluster都用一个AE,F1升到(2->4)图b,c主要展示的为:深色的为聚类之前的情况,每个func都用一个AE去训练,也就是有多少个func,就有多少个AE,浅色为聚类之后的情况,b和c主要想展示,再聚类之后f1只是微弱的降低,但是时间花费大大减少,主要体现高效。

4.4 error的阈值

对比了一下基本方法和UBL

4.5 训练开销

还有个对比图,总体百分比,除了个别其他都很低

更多精彩内容(请点击图片进行阅读)





公众号: AI蜗牛车
保持谦逊、保持自律、保持进步



个人微信
备注: 昵称+学校/公司+方向
如果没有备注不拉群!
拉你进AI蜗牛车交流群

本文分享自微信公众号 - 气象学家(Meteorologist2019)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部