大语言模型及提示工程在日志分析任务中的应用 | 顶会IWQoS23 ICPC24论文分享

本文是根据华为技术专家陶仕敏先生在2023 CCF国际AIOps挑战赛决赛暨“大模型时代的AIOps”研讨会闪电论文分享环节上的演讲整理成文。


BigLog:面向统一日志表示的无监督大规模预训练方法
BigLog: Unsupervised Large-scale Pre-training for a Unified Log Representation(IWQoS 2023)
作者:陶仕敏*、刘逸伦*、孟伟彬、任祚民、杨浩等
论文链接:https://ieeexplore.ieee.org/abstract/document/10188759
代码:https://github.com/LogAIBox/BigLog

LogPrompt:面向零样本和可解释性日志分析的提示工程
LogPrompt: Prompt Engineering Towards Zero-Shot and Interpretable Log Analysis(ICSE 2024 Poster & ICPC 2024)
作者:刘逸伦、陶仕敏、孟伟彬、姚飞宇、赵晓峰、杨浩等
论文链接:https://arxiv.org/abs/2308.07610
代码:https://github.com/lunyiliu/LogPrompt


大家好,非常感谢组委会的邀请。我跟AIOps挑战赛结缘已久,在2018年的时候我当时所在的团队赞助了第一届挑战赛。很荣幸今年再次站在挑战赛的舞台上跟大家交流探讨。我们团队主要研究的方向是机器翻译,机器翻译是典型的语言模型,在这个领域我们开展了日志相关的研究工作,今天跟大家分享的两篇论文也是和日志相关的。

我分享的内容大致分为四个章节。

第一部分:软件日志运维观点

在这里插入图片描述

从日志的角度看,智能运维可以简单的概述为基于数据算法以及场景驱动的一个软件的运维工作。

运维工作中最核心的就是数据,数据里面最核心的部分包含有日志、指标数据、告警数据等,我们认为从某种程度上而言日志可以被看作是一个更全面的数据,它代表一种机器语言,其它的指标数据可能是从日志里面获取的并经过后期加工处理,所以可能会有一些信息丢失。

大语言模型为什么可以应用到ICT运维领域?

在这里插入图片描述

首先日志是一种类自然语言的文本,可以通过大语言模型加强对日志文本的理解。其次通过预训练或者指令学习,可以适应多任务场景,从而可能建立处理框架。

在这里插入图片描述

现在大语言模型非常火热,之所以会出现这样一个能够理解自然语言世界的模型,其本质上是通过自然语言对整个物理世界的一种映射,建立的是一种数字世界,所以它是能够理解真实的物理世界,包括我们的真实运营环境。

在这里插入图片描述

上图是我们的研究团队,以及和清华裴丹老师合作的一些日志相关的内容做了一个总结。

从第一代到第三代是任务数据驱动型,到第五代大模型出现之后转变为指令驱动的方式,就是构建自动自适应的智能运维体的方式。

第二部分:AIOps痛点与挑战

痛点一:传统运维系统中定制化严重、各自为战,缺乏统一框架。

在这里插入图片描述

痛点二:传统日志分析方法中缺少对日志语义特征的深度挖掘以及对语义的理解。

在这里插入图片描述

痛点三:传统智能运维算法依赖于任务数据,专家标注耗时耗力。前面也有专家介绍过标注数据其实是比较少的,那么我们该如何解决依赖人力标注的问题?

在这里插入图片描述

痛点四: 传统运维系统可解释性差、可交互性弱。

在这里插入图片描述

第三部分:大模型时代的AIOps应用探索

在这里插入图片描述

为了解决上述痛点问题,我们团队做了深入的研究工作,有两个解决方案,第一个就是Biglog, 基于大规模日志预训练理解日志机器语言、构建日志多任务统一框架,解决传统运维系统没有统一框架的问题和传统日志分析对于日志语义理解特征的一些痛点问题。我们是基于LogHub开源数据再加上自己的数据做的训练工作。

