KnowLog:基于知识增强的日志预训练语言模型|顶会ICSE 2024论文

news2024/11/20 9:38:17

在这里插入图片描述
徐波 东华大学副教授
东华大学计算机学院信息技术系副系主任,复旦大学知识工场实验室副主任,智能运维方向负责人。入选“上海市青年科技英才扬帆计划”。研究成果发表在IJCAI、ICDE、ICSE、ISSRE、ICWS、CIKM、COLING等国际会议上,曾获中国数据库学术会议(NDBC 2014)优秀论文奖。主持及参与国家重点研发计划、国家自然科学基金等科研项目10余项。

论文分享:
KnowLog: Knowledge Enhanced Pre-trained Language Model for Log Understanding(ICSE 2024)
KnowLog:基于知识增强的日志预训练语言模型


本文根据东华大学副教授徐波老师在2023 CCF国际AIOps挑战赛决赛暨“大模型时代的AIOps”研讨会闪电论文分享环节上的演讲整理成文。


今天分享的主题是“懂运维语言的小模型”。从今天上午的汇报来看,小模型依然很重要。即使大家都在做多智能体的协同,但是他们的底座智能体还是在用小模型来做,这可能是考虑到成本和质量的问题。此次报告将从4个方面进行分享。

众所周知,日志在运维系统中占据非常大的比重,日志分析是一个非常重要的工作,每分钟都会有几十万上百万的日志产生,这个时候用大模型肯定是不行的。而以前的小模型,针对不同的任务,设计不同的框架去单独解决,缺乏一个统一的处理框架。

在这里插入图片描述

而在NLP领域,“预训练+微调”已经成为了自然语言处理的统一范式。那么能不能把这种自然语言的统一范式应用到日志里面,构建日志的预训练模型呢?

图片

我们把这种类似BERT的预训练语言模型放到日志里面去,发现其实它并不是很work,原因是什么?分析结论是,自然语言中的高频词和在日志中使用的高频词其实是不一样的。这里就会产生三个具体挑战:

在这里插入图片描述

第一,通用的预训练语言模型不理解日志中的特定术语,比如OSPF或者SYSLOG等等,这些领域的特定缩写经过Bert编码后会被变成unknown,这就会非常影响后续的处理。

第二,从整体来讲,通用的预训练语言模型不理解日志到底在说什么,就像给非专业人士看日志文档,事实上也是看不懂的。

第三,不同厂商描述同一个日志打的Log也是不一样的。

在这里插入图片描述
针对这三个挑战,我们受专家解决问题的思路启发提出了知识增强的方案,会去从领域手册里查询补全知识。

在这里插入图片描述

如果局部知识不懂,就看缩略词表,把局部知识补全。如果是全局知识不懂,就看全局知识描述的文档。基于以上,我们提出了知识增强的日志预训练模型的框架,该框架主要分为三部分:

图片

第一,如何把局部知识灌到大模型里,这里设计了缩略词预测任务,把缩略词遮住之后让大模型复原,如果它知道是缩略词,就认为模型已经理解缩略词。

第二,针对全局知识的增强,建立日志模板和日志描述的对应关系。

最后,为了支持不同厂商的日志?使用了对比学习的思路,通过构造各种的数据增强方式,去对同一个日志做不同表达,使其能够满足不同的表示方法。

在这里插入图片描述

基于这个方法,我们构造了很多的实验,从华为、思科、华三等一些厂家提取日志模板。注意这里做了一个改进,就是我们没有去理解日志,而是去理解日志模板,因为日志很多,但是模板并不多。我们这边拿了10万条的日志模板,然后构造了一些下游任务,从而得到了几个结论:

在这里插入图片描述

首先,通过知识增强的日志预训练模型确实显著优于通用预训练模型。

在这里插入图片描述

然后,在低资源场景下实验,这个实验很实用,因为企业内部的数据并不是太多,通过实验可以看出,把整个的训练集砍掉了一半,甚至只保留30%,模型下降的程度并不高,而通用模型的下降幅度就比较大。

在这里插入图片描述

另外,在跨厂商迁移方面,我们用华为的日志训练完应用到华三日志上面,或者用华三日志训练完去用到思科日志上面,发现都有非常好的效果。

在这里插入图片描述

同时,通过可视化展开可以看到,在没有做知识增强之前,原始日志和它的描述其实是红点和绿点区分得非常开,但通过了我们的知识增强对齐之后,把日志和它的描述对应的比较紧密了。

在这里插入图片描述

总结一下,我们事实上是提了一个基于领域知识增强的框架。目前这一版的缺陷就是必须先有文档,才能做日志理解。后续还有工作就是不需要有文档,直接用ChatGPT生成。通过实验我们发现用ChatGPT,只要精心设计提示词,规范好生成结果,它也是能达到跟日志文档一样甚至更好的效果。

以上就是我的分享内容,谢谢大家。

观看完整演讲视频,请关注“CCF OpenAIOps社区”视频号
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1570327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 内核优化简笔 - 高并发的系统

简介 Linux 服务器在高并发场景下,默认的内核参数无法利用现有硬件,造成软件崩溃、卡顿、性能瓶颈。 当然,修改参数只是让Linux更好软件的去利用已有的硬件资源,如果硬件资源不够也无法解决问题的。而且当硬件资源不足的时候&am…

小红的平滑值插值【牛客周赛38】

题目描述: 小红定义一个数组的“平滑值”为:相邻两数差的绝对值的最大值。 具体的,数组a的平滑值定义为 现在小红拿到了一个数组。她每次操作可以在两个元素之间添加一个整数(不能添加在第一项前面或者最后一项后面)。…

