云智慧联合北航提出智能运维(AIOps)大语言模型及评测基准

随着各行业数字化转型需求的不断提高,人工智能、云计算、大数据等新技术的应用已不仅仅是一个趋势。各行业企业和组织纷纷投入大量资源,以满足日益挑剔的市场需求,追求可持续性和竞争力,这也让运维行业迎来了前所未有的挑战和机遇。

如何将LLM的强大特性与特定领域的需求相结合,成为了学术界和工业界密切关注的焦点。近日,云智慧智能研究院与北航合作,共同推出了首个专为运维领域定制的大语言模型——“Owl”,有效提高了IT相关任务在细分领域中的高效性、准确性和理解能力,相关微调和benchmark数据的开源更是为智能运维领域的专属大模型开源发展奠定了坚实基础。

背景介绍

随着IT业务的快速发展,,海量数据有效分析和管理在企业实际业务应用中变得变得日益关键。自然语言处理(NLP)技术已在命名实体识别、机器翻译等任务中显示出非凡的能力,大型语言模型(LLM)在各种 NLP 下游任务中更是取得了显著的改进。此时,基于Owl-Instruct 数据训练而成的大型语言模型——Owl 正好填补了智能运维(AIOps)对专属 LLM 的需求。研究提出了Mixture-of-Adapter strategy策略,以提高不同子领域或任务的微调效果。此外,由于缺乏智能运维领域的大语言模型的Benchmark,本次研究建立了 Owl-Bench 测评基准,同时在Owl-bench和其他运维相关的基准上进行了评估。实验表明,Owl 的性能超过了现有开源模型。

本次研究的主要贡献:

  • 提出了Mixture-of-Adapter strategy策略,以提高不同子领域或任务的微调效果。
  • 构建了智能运维领域的大语言模型的Benchmark:Owl-Bench 测评基准。
  • 实验结果表明,Owl 的性能超过了现有开源模型。

图1: Owl-Instruct数据构建和Owl训练流程

数据收集

第一步:种子数据搜集

基于云智慧智能运维专家丰富的运维经验,精心设计模型微调的数据样例和标注说明,涵盖了信息安全、应用程序、系统架构、软件架构、中间件、网络、操作系统、基础设施和数据库9个运维领域常见数据。在每个领域中,Owl-instruct都包含了不同的任务,例如运维知识问答、部署、监控、故障诊断、性能优化、日志分析、脚本编写、备份和恢复等。最终得到了一个由 2,000 个单轮和 1,000 个多轮对话的种子数据实例组成的语料库。

第二步:数据扩充

对于单轮数据,借鉴Self-Instruct的方法,最终产生了 9118 条数据。对于多轮对话数据,采用 Baize中阐明的方法,最终得到8,740条多轮对话数据。

第三步:数据质量

为了保持严格的数据质量标准,基于扩充的数据,在利用 GPT-4 对标注数据进行评分的同时,组织云智慧智能运维专家进行细致的人工验证。这种双重验证流程可确保生成数据的完整性和可靠性,同时提高数据的整体质量。在利用 GPT-4 进行评分时,针对数据集精心设计了特定的提示(prompt)。这些提示使 GPT-4 能够根据预定义的质量标准对生成的数据进行评估和评分,能够迅速识别并过滤低质量的数据实例。与此同时,数据还经过了由云智慧各智能运维专家组成的审核团的严格人工验证,审核团队会对每个数据条目进行深入评估,这一人工检查过程需要对内容、连贯性以及与特定领域知识的一致性进行彻底检查。

运维评测数据集Owl-Bench 构建

当前,运维领域评估大型语言模型性能的基准仍存在严重不足。为了弥补这一不足,云智慧构建了一个双语基准——Owl-Bench。Owl-Bench由两个不同的部分组成:317 个条目组成的问答部分和 1000 个问题组成的多选部分,涵盖了该领域的众多真实业务场景,确保Owl-Bench能够展现出多样性。测评集的收集过程包括信息安全、应用、系统架构、软件架构、中间件、网络、操作系统、基础设施和数据库9个不同的子领域。

图2: 根据词频生成的词云

实验结果

Owl-Bench实验结果

Owl-bench的实验结果包括问答题和选择题的结果,实验结果都证明了Owl相关能力的领先性。

图3: 问答题pairwise的结果, 以GPT4作为评测

图4: 选择题zero-shot得分雷达图

运维领域下游任务

为了验证Owl在运维领域的泛化性,在运维相关下游任务进行了测试,选取了日志解析、日志异常检测两个典型任务进行了测试。对于这两个典型任务,设计了特定的prompt,相关实验证实了Owl的有效性。

图5: 日志解析基准测试结果

图6: 日志异常检测基准测试结果