另外一个就是LogPrompt,基于日志适用的Prompt策略驱动强语言模型构建零样本日志分析框架,通过领域prompt策略驱动语言模型,构建零样本的日志分析框架,解决图片上痛点3和痛点4的问题。

在这里插入图片描述

在Biglog这块我们引入了来自16个域、约80G的日志数据作训练集,基于BERT的架构做初始化,训练一个能理解日志的语言模型,这样不仅引入了一个统一的日志分析框架,并且可以对输入日志做通用表征。

这里面有一个核心点,就是对里面的日志做了预处理,把一些非关键性因素替换成可以用语义能表达的数据。比如,把具体的IP地址替换成特殊符号[IP],把一些具体的文件路径替换成[FILE],把一些代码相关的符号替换成[CODE]等。我们还利用到术语,把我们自己已有的术语资料放在预训练模型中一起去训练。

在这里插入图片描述

上图中展示就是LogHub开源的数据和和华为自己内部的数据,然后我们基于BERT架构做了一个纯日志的预训练方式。

在这里插入图片描述

图片中展示的是我们的效果,日志解析的效果是非常理想的,因为我们的模型本身在16个域的所有数据上都做了一些训练,从根源上来说可能学习到了各个系统的一些日志模板的规范,包括日志的打印方式。

在这里插入图片描述

图片中展示的是在异常检测的任务上的效果。Offline的结果显示模型和算法的效果都是挺不错的,基本上都接近1。Online训练时训练数据是在不间断减少的,并且测试数据越来越多且包含一些未知的日志。当训练数据从80%减少到0.1%的时候,Biglog效果保持的非常好,几乎没有变化。

在这里插入图片描述

在故障预测方面,Biglog和Unilog的对比结果显示效果还是挺不错的。这可能代表它在长距日志依赖上能有效识别故障发生。

在这里插入图片描述

通过实验我们发现在领域迁移性方面,Biglog比LogTransfer表现的要好。另外我们做异常检测的时候,发现在Few-shot或者Zero-shot这块,模型也有很好的泛化能力。总体来说,当给它大概20个左右的samples时候,就已经可以达到非常不错的效果了。

在这里插入图片描述

下面我们介绍LogPrompt。

我们完成BigLog之后开始推进LogPrompt的研究工作,也是因为我们团队是做与机器翻译领域的工作,对大语言模型比较敏感。当大语言模型出现之后,我们马上就想到是不是能够用来做日志相关的一些工作,是否能够有一个比较好的方式去尝试去解决可解释性问题以及它的标注问题。

我们尝试了Prompt+LLM的机制,只要采用简单的一些 cot的 prompt以及上下文的信息,就能够把日志的解释性以及它的交互性得到比较好的应用。

在这里插入图片描述

当然这依赖于一个基础模型,比如像华为的盘古大模型,即学习了人类语言的知识,也学习了机器相关的日志的信息,包括运维相关的信息。我们在这个能力之上,用一个高智能prompt去激发模型本身的能力。所以我们看到即使是零样本的时候,在异常检测还有相关的任务上面,效果也是表现的很好。

在这里插入图片描述

我们把LogPrompt放在华为乾坤云系统上,做一些实际的效果和应用。把我们的Prompt引擎放在乾坤云的 UI助手上面,相当叠加了外挂的知识库,也就是会有一个上下文增强的一个知识,然后基于这样知识,可以做到一些类似于LLM加Agent的效果,把一些API调用,能够做到比较好的精准反馈。

第四部分:未来畅想

在这里插入图片描述

前面的各位专家已经分析了大语言模型可能带来的效果,从期望角度来说未来运维工作有可能是一个纯自然语言的交互,本身自然语言就是一个比较好的交互方式;也可能是被动式运维,当出现问题之后需要通过语言查询获取反馈结果;或者是智能化的Agent级的自运维,比如网络自动驾驶等。当然可能会面临一个问题:运维系统或者 Agent本身可能会违背人的意图,造成安全隐患。假设它能控制Agent的话,我们怎么做到安全可控。

