关于运维:仅有-01M-可训参数AIOps-日志异常检测新范式

39次阅读

共计 3049 个字符,预计需要花费 8 分钟才能阅读完成。

一、前言

AIOps(Artificial Intelligence for IT Operations)即智能运维,基于已有的运维数据(日志、监控信息、利用信息等),将 AI 利用于运维畛域,来解决自动化运维无奈解决的问题。日志异样检测作为 AIOps 中的一个重要钻研方向,旨在通过日志理解零碎运行中的异样。因为日志数据的数据量微小,因而一旦产生日志异样,运维人员须要在大量的日志数据中查找异样,这是一个工作量微小并十分耗费老本的工作。因而通过将人工智能引入到日志异样检测中能够无效缩小运维人员的工作量。无关日志异样检测更为具体的内容,能够参照云智慧学术论坛第一期的内容。

二、Translog 模型

只管当初曾经有很多利用日志序列(log sequence)中的语义信息,进行日志异样检测的深度学习模型,如 HDFS、BGL 或 Thunderbird,但这些模型都只能在繁多日志源上进行,语义信息仅实用于以后日志,无奈泛化到其余日志源。而以后大型零碎通常由多个不同组件形成,且不同组件打印的日志不尽相同,因而异样检测时须要针对每个日志源别离训练一个新模型,即保留多个模型的拷贝,参数量微小。同时,当零碎更新或降级引入新日志模式的组件时,现有的模型将无奈适配新组件打印的日志。

为解决上述问题,论文首先指出,尽管日志的起源不同但实际上却有着雷同的异样类型。只管它们在词法和句法上有所不同,但在语义上却是类似的。如上图中三个起源的日志(BGL,Thunderbird,Red Storm)都有着”unusual end of program“类型的异样。因而,该论文认为如果模型可能学习到不同日志源间可共享的异样语义常识,就可能在所有日志源中辨认出这一类型的异样。

基于此,该论文基于迁徙学习的思维提出了一种名为 Translog 的日志异样检测框架。与现有针对新日志源须要从零开始训练一个新的模型的异样检测办法不同,该框架通过 adapter 构造中的大量参数(<1M),将语义上的异样常识迁徙到指标日志源,或通过持续学习适配新的日志源,使得模型在多个日志源上都能有很好的体现。

三、办法

整体框架如上图所示。日志异样检测分为 pretraining 与 adapter-based tuning 两个阶段。对于新引入的日志源,模型首先在以后日志源上学习日志序列中可共享异样语义信息,再通过 adapter-based tuning 形式在新日志源上进行微调,学习新的常识。须要阐明的是,在这里默认日志曾经过解析解决,即模型的输出为每条日志所对应的模板。

在 Feature Extractor 局部,论文应用 sentence-bert 提取每个日志所对应模板的语义信息,将模板序列转换为具备雷同维度的向量序列。目前已有的办法中有的间接通过 BERT 对日志进行编码,以达到缩小日志模式解析过程中的信息损失的目标,然而思考到海量的日志数据,用 BERT 对每一条日志进行词嵌入是不事实的。

Translog 模型的次要构造是多层 transformer encoder。之所以选用多层 transformer encoder 构造,一是因为该构造曾经被 BERT 证实能够学习到通用的语言特色,并且能够被不同的上游工作所应用;二是因为在 transformer 构造中插入 adapter 进行扩大更加易操作。

在 pretraining 阶段,因为曾经对模板进行了语义信息提取,模型会从语义层面学习异样。这一阶段训练时的指标函数是二分类的 BCE loss,所有 transformer 中的参数都会更新,这些参数将会共享至下一阶段中,提供异样的语义常识,并不再更新。

在 adapter-based tuning 阶段,为了适应指标日志源,将会在 transformer 中插入 adapter,并且在训练过程中仅有 adapter 中的参数进行更新。因为 transformer 的参数蕴含了原日志源中异样的语义信息,同时 adapter 中具备残差连接结构,adapter 中的参数将重点学习 target domain 中独有的异样信息。其构造的灵活性还能够一直插入更多的 adapter 以适应一直新引入的日志源。

四、试验后果

论文首先展现了模型 pretraining 阶段的体现。从上图能够看到,即便没有通过 adapter-based tuning,Translog 在三个数据集上都获得了最高的 F1 score,这证实了模型次要框架的有效性。

论文首次探讨了不同日志源之间迁徙的可行性。为了进一步理解模型在 pretraining 阶段是否学习到了可共享的异样语义信息,作者选取了由随机参数和预训练的参数初始化的两个模型,通过试验对两个模型在新引入的日志源上训练过程的 loss 与 F1 进行了比照。在训练过程中对模型的全副参数进行更新。试验结果表明因为 Translog 框架的优异体现,两者最终都可能获得 >0.99 的 F1 score,难以通过最终后果进行比拟,因而本论文通过对训练过程中的体现进行比照剖析。

通过上图能够发现,应用预训练参数初始化的模型在两个数据集上都体现出更快的收敛速度并且收敛过程更加平滑。可能是因为 Thunderbird 与 BGL 日志都来自于超级计算机,常识能够很好地共享,这一体现在 Thunderbird 数据集上更为突出。上述结果表明通过第一阶段预训练失去的参数,具备可共享的异样语义常识,使得模型在不同数据集之间迁徙成为可能。

在上述试验尽管应用了预训练参数进行常识迁徙,但仍须要微调整个模型,不仅训练开销大,还很容易在新的日志源上过拟合并忘记之前的常识。因而,论文持续尝试应用 adapter,通过减少大量的参数使原模型适应新的日志源,并探讨通过 adapter 适应新日志源的可行性。

试验比照了 fine-tuning 与 adapter-based tuning 在迁徙到新日志源时的体现。上图为两种办法在不同层数 transformer 下的后果,参数栏为模型须要更新的参数量。比照发现,插入 adapter 后,仅用大概 3%-5% 的可训练参数,就可能获得与 fine-tuning 类似的问题。单层 Transformer 就可能获得很好的体现,持续重叠更多的 Transformer 作用不大。

上述结果表明每个日志源中的异样信息非常无限,只须要 adapter 中的大量参数就足以达到微调整个模型的体现,由此可得,通过 adapter 使原模型适应新日志源的办法是可行且高效的。

五、总结

该钻研展现了日志异样检测畛域中,不同日志源之间进行常识迁徙的可能性。让咱们更期待日志畛域呈现更多大型预训练模型,能够对多种日志源进行交融解决,使得日志异样检测不再局限于繁多日志源。

开源福利

云智慧已开源数据可视化编排平台 FlyFish。通过配置数据模型为用户提供上百种可视化图形组件,零编码即可实现合乎本人业务需要的炫酷可视化大屏。同时,飞鱼也提供了灵便的拓展能力,反对组件开发、自定义函数与全局事件等配置,面向简单需要场景可能保障高效开发与交付。

点击下方地址链接,欢送大家给 FlyFish 点赞送 Star。参加组件开发,更有万元现金等你来拿。

GitHub 地址:https://github.com/CloudWise-…

Gitee 地址:https://gitee.com/CloudWise/f…

万元现金流动:http://bbs.aiops.cloudwise.co…

微信扫描辨认下方二维码,备注【飞鱼】退出 AIOps 社区飞鱼开发者交换群,与 FlyFish 我的项目 PMC 面对面交换~

正文完
 0