结语

智能运维专属大模型“Owl”的问世将会成为智能运维行业发展的一个新转折点。随着各类新兴技术的应用,云智慧也将会为智能运维领域带来更多的突破和创新,进一步为各类企业提供创新的运维解决方案,提升企业的IT运维效能,促进数字化转型的成功实施。与此同时,“Owl”相关微调和benchmark数据的开源,将为智能运维领域的全生态开放发展贡献更多的研究和应用潜力。

论文链接:https://arxiv.org/abs/2309.09298 Owl : A Large Language Model for IT Operations(猫头鹰:用于 IT 运维的大型语言模型) 友情链接: https://mp.weixin.qq.com/s/LVFp8iYFCg0FouTUWVtFIw

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MacOS安装git

文章目录 通过Xcode Command Lines Tool安装(推荐)终端直接运行git命令根据流程安装先安装Command Lines Tool后再安装git 官网下载二进制文件进行安装官方国外源下载二进制文件(不推荐)国内镜像下载二进制文件(推荐)安装git 通过Xcode Command Lines Tool安装(推荐) 简单来讲C…

vivado布局分析

1、高亮显示布局 1. 在“ Netlist ” ( 网表 ) 窗口中 , 选择要分析的层级。 2. 从弹出菜单中 , 选择“ Highlight Leaf Cells ” → “ Select a color ” ( 高亮叶节点单元 > 选择颜色 ) 。 3. …

Docker DeskTop安装与启动(Windows版本)

一、官网下载Docker安装包 Docker官网如下: Docker官网不同操作系统下载页面https://docs.docker.com/desktop/install/windows-install/ 二、安装Docker DeskTop 2.1 双击 Docker Installer.exe 以运行安装程序 2.2 安装操作 默认勾选,具体操作如下…

【React】【react-globe.gl】3D Objects效果

目录 想要实现的效果实现过程踩坑安装依赖引入页面 想要实现的效果 示例地址 实现过程 踩坑 示例是通过script引入的依赖,但本人需要在react项目中实现该效果。按照react-globe.gl官方方法引入总是报错 Cant import the named export AmbientLight from non EcmaS…

玩转AIGC:如何选择最佳的Prompt提示词?

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

rust入门基础案例:猜数字游戏

案例出处是《Rust权威指南》,书中有更加详细的解释。从这个例子中,我们可以了解到 rust 的两个操作: 如何从控制台读取用户输入rust 如何生成随机数 代码格式化 编译器可在保存时对代码做格式化处理,底层调用 rustfmt 来实现&a…

http中的Content-Type类型

浏览器的Content-Type 最近在做web端下载的时候需要给前端返回一个二进制的流,需要在请求头中设置一个 writer.Header().Set("Content-Type", "application/octet-stream")那么http中的Content-Type有具体有哪些呢?他们具体的使用场…

正点原子嵌入式linux驱动开发——Linux 块设备驱动

经过之前这些笔记的学习,都是字符设备驱动,本章来学习一下块设备驱动框架,块设备驱动是Linux三大驱动类型之一。块设备驱动要远比字符设备驱动复杂得多,不同类型的存储设备又对应不同的驱动子系统,本章重点学习一下块设…

JAVA智慧工地管理系统源码基于微服务

智慧工地是将互联网的理念和科技引入施工现场,从施工现场源头抓起,大程度的收集人员、安全、环境、质量等关键业务数据。通过结合物联网、大数据、互联网、云计算等技术建立云端大数据管理平台,形成端云大数据的体系与模式,这就是…

Java数组的定义与常用使用方法

目录 一.什么是数组 二.数组的创建及初始化 数组的创建 数组的初始化 动态初始化: 静态初始化: 【注意】 三.数组的使用 数组中元素访问 遍历数组 四.数组作为方法的参数 参数传基本数据类型 参数传数组类型(引用数据类型) 作为方法的返回…

Vue3 如何在<script setup>里设置组件name属性

Vue3 如何在<script setup>里设置组件name属性 文章目录 Vue3 如何在\<script setup>里设置组件name属性一、Vue组件中 name 的用处二、难看但实用的方法三、使用第三方插件支持安装插件插件基本配置插件基本使用 四、Vue官方解决方法4.1 Vue3.3版本之前安装插件插…

在PyCharm中直接启动mitmproxy并自动打开关闭系统代理

前言 在前面的文章中&#xff0c;有几篇是介绍mitmproxy 的。 这个mitmproxy 的确是个捕获数据的好工具&#xff0c;但在运行时候需要在命令行启动&#xff0c;这是很令人苦恼的。 之前也尝试过脱离命令行去启动mitmproxy&#xff0c;在Python中启动mitmproxy&#xff0c;脱离…