Advertisement

字节跳动基础架构SRE-Copilot获得2023 CCF国际AIOps挑战赛冠军

阅读量:

近日,“2023 CCF国际 AIOps 挑战赛 决赛及‘大模型时代下的 AIOps’研讨会”于北京圆满落幕。本次活动吸引了来自多个领域包括互联网企业、运营商集团以及科研机构等众多专家学者参与。本次研讨会为推动智能运维领域的前沿学术研究与实际生产实践的应用提供了新思路。在决赛现场,十支从初赛中脱颖而出的队伍分别展示了各自独特的解决方案,并依次进行了现场答辩。评审专家从选题方向性考量出发,在创新性与实用性之间取得平衡,并综合考虑了方案完整性以及实验复现结果等多个维度进行综合评定。最终,“字节跳动基础架构-SRE 团队”的 SRE-Copilot战队凭借“SRE-Copilot:基于 LLM 的多场景智能运维”斩获本届大赛最高荣誉桂冠

83ed35f441d587eb747a2e7fb2280c57.jpeg

中国计算机学会(CCF)与清华大学及南开大学共同发起组织的CCF国际AIOps挑战赛自2017年底首次举办以来,在过去六届中取得了显著成就,并逐渐提升影响力。该赛事旨在依靠社区力量和人工智能算法来解决各类运维难题,并已成功吸引了众多AIOps从业者及爱好者参与。经过六届的成功举办后,赛事规模持续扩大并逐渐提升影响力。本次赛事共有来自265支参赛队伍的677名选手报名参加比赛,在决赛现场有超300人线下参会的同时还有近5万人次通过网络直播观看了现场直播

CCF国际AIOps挑战赛自创办以来不断演进,在历届赛事中均聚焦于展现不同维度的运维智慧与创新实践。本届大赛再次突破传统模式,在原有基础上进行了全方位创新升级:首次推出开放式的赛题设置 ,旨在激发参赛者的创造力与技术能力;基于建行云龙舟运维平台提供的稳定性的支持工具以及多维监控系统的技术基础之上 ,鼓励每位参赛者自行选择并聚焦于解决实际存在的特定运维问题;并对其提供的交易日志 以及调用链等多样化的数据源进行深度分析 ,包括故障定位 以及影响性评估等关键环节;本次赛事突破了单一场景限制 ,构建了一个模拟企业级复杂架构环境下的多维度挑战平台 ,旨在为企业级AIOps运营团队提供真实的训练环境与实践机会;通过统一的数据标准与处理流程 ,使得所有参与方都能基于相同的输入条件展开竞争 ,同时也能借此机会深入探索大语言模型(LLM)在智能运维领域的潜在应用场景与技术价值

e94c7e22f953c956281a239aba09f6cd.png

为了适应这一变革,SRE-Copilot战队推出了基于大语言模型的多场景智能运维框架——SRE-Copilot 。该框架借鉴了GPT的理念,即通过集成学习的方式构建,并整合了多个专业化的子Agent形成一个强大的混合专家(MoE)系统,使其能够协同工作并实现动态编排调度,具备计划、记忆、反思和推理等功能,为其提供智能化的服务支持,从而显著提升了SRE的工作效率。在技术和创新性方面:

该系统依托ReAct框架与CoT思考链实现多模态数据按需异常检测能力

ReAct的思想参考自论文ReAct: Synergizing Reasoning and Acting in Language Models, 包括推理(Reasoning)和行动(Action)。推理帮助模型生成、追踪和更新计划以应对异常情况,并通过逻辑推断解决问题;行动则允许模型与外部环境交互以便获得更多信息, 从而提高准确性与适应性能力。

fea8e19d40835c5439c738d54c716127.png