我的分享到此结束,谢谢大家。

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

低代码平台适合谁用?业务岗能用它做什么?开发岗能用它做什么?一文讲清!

近期,低代码开发平台以其独特的魅力,迅速引发了大众的广泛关注。众多人士纷纷寻求了解各类低代码产品,以探究其功能与特点。 然而,有些人可能因一两款产品的体验不佳,便对整个低代码行业产生了偏见。但我要指出的是&am…

JS 表单验证

点击注册的时候&#xff0c;渲染出来&#xff0c;验证码是自动获取出来的 html&#xff1a; <div class"div1">用户名<input type"text" id"yhm"><span id"span1"></span><br>密码<input type"…

用AI作图,使用这个免费网站,快看我画的大鹏鸟和美女

还是大剑师兰特&#xff1a;曾是美国某知名大学计算机专业研究生&#xff0c;现为航空航海领域高级前端工程师&#xff1b;CSDN知名博主&#xff0c;GIS领域优质创作者&#xff0c;深耕openlayers、leaflet、mapbox、cesium&#xff0c;canvas&#xff0c;webgl&#xff0c;ech…

C语言面试题之判定字符是否唯一

判定字符是否唯一 实例要求 实现一个算法&#xff0c;确定一个字符串 s 的所有字符是否全都不同 实例分析 1、使用一个大小为 256 的bool数组 charSet 来记录字符是否出现过&#xff1b;2、遍历字符串时&#xff0c;如果字符已经在数组中标记过&#xff0c;则返回 false&a…

Linux、Docker、Brew、Nginx常用命令

Linux、Docker、Brew、Nginx常用命令 Linuxvi编辑器文件操作文件夹操作磁盘操作 DockerBrewNginx参考 Linux vi编辑器 Vi有三种模式。命令模式、输入模式、尾行模式&#xff0c;简单的关系如下&#xff1a; i -- 切换到输入模式&#xff0c;在光标当前位置开始输入文本。&a…

代码随想录算法训练营Day48|LC198 打家劫舍LC213 打家劫舍IILC337 打家劫舍III

一句话总结&#xff1a;前两题白给&#xff0c;第三题树形DP有点难。 原题链接&#xff1a;198 打家劫舍 滚动数组直接秒了。 class Solution {public int rob(int[] nums) {int n nums.length;int first 0, second nums[0];for (int i 2; i < n; i) {int tmp Math.m…

SysTick滴答定时器 - 延时函数

SysTick定时器 Systick定时器&#xff0c;是一个简单的定时器&#xff0c;对于CM3,CM4内核芯片&#xff0c;都有Systick定时器。Systick定时器常用来做延时&#xff0c;或者实时系统的心跳时钟。这样可以节省MCU资源&#xff0c;不用浪费一个定时器。比如UCOS中&#xff0c;分…

记录一次Ubuntu 22.04桌面版安装向日葵的过程

大概花了近一天的时间安装了WIN11和Ubuntu 22.04双系统&#xff0c;中间Ubuntu安装时出现了好几次失败&#xff0c;后来检查可能是下载的iso文件有问题&#xff0c;重新下载一次&#xff0c;刻录到U盘。安装才算成功。 最后的Ubuntu系统信息如下 接着安装向日葵的时候出错了&a…

visionOS 专门应用提交数大幅下降;Kimi 不断「吊打」国内各大厂 AI 模型丨 RTE 开发者日报 Vol.180

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」&#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE &#xff08;Real Time Engagement&#xff09; 领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「…

【六 (3)机器学习-机器学习建模步骤/kaggle房价回归实战】

目录 文章导航一、确定问题和目标&#xff1a;1、业务需求分析&#xff1a;2、问题定义&#xff1a;3、目标设定&#xff1a;4、数据可行性评估&#xff1a;5、资源评估&#xff1a;6、风险评估&#xff1a; 二、数据收集&#xff1a;1、明确数据需求2、选择数据来源3、考虑数据…

