想象一下,一个庞大的软件系统就像一座巨大且繁忙的工厂。每当一台机器启动、停止或发出声音时,它都会在一本巨大的、杂乱无章的日志本上写下一条笔记。这些笔记就是文中提到的“日志”。
问题:杂乱无章的日志本
目前,当计算机科学家试图在这些工厂中寻找错误(异常)时,他们将日志本视为一个简单的词汇列表。他们观察笔记的序列:“机器 A 启动”、“机器 B 发出嗡嗡声”、“机器 C 停止”。
作者认为,这就像是试图通过阅读台词列表来理解一部复杂的戏剧,却不知道剧情、角色或舞台规则。实际上,这些日志遵循着一个隐藏的剧本(状态机)。工厂并不会随机发出噪音;它是在特定的“状态”(如“闲置”、“工作”、“错误”、“恢复”)之间移动,并遵循严格的规则来决定下一步可以发生什么。
现有的方法忽略了这个隐藏的剧本。它们试图通过观察词语的顺序来猜测哪里出了错,往往会忽略导致故障的更深层的结构性原因。
解决方案:LogSynthFSM(聪明的工厂管理者)
论文介绍了一个名为 LogSynthFSM 的新系统。你可以把它想象成一个由专门的 AI 侦探组成的团队,共同破解工厂日志之谜。与其让一个 AI 试图同时完成所有工作,不如采用“多智能体”方法,让每个智能体各司其职:
- 翻译官(执行解析智能体): 首先,这个智能体读取杂乱的原始日志并对其进行清理。它将混乱的句子转化为整洁、结构化的卡片,并带有清晰的标签(如“时间”、“事件类型”、“详情”)。
- 编剧(状态发现智能体): 这个智能体观察清理后的卡片,并推导出隐藏的剧本。它会询问:“工厂经历了哪些不同的‘情绪’或‘状态’?从‘工作’到‘损坏’的转换规则是什么?”它构建了一张工厂逻辑的地图。
- 建筑师(模式归纳智能体): 一旦知道了剧本,这个智能体就会设计一个新的归档系统(关系型数据库)。它不再使用单一的长列表,而是将数据组织成相互关联的表:一个用于时间线,一个用于事件,一个用于状态,还有一个用于详情。这确保了数据的组织逻辑性,就像一个真实的数据库一样。
- 讲述者(关系合成智能体): 这是最神奇的部分。工厂并不总是有足够多的罕见问题(例如某种特定类型的崩溃)的案例。为了解决这个问题,“讲述者”利用剧本和归档系统来创造新的、真实的故事情节。它不仅仅是复制粘贴旧日志;它会生成遵循剧本规则的新场景。至关重要的是,它专注于创造更多关于那些罕见且棘手故障的案例,以便让计算机学习如何识别它们。
- 质检员(一致性评估智能体): 在新的故事被接受之前,这个智能体会进行检查。“这个新故事遵循剧本吗?时间线逻辑正确吗?它看起来像是一个真实的工厂事件吗?”如果一个故事违反了规则,它就会被丢弃。这确保了生成的伪造数据是高质量且可靠的。
结果:更好的安全检查
论文表明,当你使用这种新的、由 AI 生成的结构化数据来训练计算机识别工厂错误时,其效果比以前好得多。
- 类比: 想象你在教一名保安如何识别小偷。如果你只给他看 10 张小偷的照片,他可能会错过一种新型的小偷。但如果你有一个理解小偷行动规则(即剧本)的聪明系统,它可以生成数百张关于不同类型小偷的、全新的、真实的图片(包括那些罕见的类型)供保安学习。保安识别的能力会大大提升。
论文的核心要点:
- 结构至关重要: 日志不仅仅是随机的词汇;它们遵循一个隐藏的状态机(即剧本)。
- 多智能体团队: 将任务分解为小的、专业化的 AI 角色,比让一个庞大的 AI 尝试处理所有事情效果更好。
- 智能合成: 系统生成的生成数据尊重系统规则,这使得它在训练异常检测器方面非常有用。
- 现实世界的证明: 作者在来自大型系统(如 Hadoop 和 OpenStack)的真实数据上进行了测试,发现与旧方法相比,该系统在检测 Bug 和罕见故障的能力方面有了显著提升。
简而言之,LogSynthFSM 将一堆杂乱的笔记变成了一本结构化的、基于规则的故事书,利用这本故事书来创造用于应对罕见问题的训练样本,从而帮助计算机更好地识别复杂软件系统中的异常情况。
技术摘要:基于状态机引导的日志多关系合成数据用于异常检测
问题定义
现代软件系统会生成海量的非结构化执行日志,记录着行为、故障以及组件间的交互。虽然这些日志对于异常检测至关重要,但现有方法主要将其视为平铺的事件模板序列。这种方法忽略了潜在的关系执行结构——即控制流、状态转换以及参数、资源和组件之间的依赖关系——这些因素决定了执行过程如何演进。
目前的日志合成与增强技术通常在模板或序列层面进行操作,未能遵循底层的执行语义。因此,它们经常产生不切实际或结构无效的追踪(traces),无法泛化到复杂的故障模式。此外,尽管大语言模型(LLM)在理解非结构化文本方面展现出潜力,但由于上下文窗口限制、缺乏结构性保证以及在生成复杂执行追踪时易产生幻觉,仅靠单次通过(single-pass)的方式应用 LLM 进行日志合成是不足够的。核心挑战在于如何从原始日志中联合发现潜在的执行结构,并利用该结构来引导原则性的多表关系合成数据生成。
方法论:LogSynthFSM
作者提出了 LogSynthFSM,这是一个协调的多智能体 LLM 框架,旨在发现潜在的执行结构并生成多关系合成数据。该系统将合成任务分解为在闭环流水线中运行的专业化智能体:
- 执行解析智能体(Execution Parsing Agent): 将原始、非结构化的日志转换为结构化的事件表示(ei=(ti,θi,τi)),提取模板、参数和时间戳。这起到了压缩算子的作用,以减少词法噪声并缓解 LLM 的上下文限制。
- 状态发现智能体(State Discovery Agent): 从结构化事件序列中推断出一个潜在的有限状态机(FSM)(F=(S,A,δ))。它将事件分组为状态,使得生成的序列满足马尔可夫性质,在平衡表达能力与可识别性的同时,恢复控制执行系统的控制流。
- 模式归纳智能体(Schema Induction Agent): 将推断出的 FSM 转化为显式的多表关系模式(R)。该模式包含包括追踪(traces)、事件(events)、状态(states)、转移(transitions)和参数(parameters)在内的表格,并通过主键和外键约束进行连接。这种因子化方法将控制流与状态相关的属性分离,确保了结构的忠实度。
- 关系合成智能体(Relational Synthesis Agent): 通过从推断的 FSM 中采样有效的状态路径,并根据特定于状态的分布合成事件/参数记录,从而生成合成的关系数据。该智能体在严格遵守 FSM 结构和时间约束的前提下,放大稀有但有效的执行行为。
- 一致性评估智能体(Consistency Evaluation Agent): 从三个维度评估生成的数据:
- 结构一致性(Structural Consistency): 验证模式约束(键、顺序、有效转移)。
- 过程一致性(Process Consistency): 确保执行过程对应于合法的 FSM 遍历。
- 分布一致性(Distributional Consistency): 将属性分布与真实数据进行比较以检测漂移。
该智能体提供反馈以指导迭代优化,过滤掉无效或产生幻觉的输出。
该框架作为一个迭代循环运行,其中一致性评估智能体根据推断的 FSM 和模式对批量合成数据进行验证,确保只有结构有效且分布真实的数据被保留用于下游任务。
核心贡献
- 潜在结构发现: 本文证明了执行日志隐式地编码了一个由潜在状态机驱动的关系数据库,可以直接从原始日志中恢复该结构,而无需预知系统的架构。
- 多智能体框架: 引入了一种新型多智能体架构,将复杂的日志合成任务分解为可验证的阶段(解析、状态发现、模式归纳、合成与评估),克服了单次通过 LLM 生成的局限性。
- 关系合成数据: 与基于序列的增强不同,LogSynthFSM 生成的多表关系数据保留了全局过程语义、时间顺序和跨实体依赖。
- 约束感知生成: 通过使用恢复的 FSM 作为生成先验,该框架确保合成数据遵循严格的执行约束,防止创建语义不连贯的追踪。
实验结果
该框架在四个真实世界系统日志数据集(BGL、Thunderbird、Hadoop、OpenStack)上进行了评估,并使用图神经网络(GNN)进行下游异常检测。
- 异常检测性能: LogSynthFSM 达到了 0.742 的 PR-AUC,优于最强的 LLM 基准模型(GraphMaster 为 0.701)及经典的增强方法。
- 稀有事件检测: 该方法显著提升了对稀有行为的检测能力,将 稀有 PR-AUC 从 0.438(GraphMaster)提高到了 0.511。
- 结构保真度:
- 转移有效率(TVR): 0.985,表明 98.5% 的合成转移根据推断的 FSM 是有效的。
- 分布相似性: k-gram 路径 Jensen–Shannon 散度降低至 0.091(相比之下 GraphMaster 为 0.137),显示出与真实执行动态更接近的对齐度。
- 可区分性: 分类器双样本检验(C2ST)AUC 为 0.503(接近理想值 0.50),表明合成追踪很难与真实追踪进行区分。
- 消融实验: 移除状态发现智能体导致性能下降最为严重(稀有 PR-AUC 降至 0.341),证实了显式状态建模的重要性。移除一致性评估智能体也会降低 PR-AUC(降至 0.703)并增加 C2ST AUC(升至 0.567),凸显了闭环验证的必要性。
- 效率: 系统可在消费级硬件(单张 RTX 4080 SUPER)上高效运行,运行时间为 41–52 分钟,证明了不需要专门的基础设施。
意义与主张
本文主张执行日志隐式地编码了一个由潜在状态机驱动的关系数据库。恢复这种结构能够实现既稳健又具可解释性的原则性合成数据生成。
作者强调,性能的提升不仅仅是因为使用了更大的语言模型或增加了数据量。相反,改进源于架构集成,即将执行解析、状态发现、模式归纳和约束感知关系合成整合进一个闭环多智能体框架中。这种方法确保了结构正确性和分布真实性,解决了现有方法忽视软件执行中的关系与过程层级结构的根本缺陷。这项工作为生成执行感知的合成数据以改进复杂分布式软件系统的异常检测提供了一个极具前景的方向。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。