在异常检测场景下,首先建立多数据源的Agent集合体,在线实时执行任务分配与协作处理。作为主持人Copilot的功能是解析用户的意图,并将后续指令传递给相关负责人。其中RCA(Root Cause Analysis) Agent主要负责收集其他Agent反馈的异常信息以及相关的网络路径和配置参数,并完成根因定位工作。如图所示,在用户提问中提到“交易大量失败”这一现象时,系统会立即调用专门处理交易数据的Trade Agent进行深入分析。通过Trade Agent的分析得到“交易性能下降”的结果后,则会进一步触发负责性能监控的数据采集与评估环节。每个参与方根据实时反馈动态调整检视顺序及关注重点,并由RCA Agent协调收敛各组资源展开深入排查工作。当系统已收集到足够的信息量且无法获得更多有效数据时,则切换至根因分析阶段以确定问题根源并采取下一步优化措施。”

通过模拟真实的大规模云平台环境中的跨组件协同定位机制研究,SRE-Copilot系统采用了多个智能体(Agent)分别替代不同的组件运维团队,并根据实际需求动态规划排查策略,特别关注多维度数据指标的表现特征,而非仅凭单一组件或单个数据点的状态判断异常性

2、基于 RAG 检索增强的框架进行根因推理

增强型检索生成系统(RAG)是一种利用非公开数据资源辅助实现文本生成的技术方案。该系统通过整合用于搜索大型数据集或知识库的检索模型与基于检索信息生成自然语言文本的生成模型,在构建过程中不仅引入外部新信息、行业特定资料以及企业内部文档等补充现有知识库,并以填充LLM原有的知识储备为基础,在提升其输出质量的同时显著提高了回答准确性和可靠性,并有效降低因过度依赖外部信息而产生的假象风险

根因定位过程主要包含以下过程:

  • 知识库构建: 需要提前定义一些专家诊断经验和历史故障库,并将信息转化为高维度空间中的向量,存储在向量数据库中。专家经验可以由运维工程师或者业务专家来定义,比如:流量突增,内存打满,服务不可用,对应的可能是大量访问带来的问题,此时应该扩容或重启等。

  • 增强型RAG检索机制: 通过异常检测算法生成的功能摘要作为输入数据源,在历史故障案例、专家经验和知识库文档等信息中实施精确匹配操作,并提取出关键信息后与原始提示信息结合使用。最终整合后用于LLM进行原因排查。
    其中LLM的知识库参数固定不变,在传统模式下无法实现最新信息更新的需求。而引入RAG机制后无需额外训练即可更新知识库内容,并显著提升了模型识别准确率和处理速度。

  • 推理与反思: 基于本次比赛中采用的小规模模型(支持本地化部署环境),存在一定的推理稳定性不足。因此特意引入了‘反射’机制,使系统能够通过自我评估来确认问题的根本原因,并在此基础上优化其诊断能力。通过这一改进措施,在后续测试中发现的问题定位精度得到了显著提升。

学习新策略: 每次诊断结果不仅产出相应的诊断报告,并存储相关的模型记忆数据,在后续的诊断中通过推理过程结合最相近的专家经验与当前的诊断结果来实现模型持续的学习与改进能力。

采用基于RAG的方法,在缺乏专家经验和历史故障记录的情况下,小型AI模型仍能实现对一些基础问题的根源分析。例如,在磁盘写满故障、java虚拟机GC问题等方面表现出良好的性能表现。通过引入自我评估机制和自我反省功能,在准确率方面可望实现约30%以上的提升效果。该系统具备持续优化与自适应学习的能力,并随着学习能力和推理水平的不断提升而展现出更强的智能化诊断效能。相应地推动SRE-Copilot系统的故障诊断效能进一步增强。

3、沿着稳定性全生命周期管理,提供多种运维能力

3992de2781e3053391111f99918d5d7d.png

基于大型语言模型具备调用工具的能力, 能够将分散的各类运维场景进行统一整合, 识别并解析用户意图, 规划并调用相应的工具组合, 实现从稳定性的全生命周期管理到智能化运维的支持. 用户可通过自然语言提问的方式采用SRE-Copilot框架提供的以下具体运维功能:

  • 运维计划: 分析用户的运维需求并进行需求解析的基础上, 构建以自然语言为指令的工作流程; 根据系统提供的可用组件选择合适的模块, 并根据具体业务逻辑进行功能配置; 最后实现对工作流程的有效动态构建并完成相关功能测试.

  • 运维可视化: 被自然语言交互驱动的系统能够自动完成基础的数据查询与分析过程,并为故障数据提供直观展示;

