Skip to main content
QUICK REVIEW

[论文解读] LogLAB: Attention-Based Labeling of Log Data Anomalies via Weak Supervision

Thorsten Wittkopp, Philipp Wiesner|arXiv (Cornell University)|Nov 2, 2021
Software System Performance and Reliability参考文献 34被引用 7
一句话总结

LogLAB 是一种弱监督的注意力机制深度学习模型,仅利用监控系统提供的粗略故障时间窗口即可自动完成日志异常标注。即使在时间窗口误差较大的情况下,它在三个数据集上仍实现了超过 0.98 的 F1 分数,通过一种自定义损失函数优于九种基线方法,该损失函数能够处理类别不平衡和噪声标签问题。

ABSTRACT

With increasing scale and complexity of cloud operations, automated detection of anomalies in monitoring data such as logs will be an essential part of managing future IT infrastructures. However, many methods based on artificial intelligence, such as supervised deep learning models, require large amounts of labeled training data to perform well. In practice, this data is rarely available because labeling log data is expensive, time-consuming, and requires a deep understanding of the underlying system. We present LogLAB, a novel modeling approach for automated labeling of log messages without requiring manual work by experts. Our method relies on estimated failure time windows provided by monitoring systems to produce precise labeled datasets in retrospect. It is based on the attention mechanism and uses a custom objective function for weak supervision deep learning techniques that accounts for imbalanced data. Our evaluation shows that LogLAB consistently outperforms nine benchmark approaches across three different datasets and maintains an F1-score of more than 0.98 even at large failure time windows.

研究动机与目标

  • 解决监督异常检测模型缺乏标注日志数据的问题。
  • 在无需专家标注真实标签的情况下,实现日志消息的自动化标注,减少对昂贵人工标注的依赖。
  • 开发一种利用监控系统提供的近似故障时间窗口作为弱监督信号的方法。
  • 通过设计一种考虑噪声标签和不准确标签的自定义损失函数,提升在类别不平衡的日志异常标注任务中的性能。
  • 在不同标注不确定性水平下,对 LogLAB 与九种基线方法在三个真实世界日志数据集上进行评估。

提出的方法

  • LogLAB 使用基于 Transformer 的编码器结合自注意力机制,处理分词后的日志消息。
  • 日志消息经过分词处理,并使用学习得到的嵌入向量表示,其中敏感值(如十六进制数和时间戳)被占位符替代。
  • 模型通过 [CLS] token 表示的前馈头预测每个日志消息的异常分数。
  • 自定义目标函数结合了正样本的 L2 损失和未标记样本的反归一化 L2 损失,以应对类别不平衡问题。
  • 损失函数定义为:(1/m) * Σ[(1−ỹi)*||zi||² + ỹi * (|P|/(|P|+|U|))² / ||zi||],其中 ỹi 为不准确的标签,zi 为模型输出。
  • 该方法将问题视为 PU 学习,其中正样本(P)为故障时间窗口外的日志,未标记样本(U)为故障时间窗口内的日志。

实验结果

研究问题

  • RQ1是否可以仅利用监控系统提供的故障时间窗口估计,实现日志异常标注的自动化?
  • RQ2在弱监督条件下,LogLAB 与现有文本分类和异常检测方法相比表现如何?
  • RQ3自定义损失函数在类别不平衡、弱标注的日志数据上对性能的提升程度如何?
  • RQ4LogLAB 对故障时间窗口估计不确定性增加的鲁棒性如何?
  • RQ5当大多数样本为噪声或被错误标注为异常时,模型是否仍能保持高 F1 分数?

主要发现

  • 在 Thunderbird 数据集上,当 δ = ±1000ms 时,LogLAB 的 F1 分数达到 0.9995,显著优于次佳基线方法(0.3440)。
  • 在 BGL 数据集上,当 δ = ±15000ms 时,LogLAB 的 F1 分数保持在 0.9902,而其他方法的 F1 分数均低于 0.98。
  • 在 Spirit 数据集上,当 δ = ±15000ms 时,LogLAB 的 F1 分数达到 0.9825,优于次佳方法超过 0.46 分。
  • 在所有数据集和时间窗口设置下,LogLAB 的 F1 分数始终高于 0.98,即使未标记集合(U)包含多达 326 万个样本。
  • 自定义损失函数有效缓解了类别不平衡和噪声标签导致的性能下降,使模型在标注不确定性增加时仍能保持稳定性能。
  • 当故障时间窗口扩大至 30 秒时,LogLAB 的性能依然稳健,展现出对真实世界监控系统不准确性的强大泛化能力。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。