鸿蒙开发第一课-工具与HelloWorld

武汉数字人才实训基地 一、初始HarmonyOS以及DevEco Studio 2023年8月4日,HarmonyOS 4.0操作系统正式发布。华为鸿蒙Next(HarmonyOS Next)操作系统开发者预览版(Developer Preview)发布。超过7亿台设备搭载了HarmonyOS 系统 2024年&#xf…

时序预测 | Matlab基于CFBP级联前向BP神经网络时序预测

时序预测 | Matlab基于CFBP级联前向BP神经网络时序预测 目录 时序预测 | Matlab基于CFBP级联前向BP神经网络时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab基于CFBP级联前向BP神经网络时序预测(完整源码和数据); 2.数据集为excel…

提灯定损的建模-UMLChina建模知识竞赛第5赛季第9轮

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。 只要最先答对前3题,即可获得本轮优胜。 如果有第4题,第4题为附加题&am…

阿里 对象存储OSS 云存储服务

1.简介 对象存储服务(Object Storage Service ,OSS) 是一种 海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。 2.如何使用。参考文档 看文档,说的…

LeNet卷积神经网络

文章目录 简介conv2d网络层的结构 简介 它是最早发布的卷积神经网络之一 conv2d 这个卷积成的参数先进行介绍一下: self.conv1 nn.Conv2d(in_channels3, out_channels10, kernel_size3, stride1, padding1)先看一下in_channels 输入的通道数,out_cha…

Kotlin学习日志(一)TextView、Button、Toast的使用(1)

android:layout_width“wrap_content” android:layout_height“wrap_content”/> import kotlinx.android.synthetic.main.activity_main.* 这句话的意思是引进Kotlin的的控件变量自动映射功能,接下来只要是这个activity_main.xml文件中的控件,我…

Xshell Plus 详细安装教程以及附带使用图文教程

一、下载 Xshell Plus 6 完成后,请按照下面教程操作 1、下载 Xshell Plus 6 完成后,并解压 zip 包: 2、进入解压后的文件夹后,如果你之前安装了 Xshell, 先点击 !卸载.bat 卸载 xshell, 然后再点击 !绿化.bat; 如果是…

Pygame基础10-物理模拟

PyMunk PyMunk是一个模拟物理的库。 注意,PyMunk只是进行物理模拟,不包含可视化的功能。如果需要可视化,可使用pygame等库。 可用pip安装pymunk pip install pymunk pymunk中的概念: space: 物理空间。 包含gravity 模…

[问题记录] oracle问题汇总记录

plsql问题 1、oracle-initialization error could not locate OCI.dll 下载plsql客户端后,登录显示如图所示的错误 解决方法,点击下方链接,下载64位客户端 Instant Client for Microsoft Windows (x64) 64-bit (oracle.com) 2、显示中文乱…

如何打包一个手机软件

目录 前言: 准备工具: 创建项目: 打包程序: 前言: 我们平时手机上使用的程序,或者电脑上使用的程序都可以由Web程序打包而来的,而打包不是一个.html文件也不是一个.js文件而是一个大型的文…

可视化大屏的行业应用(3):智慧旅游智慧景区

可视化大屏在智慧旅游和智慧景区中具有重要的应用价值,可以帮助景区管理者更好地了解景区的情况,提高游客的满意度和体验,促进景区的发展。 实时监控: 可视化大屏可以将景区内的各种数据实时监控,包括游客数量、交通…

VC++建立空文档失败的一种情形

假设现在要在单文档程序的客户区创建控件; 把控件作为视类的成员变量; 先把成员变量定义加到视类头文件; 然后在视类的, BOOL CMyttView::PreCreateWindow(CREATESTRUCT& cs) {....... } 在此成员函数中创建控件; 运行程序,就会出现如下错误, 这就需要在类向导…

企业员工岗前培训管理系统的设计与实现(论文+源码)_kaic

摘 要 有效的处理想要的相关信息和如何传播有效的信息,一直是人类不断探索的动力。人类文明火种的传承都是通过了多种媒介作为载体,也是随着社会生产力的发展不断的更新。随着互联网的到来,信息传播与管理都上升了一个新的台阶,并…

Linux课程____LVM(逻辑卷管理器)

LVM 技术是在硬盘分区和文件系统之间添加了一个逻辑层,它提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。 这样一来,用户不必关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。 动态调整磁盘容量&#xff…

蓝桥杯备考3

P8196 [传智杯 #4 决赛] 三元组 题目描述 给定一个长度为 n 的数列 a,对于一个有序整数三元组 (i,j,k),若其满足 1≤i≤j≤k≤n 并且,则我们称这个三元组是「传智的」。 现在请你计算,有多少有序整数三元组是传智的。 输入格式…

Rust---复合数据类型之结构体

目录 结构体的使用输出结果 结构体简化创建结构体更新语法元组结构体单元结构体(unit struct)结构体中的引用使用#[derive(Debug)]再次介绍 代码综合展示 与元组不同的是,结构体可以为内部的每个字段起一个富有含义的名称,因此无需…

Qt+OpenGL_part1

OpenGL,Qt实现:1入门篇(已更完)_哔哩哔哩_bilibili OpenGL3.3以上是现代模式(可编程管线): 状态机 状态设置函数(State-changing Function) 状态应用函数 (State-using Function) OpenGL的状态…

VB 通过COM接口解析PSD文件

最近有PS测评的需求,故而想到了解析psd文件,目的就是为了获取文档信息和图层信息;获取PS的图像信息有很多方式,有过程性的,比如监听PS的各种操作事件;有结果性的,比如本文写的解析PSD文件。 0.…