*异常检测:**支持多种数据类型(包括但不限于文本、图像和音频等),具备高度的灵活性与可扩展性;通过多智能体协同编排机制实现对复杂场景的有效处理;系统能够综合整合来自多个平台的数据资源,并大幅降低响应时间(MTTR)。

  • 原因识别: 一种无需人工干预的方法,在处理专家经验和历史故障案例时展现出较高的准确性,并能推断出潜在的问题类型。

故障分类: 基于积累的专业经验以及历史故障实例所属类别,并结合本次故障的具体表现进行分析判断,在实现故障分类工作的同时,能够提升复盘效率并促进改进措施的有效实施。

  • 故障自愈: 在分析出故障原因及分类后, 可提供相应的自愈方案, 整个流程实现了自动化运行, 从而避免了运维人员分心去切换上下文, 从而保证了响应处理的及时性和准确性.

*代码生成:根据用户的需求生成代码,并将繁琐的代码调试开发时间从几小时缩短为几分钟;

生成故障诊断报告的能力:通过LLM自动生成。该系统能够以自然语言的方式呈现五个关键问题:When-Where-Who-What-Why,并显著提高其处理效率和准确性。从而帮助团队积累经验并构建知识库。

  • 知识库问答: 该平台将依托本地现有知识体系构建并优化一个基于人工智能的本地化智能问答系统,在提升用户问题响应精准度的同时降低对外部支持系统的依赖。

综上所述,在众多现有技术中,SRE-Copilot框架通过引入先进的大语言模型技术至AIOps领域,并有效缓解了传统AIOps方法存在的局限性问题;其主要体现在以下几个方面:

随着各公司系统的日益复杂化发展,在线运维团队往往难以全面掌握各个系统的架构和技术细节。然而大型语言模型(LLMs)经过长期训练后能够广泛积累知识储备,并具备多样化的专业知识储备后可以通过构建多组专家型智能体(Agents)实现灵活应对复杂的系统调度需求。能够实时监控并准确识别来自不同系统和数据源的各种异常事件,并将各类异构化的异常信息转化为LLM能够解析处理的半结构化或结构化表示形式。最后通过LLM进行分析诊断从而显著提升了故障处理效率

其次,在传统的AIOps算法中通常聚焦于单一场景应用、单一人工智能技术以及单一问题解决能力。其中异常检测与根因诊断等任务大多依赖于数据标注的技术。相比之下,基于检索增强机制的LLM无需或很少依赖人工标注的数据进行训练。这种模式的有效性体现在显著降低了传统AIOps领域中的人工标注成本高昂、周期漫长且精确度受限的问题,并大幅减少了训练所需的数据量。

在维护接入过程中

接着,在其他领域中已经呈现出涌现和发展,并具备了推理能力。通过学习通用知识,LLM能够推断未知故障,并经过人工验证并将其加入到知识库或作为记忆来实现模型的演进。这似乎是最有效的解决途径之一。

最后,在LLM中采用自然语言的形式进行交互是主要特点之一。它不需要严格的参数传递机制,并显著降低了使用成本。此外,在其训练数据中包含了精准调整和语义理解的语料资源后,业务系统架构师(SRE)团队能够共同参与构建。

团队介绍:

基础架构-SRE主要负责字节跳动基础架构部门所有组件的SRE工作。围绕成本、稳定性、效率和服务质量这四个方面展开工作,致力于打造高扩展性和高可用性的生产系统。基础架构-SRE-数据化团队专注于推动SRE领域的数据化运营与智能化探索。其中涉及的数据化产品包括离线存储仓库与数据门户系统以及资源交付的数据化运营管理系统;智能化方向涵盖异常检测技术的应用以及智能变更管理系统的开发等技术手段。协同和赋能SRE从DataOps向AIOps及ChatOps战略转型目标不断推进中:https://jobs.bytedance.com/experienced/position/7262287728477751589/detail

全部评论 (0)

还没有任何评论哟~