Giter Site home page Giter Site logo

aiops-handbook's Introduction

AIOps 手册

英文版见 <README_en.md>。

AIOps 的论文、演讲、开源库的汇总手册。按照《企业AIOps实施建议白皮书》中的场景分类进行收集和展示。

对于同一个场景,尽量提供比较新的链接。因为新论文里一般会引用和对比旧论文。

异常检测

指标

单指标

多指标

大模型方法

  • 清华大学基于 GPT2 做的GPT4TS大模型。本领域的开山之作,后续进展的基准。
  • 卡内基梅隆大小 MOMENT 模型和 Time-Series Pile 数据集:https://arxiv.org/pdf/2402.03885.pdf。对标大语言模型的 Pile 数据集,收集了目前最常用的 5 个指标数据集,同时覆盖了单维度和多维度指标的分类、长短期预测、异常检测等任务。然后类似 T5 的方式预训练了 moment-base、large、small 三个规格的指标大模型。论文主要对比的基线是 TimesNet 和 GPT4TS。

日志

传统方法

大模型方法

  • 北航发表的 LogQA 论文,利用 T5 大模型,和手工标记生成的训练数据,实现了对日志的自然语言问答:https://arxiv.org/pdf/2303.11715.pdf
  • 澳大利亚纽卡斯尔大学开源的 LogPPT 项目,利用 RoBERTa 大模型和 loghub 数据集。最有趣的点是 loghub 数据集中虽然 80G 日志但每类只有 2k 条有标签的。本论文思路正好就反向用 2k 有标签的做 prompt:https://github.com/LogIntelligence/LogPPT
  • 香港中文大学发表的 DivLog 论文,利用 GPT3 大模型,全面超过 LogPPT 的效果。并探讨了 ICL 方法用 5-shot 可能效果最佳:https://arxiv.org/pdf/2307.09950v3.pdf
    • 后续的 LILAC 开源项目,通过设计的 sampling 方法和 cache,在日志模板推理速率上逼近 Drain 效果!此外,和 LogPPT/LogDiv 的对比中,也验证了基础模型从 110MB 的 RoBerta 到 13B 的 Curie 到 176B 的 ChatGPT,似乎提升不太高。在模板识别任务上,可能中型 LM 的语言理解力就不错了?https://github.com/logpai/LILAC
  • IBM 开源的 BERTOps 项目,利用 BERT 大模型,和一部分人工标记数据,尝试了日志领域的三个分类任务,日志格式分类、黄金信号分类,故障分类(不过这个库就是纯展示,跑不起来,train.sh 里的 pretrain.txt不存在,只给了清洗前的 annotation Excel 文件):https://github.com/BertOps/bertops
  • 浙大/华为开源的 KTeleBERT 项目,综合知识图谱和 BERT 大模型,同时利用产品手册、设备告警日志和 KPI 异常进行通讯领域故障分析:https://github.com/hackerchenzhuo/KTeleBERT
  • 华为/中科大开源的 Biglog 大模型,基于 Bert 利用 16 个项目的4 亿 5 千万日志做无监督预训练:https://github.com/BiglogOpenSource/PretrainedModel。对应论文见:https://ieeexplore.ieee.org/document/10188759/
  • 华为/北邮发布的 LogPrompt 论文,利用 ChatGPT 和 Vicuna-13B 验证 zero-shot、CoT、ICL 几种不同 prompt 方案下的日志模板提取和异常检测效果:https://arxiv.org/pdf/2308.07610.pdf。对比基准就是上面的 LogPPT,结论是 ChatGPT 即使 zero-shot 也比 LogPPT 强一点。而开源的 Vicuna-13B 在 zero-shot 情况下差很多,但 ICL 方案下效果提升很大,接近可用水准。
  • 微软发表的《Recommending Root-Cause and Mitigation Steps for Cloud Incidents using Large Language Models》论文,通过对微软内部4万个故障数据复盘,研究 GPT 模型对比 BERT 模型是否在故障诊断方面更有优势。大概的结论可以认为是:有优势,但依然没啥用。:https://arxiv.org/pdf/2301.03797.pdf
  • 微软亚研/南开发表的《Assess and Summarize: Improve Outage Understanding with Large Language Models》论文,对比 GPT2(本地单卡微调),GPT3(6.7b)和 GPT3.5(175b) 的告警概要水平。3 到 2 确实差异非常明显,但 6.7b 到 175b 倒没有提升特别多:https://arxiv.org/pdf/2305.18084.pdf
  • 北航/云智慧开源的 Owl 运维大模型数据集,包括问答题和多选题两类:https://github.com/HC-Guo/Owl。对应论文中还评测了 MoA 微调、NBCE 长上下文支持、在 loghub 日志模式识别上的差异,不过优势都很微弱。
  • 清华/必示发表的 OpsEval 论文,场景和 Owl 类似,不过仅对比开源模型的表现,并区分中英文差异。实践发现中文问答质量差很多:https://arxiv.org/pdf/2310.07637.pdf
  • 北大/蚂蚁金服开源的 CodeFuse-DevOpsEval 评测数据集,包括 DevOps 和 AIOps 两大块12类场景的选择器:https://github.com/codefuse-ai/codefuse-devops-eval/blob/main/README_zh.md,不过 AIOps 里根因分析场景 qwen 的分数异常的高,我个人怀疑是不是 qwen 预训练用到了阿里巴巴内部资料。
  • 香港中文大学/微软发表的 UniLog 论文,把 LLM 的 ICL 方法用在日志增强领域:https://www.computer.org/csdl/proceedings-article/icse/2024/021700a129/1RLIWpCelqg
  • 复旦大学开源的 KnowLog 项目,爬取了思科、新华三、华为三家网络设备的公开文档里关于日志模板的描述内容,基于 Bert 和 RoBerta 做预训练模型:https://github.com/LeaperOvO/KnowLog
  • 微软发表的 Xpert 论文,从告警工单入口,依赖告警消息内容作为上下文,生成微软Azure自有的 Kusto Query Language:https://arxiv.org/pdf/2312.11988.pdf。论文提出了一个 Xcore 评价方法,从文本、符号、字段名匹配度多方面综合评估。不过文中举的错误示例,告警上线文和正确输出之间一个字都对不上,实在是不可能写对——本文给我的另一个提示:纯粹通过 Chat 形式让人提问生成查询语句,上下文信息太少,太难。当前阶段合适的策略还是找一些特定入口。
  • 微软发表的 RCACopilot 论文:https://yinfangchen.github.io/assets/pdf/rcacopilot_paper.pdf。先对告警信息做摘要,然后用预训练的 fasttext 嵌入模型来做历史故障的向量搜索,在最终的 prompt 里同时提供摘要和历史故障的分类和描述,让 LLM 判断是不是老故障,是的话用 CoT 推理怎么处理。论文中提供了较多的评估数据,但本身对实验运用的团队和业务环境有强依赖,很难判断适用性。
  • 微软发表的另一篇 ReAct 框架做 RCA 的技术报告:https://arxiv.org/pdf/2403.04123.pdf。大概结论是:不开发特定 Tool,靠通用的文档召回 tool,ReAct 效果还不如直接 RAG 或 CoT。即使开发特定 Tool,知识库里的分析计划写的如何,也才是影响最大的。一旦涉及多个知识库文档,ReAct 差不多到第二三轮就会一直失败下去了。
  • Flip.AI 公司,自研的 DevOps 大模型,发表了技术报告。采用了 1 encoder -> N decoder 的 MoE 架构,在 80B token 上增量预训练;微调训练部分主要数据来源是基于 RAG 的 evol-instruct 仿真数据再辅以 18 个月的人工双盲过滤;强化学习阶段是 RLHAIF,构建一个故障注入环境,让模型生成 RCA 报告:https://assets-global.website-files.com/65379657a6e8b5a6ad9463ed/65a6ec298f8b53c8ddb87408_System%20of%20Intelligent%20Actors_FlipAI.pdf

标注

指标异常标注

预测

单指标

容量规划

网络

事件关联挖掘

根因分析

调用链

多维定位

时序相关性分析

解决方案相关性推荐

告警归并

图谱

行为异常

扩展阅读

aiops-handbook's People

Contributors

alswl avatar chenryn avatar youngfish42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aiops-handbook's Issues

基于lstm的日志异常检测工具包

完整版中文介绍:基于lstm的日志异常检测工具包

Github Repo: logdeep

欢迎各位star,提issue以及pr!

前言
日志异常检测模型从模型角度可以分为机器学习和深度学习两大方向,目前基于机器学习的已经有港中文开源的loglizer框架。
鉴于使用rnn为主的深度模型在训练以及预测过程中api与基于机器学习(sklearn)的有较大差别,因此在实践过程中本人针对近两年发布的有关基于rnn的日志异常检测论文进行总结并提炼出了一个工具包logdeep,方便其他研究者继续在此基础上进行创新的工作。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.