<h3>01 开篇</h3>
近日,由阿里云计算平台大数据基础工程技术团队主导,华东师范大学数据科学与工程学院合作的论文《Noise Matters: Cross Contrastive Learning for Flink Anomaly Detection》被数据库领域顶会VLDB 2025接收。论文从新的视角分析Flink平台的热点机器问题。实现了基于神经网络的热点机器异常检测,与SOTA异常检测算法相比平均提升F1 score 12.1%。
02 背景
Flink 集群经常会遇到热点问题,此时被监控作业的延迟和 CPU 使用率不断升高并长期保持在高水平。这就需要检测异常时间序列,以定位出现热点的机器。然而,现有的无监督时间序列异常检测(UTAD)方法在这种场景下并不有效。我们发现有两个主要原因。首先,热点场景需要特别关注 Flink 特有的异常,比如缓慢上升型和高水平异常,而现有方法难以处理这类异常。其次,现有的异常检测方法通常假设训练数据集中不存在异常,但从实际运行的 Flink 集群中收集的数据往往含有噪声,这会导致这些方法把异常模式学习为正常模式。本文首先通过实验分析了现有方法在 Flink 场景下失败的原因。针对这些挑战,我们提出了一种跨对比方法提升异常检测性能。
03 挑战
尽管已有方法进行时间序列的异常检测,但仍然存在以下限制:限制一:除了检测已有的点级异常之外,我们的 Flink 场景还要求检测其特有的异常。例如,当某个节点上多个作业的延迟持续上升,或者上升后长期保持在高水平时,通常表明该节点出现了异常。然而,现有的最先进异常检测方法对这类异常并不敏感。基于重构的方法在 Flink 特有异常与正常数据之间往往只表现出较小的重构误差,因此无法识别出这类异常。基于关联的方法则是通过比较同一时间戳的不同视图来检测异常,但它们忽略了每个时间戳的上下文信息,这也使得发现 Flink 特有的异常变得困难。限制二:我们面对的是来自实际运行 Flink 集群的非常大规模的时间序列数据。这导致收集到的训练数据集中包含大量异常和噪声。大多数传统的无监督异常检测方法都基于训练数据集相对干净、无噪声的假设,忽略了实际存在的异常和噪声。因此,这些方法的有效性容易受到异常和噪声的影响,表现并不理想。
04 破局
我们不再像以前的方法那样在每个时间戳处计算重构误差,或者计算每个时间戳两种视图之间的差异,而是提出了一种新的跨对比学习方法,以更加关注 Flink 特有的异常。我们首先利用注意力机制从全局和局部两个角度学习表示,基于此进行跨对比学习。直观上看,正常时间序列中相邻时间戳的观测值彼此接近,因此它们的潜在表示应该相似。相比之下,当相邻时间戳中出现 Flink 特有异常(如缓慢上升趋势)时,我们希望学习到将它们的表示差异扩大。这带来了一个不同的异常检测机制,即通过测量相邻时间戳之间表示的距离,如果距离明显可区分,则检测为异常。
提出了一种新的损失函数,将先验知识引入到优化过程中,共同指导模型的训练,使模型即使在未知标签的情况下也能区分异常时间戳和正常时间戳。具体来说,我们为每个时间戳设定一个异常边界,该边界是其观测值的归一化分数,并将其用作先验知识,反映异常值与正常值之间的偏差。直观上,具有较小异常边界的正常时间戳,其观测值与归一化值偏差不大,因此可以尽可能优化其训练损失。而具有较大异常边界的异常时间戳,其训练损失不应被像正常时间戳那样充分优化,从而我们可以为这些异常时间戳分配更大的异常分数。因此,我们只将其训练损失优化到接近其异常边界的水平。通过这种方式,我们有效考虑了含有噪声的训练数据,减轻了异常和噪声对训练过程的影响,从而提高了异常检测的准确性。
05 应用
Noise Matters技术已经整合进了Flink集群智能巡检体系中,有效地帮助运维人员对集群运行健康状况进行评估,提前发现可能的风险隐患。
</div>
维权提醒:如果你或身边的朋友近五年内因投顾公司虚假宣传、诱导交费导致亏损,别放弃!立即联系小羊维权(158 2783 9931,微信同号),专业团队帮你讨回公道! 📞立即免费咨询退费