这篇文档属于类型a,即报告了一项原创性研究的学术论文。以下是对该研究的详细介绍:
本研究由Zhe Xie, Haowen Xu, Wenxiao Chen, Wanxue Li, Huai Jiang, Liangfei Su, Hanzhang Wang, 和 Dan Pei共同完成。主要研究机构包括Tsinghua University和BNRist,部分作者来自eBay公司。该研究发表于ACM Web Conference 2023 (WWW ‘23),会议时间为2023年4月30日至5月4日,会议地点为美国奥斯汀。论文标题为《Unsupervised Anomaly Detection on Microservice Traces through Graph VAE》。
研究领域为微服务架构中的异常检测,属于计算机科学与人工智能的交叉领域。随着互联网系统的复杂化,微服务架构被广泛应用于大型系统中。每个用户请求会调用多个微服务,形成树状调用依赖关系,记录这些调用的轨迹(trace)对系统故障诊断至关重要。然而,轨迹的复杂结构使得建模和检测异常变得困难。现有方法多依赖于手工特征或深度学习模型,但存在结构信息丢失或监督训练需求等问题。因此,本研究旨在提出一种无监督的异常检测方法,利用图变分自编码器(Graph VAE)对微服务轨迹进行建模,并解决现有方法中的局限性。
研究分为以下几个主要步骤:
问题定义与数据准备
研究首先定义了微服务轨迹(trace)的结构,其中节点表示API调用,边表示调用依赖关系。轨迹记录了每个节点的耗时信息。研究使用来自某国际电商公司的五个轨迹数据集(A、B、C、D、E),数据集规模从11万到550万条轨迹不等。为了平衡数据,研究对部分数据集进行了重采样,并注入了合成异常(包括结构异常和时间异常)。
模型设计:TraceVAE
研究提出了一种双变量图变分自编码器(Dual-Variable Graph VAE),称为TraceVAE。该模型包括两个部分:
异常检测与熵差问题
研究使用负对数似然(NLL)作为异常评分,但发现某些异常样本的NLL低于正常样本,导致检测失效。研究进一步分析了NLL的组成,提出其可以分解为KL散度和数据熵。低维异常可能导致熵差,从而影响检测效果。为此,研究提出了三种技术来减少熵差:
实验与评估
研究在五个数据集上进行了实验,评估了TraceVAE的性能。评估指标包括F-score和ROC-AUC。研究还与多种基线方法(如FSA、LSTM-AD、TraceAnomaly、CRISP等)进行了对比,并通过消融实验验证了各技术模块的有效性。
模型性能
TraceVAE在五个数据集上均表现出色,F-score显著优于基线方法。例如,在数据集A上,TraceVAE的总F-score达到0.954,而基线方法中表现最好的LSTM-AD仅为0.745。在时间异常检测上,TraceVAE的F-score普遍高于0.9,显示出其在处理复杂轨迹结构上的优势。
熵差问题的解决
研究提出的三种技术有效减少了熵差,显著提高了异常检测的准确性。例如,在数据集D上,使用高斯标准差限制后,时间异常的F-score从0.937提升至0.957。
消融实验结果
消融实验验证了各技术模块的有效性。例如,移除调度层后,时间异常的F-score下降了约1%,而移除双变量设计后,总F-score下降了约10%。
本研究提出了一种基于图变分自编码器的无监督异常检测方法TraceVAE,成功解决了微服务轨迹中结构异常和时间异常的检测问题。通过引入双变量设计和调度层,模型能够同时精确建模轨迹结构和节点耗时。研究还首次提出了熵差问题,并通过三种技术有效减少了其对检测性能的影响。实验结果表明,TraceVAE在多个数据集上均表现出色,显著优于现有方法。
研究还讨论了模型在实际应用中的潜力,例如在在线系统中的实时异常检测。此外,研究代码已开源,便于其他研究者复现和改进。
通过本研究,微服务系统的异常检测能力得到了显著提升,为互联网系统的稳定性和可靠性提供了重要支持。