显示LED屏驱动内置上电复位电路,2线串行接口-VK1640 SOP28 8×16点阵

产品品牌&#xff1a;永嘉微电/VINKA 产品型号&#xff1a;VK1640 封装形式&#xff1a;SOP2 概述 VK1640是一种数码管或点阵LED驱动控制专用芯片&#xff0c;内部集成有数据锁存器、LED 驱动等电路。SEG脚接LED阳极&#xff0c;GRID脚接LED阴极&#xff0c;可支持8SEGx16GR…

机器学习之特征选择(Feature Selection)

1 引言 特征提取和特征选择作为机器学习的重点内容&#xff0c;可以将原始数据转换为更能代表预测模型的潜在问题和特征的过程&#xff0c;可以通过挑选最相关的特征&#xff0c;提取特征和创造特征来实现。要想学习特征选择必然要了解什么是特征提取和特征创造&#xff0c;得…

golangci-lint 报错

File is not gci-ed with --skip-generated -s standard,default (gci) golangci-lint 报错上面的错解决办法&#xff1a; 1. 文件换行需要换成"LF" 而不是"CRLF" ---->>> 2. 运行下面的命令自动修复(需要在相应的目录下或自己设置目录) …

从数据采集到可视化展示Node-Red二次开发4G模块

环境监测正逐步迈入数字化、智能化时代。Node-Red作为一种开源流式编程工具&#xff0c;以其强大的数据处理能力和设备集成便捷性&#xff0c;在构建环境监测数据站中发挥着至关重要的作用。钡铼技术支持Node-Red编程开发&#xff0c;支持BLIoTLink软网关和自定义开发非标协议。…

# ABAP SQL 字符串处理

经常我都要在ABAP的sql语句中对字符串进行处理&#xff0c;现在就总结一下可以用到的方法 文章目录 字符串处理拼接字段运行结果 填充字符串运行结果 截取字符串 SUBSTRING运行结果 CAST转换类型程序运行结果 字符串处理 在SQL语句中&#xff0c;有时候会有需要拼接字段或者是…

【iOS ARKit】AR Quick Look 概述

为更好地传播共享 AR 体验&#xff0c;苹果公司引入了 AR Quick Look&#xff0c;并在iOS 12及以上版本系统中深度集成了 AR Quick Look&#xff0c;因此可以通过iMessage、Mail、Notes、 News、 Safari 和 Files 直接体验 AR&#xff0c;AR Quick Look提供了在 iPhone 和iPad …

B02、分析GC日志-6.3

1、相关GC日志参数 -verbose:gc 输出gc日志信息&#xff0c;默认输出到标准输出-XX:PrintGC 输出GC日志。类似&#xff1a;-verbose:gc-XX:PrintGCDetails 在发生垃圾回收时打印内存回收详细的日志&#xff0c; 并在进程退出时输出当前内存各区域分配情况-XX:PrintGCTimeStamp…

【第二十七篇】几款配合Burpsuite使用的Google插件(Wappalyzer、FindSomething、FOFAproView等)

文章目录 WappalyzerFindSomethingFOFA Pro ViewsuperSearchPluswayback machinesource detecotorX-Forwarded-For Header以下插件均在Google应用商店中下载 Wappalyzer Wappalyzer是一个用于识别网站所使用的技术和工具的浏览器扩展程序。它能够检测出网站所使用的内容管理系…

2024年生成式人工智能的现状:进展、挑战与未来展望的深入分析

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

主流三种驱动器方案特点简介

三种执行器原理相似&#xff0c;但在结构和部件上略有区别&#xff0c;因此在精度、响应速度等指标上 呈现不同效果&#xff1a; &#xff08;1&#xff09;TSA&#xff08;刚性驱动器&#xff09;&#xff1a;常规高速电机高传动比减速机高刚度力矩传感器&#xff0c;减 速机…