共计 5809 个字符,预计需要花费 15 分钟才能阅读完成。
随着数字化和智能化技术的涌现与倒退,数字生产力正逐步成为推动经济倒退和社会提高的重要引擎。人工智能场景落地成果的重大突破,尤其是以 ChatGPT 为代表的大语言模型的呈现,彰显了 AI 技术可能在更多畛域场景中遍及,并将引发令人瞩目的行业改革。在运维行业中,大语言模型亦有广大的利用空间,但如何将大语言模型和运维场景无效联合,以实现为运维工作发明价值依然是一个行业广泛摸索的问题。
本文内容来自清华大学计算机系长聘副教授裴丹在 CCF 国内 AIOps 挑战赛宣讲会暨 AIOps 研讨会,及其他运维畛域前沿研究会议上,对于《运维大模型瞻望》的演讲。2023 CCF 国内 AIOps 挑战赛炽热报名中(AIOps 挑战赛炽热报名中,26 万奖金池等你来瓜分!)
运维行业有其独特的特点。以某银行 IT 零碎架构为例,如果将数据中心中的每个组件视为一个节点,并将它们连接成一个常识图谱,大概有 400 多万个节点和几千万条边,每个节点都有本人的监控数据,而且这些数据是多模态的。例如,最常见的可观测性数据是指标、日志、调用关系等数据,这些数据间的关系非常复杂,而且须要深厚的畛域常识能力了解。作为运维人员,咱们须要理解 IT 架构、数据中心运作形式以及软件工程的架构,能力做好运维工作。因而,畛域常识对咱们来说十分重要。同时,运维的场景也十分丰盛,波及到故障、品质、平安、效率和性能等多个方面。总之,运维畛域是一个非常复杂的宏大场景,这是运维行业的特点。
对于运维大模型,咱们先举个例子(上图)
运维大模型与咱们过来应用的自动化运维、智能运维以及其余运维工具之间存在很强的互补关系。大模型呈现之前,咱们须要手动操作,并将新工具交付相应的用户,通知他们如何应用。当初通过大模型,咱们能够以对话模式操作。
如当告警产生,咱们想查看它的根因并诊断时,咱们能够如此操作:1、间接与大模型对话,提供一个告警 ID,大模型调用出后盾的根因诊断工具;2、诊断工具调用实现后给出一个后果,给出根因并提供一个链接,以解释这个后果是如何得出的。
实际上,该诊断工具的原理就是基于一个诊断图,依据该图推断出最有可能的几个起因。这个工具也有本人的展现界面。从这例子能够看出,通过最根本的人机对话性能,能够加强与现有任何一种工具(这个例子中是根因诊断工具)的输入输出交互。
以上这些是齐全能够实现的,而大模型的利用不止于此。
- 在“运维大模型畛域”,很可能会面临以下问题:
- 运维大模型的概念是什么?
- 与大语言模型的关系是什么?
- 是不是“通用大语言模型 + 提醒 / 外挂文档”就足够了?
- 与 AIOps、自动化运维工具的关系是什么,如何交融对接?
- 面对百花齐放、突飞猛进的开源大语言模型,如何选取大语言模型底座、模型规模、微调办法?
- 短期内有哪些能够疾速落地的利用?
- 中长期内有哪些利用?
- 运维大模型的能力边界是什么?
同时,大模型在运维畛域利用也将面临以下技术挑战:
- 如何满足公有部署老本、可演进要求?如何解决训练公有语料有余的问题?
- 作为庄重利用,如何做到杜绝幻觉、可解释、安全性高?
- 如何解决通用大模型无奈处理的私域、实时数据?
- 如何解决通用大语言模型无奈间接解决的运维多模态数据?
- 如何融入运维畛域的现有强畛域常识,特地是针对多模态数据,多个细分畛域的不同专家常识?
这些都是大家可能感兴趣的问题,我其实也并没有最终答案,但我的确有一些本人的认识。答复上述这些问题的时候,我援用一下 21 年在咱们举办的 AIOps 挑战赛上做的一次分享,AIOps 落地五大准则,15 条细分准则,这对于大模型也同样实用。如:
知己知彼:晓得运维有什么特点、大模型停顿到什么水平。
举一反三:我常常会拿一些医学方面的例子来做举例。以后医学畛域的大语言模型也突飞猛进,最近某公司做了一个线下试验,请了一些领域专家评判由 AI 对实在病人问诊,并与高级医生进行的实在问诊进行比照,二者成果的一致性约是 96%。医学大模型的架构是怎么的?如何解决“幻觉问题”?诊断的过程有哪些值得咱们借鉴?在另外一篇文章中提到了上海的人工智能钻研核心和医学钻研核心的例子,它们的架构指标是建设一个中文的医学大语言模型,以便了解医学术语和关键词。他们针对医学的多模态数据(如影像数据和其余数据)别离建设了独自的根底模型。同时如核磁共振和 CT 扫描尽管都是图像数据,但具备不同特点,须要别离建设影像模型。相似地,每个器官都有本人的根底模型(例如大脑和肺部)。这种类比推广的办法在咱们所钻研的运维畛域中也同样实用。
具体详见文章:清华裴丹: AIOps 落地的 15 条准则
我前面的分享蕴含三个章节:
第一章节,运维大语言模型及利用,须要整个社区一起训练一个运维的大语言模型,前面具体开展阐明起因。
第二章节,运维大模型的整体架构。
第三章节,运维大模型的中长期有哪些利用?
第一章节:运维大语言模型及利用
在运维这一庄重畛域,咱们须要训练一个“懂运维”的大型语言模型,而不仅仅是一个通用的大语言模型。它可能真正了解输出的文档和上下文,而不仅仅是大抵答复问题。打个比方,开源的大语言模型能够看作是训练出的相当不错的本科生,他们博闻强记,具备很多常识。但如果这个本科生间接从学校来到运维工作岗位,面对具体运维工作,他可能无奈了解其中的内容,甚至不理解相干术语,将莫衷一是。因而,咱们须要应用大量与运维相干的语料对模型进行训练、微调和提醒工程,以使其能更好地了解运维上下文。只有这样,它能力真正利用于庄重的运维场景。后面提到的中文的医疗大语言模型也是相似的逻辑。
业内专家在“预训练”这个问题上存在一些争议,认为进行预训练十分低廉,并质疑是否有必要。
咱们认为这是必要的,否则运维专家是无奈通过一般训练取得。此外,在公有部署阶段,比方在传统行业(如银行和电网),能够基于预训练模型进行提醒工程和常识扩大。就像具备多年教训的大厂运维专家,如果他们去一个中型互联网公司,只须要提供一些特定畛域的背景常识(像外挂一样),他们之前的运维教训就足以应答那里的个性化状况。但如果冀望一个本科生间接适应这样的中型互联网公司,无论给他多少语料,他本人是无奈自学进去的,这个成长的过程是须要工夫缓缓积攒来的。因而,大规模的训练应该在公共畛域中进行,造就出数字化的“运维专家”,而不是扩散在各个特定畛域中进行。
这是我集体的一个外围观点,只是基于集体直觉的判断,尚未失去验证。我的这一观点是基于庄重运维利用的如下硬性需要:咱们在利用中须要防止幻觉,重视强的可解释性,并升高部署开销,同时不受私域数据品质问题的限度。那么,以此为出发点的运维大语言模型的状态是怎么的?
首先,要基于一个开源的大模型底座(无论是国内的百川、GLM,还是国外的 LLaMA)。其次,我认为目前曾经呈现的技术中,常识图谱对于杜绝幻觉问题和加强可解释性是有帮忙的。同时,常识图谱的构建是一个简单的过程,不能指望专家对运维的各个子畛域都十分相熟。因而,咱们须要应用混合专家模型和多模态的运维常识图谱来构建一个新的大型语言模型,即运维大语言模型(OpsLLM)。当具体利用到某个场景时,能够以外挂的模式,相似于大家应用过的文档外挂(如:DOCGPT),就像一个经验丰富的运维专家一样,到了一个新的单位,简略理解一下状况,基本上就能解决各种运维问题了。
举个例子,假如咱们曾经总结了一个诊断图(如上图所示),用于剖析交易响应工夫长的问题。这个应用程序调用了另一个交易,并依赖于一个中间件 WebLogic,而 WebLogic 又与 Oracle 数据库进行交互。在这个过程中,可能会呈现存储异样导致告警产生。无论这些信息以何种模式存储,只有大语言模型可能了解其中的术语,无效地辨认和了解运维人员的用意,并可能以运维畛域的术语与用户进行对话,它就可能无效地进行交换。
具体而言,在这个例子中如果呈现交易响应工夫长的问题,可能会问到:当初呈现这个问题的可能起因是什么?这与之前提到的诊断图中的问题相似,咱们须要确定是否是 web 呈现了问题,而后逐渐解决问题,最终给出处理倡议。大语言模型的确有一个“思维更全面”的长处,就像我之前提到的医学试验一样(在试验中发现 MedGPT 在利用中可能会略微啰嗦一些,会东问一下西问一下,然而它的思考更加全面。相比个别的医生,在一些绝对不常见的状况下,更能施展肯定的作用)。然而须要留神的是,这个过程必须是庄重利用,杜绝幻觉,大语言模型不能自行创造一些答案。这个大语言模型在具备了运维畛域的常识的前提下,又外挂了一个诊断常识资源,因而可能无效地对这些常识进行问答。
如果进行公有部署,能够参照上述模型演示。尽管很多常识是公开的,但如果这是一个公有文档(如:MySQL 文档),加载进去后能够针对 MySQL 的常识进行查问,比方查问 SQL 类故障等。这种个性化的部署设计容许咱们独特训练模型,以更好地了解特定的个性化文档,从而在享受运维专家常识的同时解决个性化的常识图谱和运维文档的问题。此外,还能够通过提醒工程来进一步优化模型的性能。
从晋升模型的可解释性、问答的可解释性和杜绝幻觉的角度来看,联合常识图谱和大语言模型可能是一个不错的方向。最近有一篇综述论文提到了如何将常识图谱和大语言模型联合起来以达到更好的成果。该文章总结了 300-500 篇论文,并绘制了一个脑图,每个节点代表 10-20 篇论文,概括了大抵的钻研方向。
总结起来,常识图谱是一种结构化的显性常识,具备准确性、决断性和强可解释性,但不残缺且无奈解决自然语言。大语言模型则具备通用的隐性常识解决能力,但可能产生幻觉并且是黑盒的。
联合常识图谱和大语言模型的长处能够通过以下三个次要方向实现:
- 利用常识图谱加强大语言模型:将结构化的显性常识图谱与大语言模型联合,以提供更精确、可解释的后果。常识图谱能够用作先验常识,领导大语言模型生成更精确的答案或推理后果。
- 利用大语言模型裁减常识图谱:大语言模型能够解决自然语言并从大规模文本中学习隐性常识。通过应用大语言模型,能够主动从文本中抽取新的常识并将其增加到常识图谱中,从而减少常识图谱的完整性和涵盖范畴。
- 交融常识图谱和大语言模型进行联结建模:将常识图谱和大语言模型进行交融,以建设一个综合的模型。这种联结建模能够在常识图谱的根底上利用大语言模型的语言了解和生成能力,同时通过常识图谱提供的结构化常识进行领导和解释,以进步模型的性能和可解释性。
通过这些方向的联合,能够充分发挥常识图谱和大语言模型的劣势,实现更好的成果和利用。
KG(常识图谱)加强 LLM(大语言模型)- 预训练阶段。首先,大语言模型训练时,能够把常识图谱里边的内容转换成文字。其次,把常识图谱的内容变成新的语料(当然是把握性比拟强的语料),把它放进训练的外面。第三,还能够引入一些额定的独自设计的模块,作为该神经网络的架构模型都是能够的。
KG(常识图谱)加强 LLM(大语言模型)- 推理阶段,同样能够利用常识图谱进行推理。在推理过程中,能够依据以后问题利用常识图谱进行相干的工作,以得出结论。此外,还能够应用基于检索的办法。当问题呈现时,能够在常识图谱中查找相应的答案辅助得出更精确、更牢靠的答案,并防止产生幻觉。在推理阶段,联合常识图谱的这些办法能够进步推理的准确性和可靠性。
KG(常识图谱)加强 LLM(大语言模型)- 模仿可解释性。从可解释性的角度来看,能够先由大语言模型给出一个后果,而后再用常识图谱来验证该后果的可靠性。这种办法比拟直观,通过将后果与常识图谱进行比照,咱们能够确定该后果是否牢靠。此外,从可解释性的角度来看,咱们能够将大语言模型得出的后果与常识图谱进行比对,看是否存在一条门路能够走通。这相似于过来应用深度学习失去后果后,与决策树比拟一下,从而总结出规定的做法。咱们能够通过这种办法来评估模型的成果,并得出大抵的规定。
LLM(大语言模型)加强 KG(常识图谱)-KG 补全。咱们还能够反过来利用大语言模型进行常识图谱的补全和裁减。因为它能够解决大量的语料数据,而传统常识图谱中的很多信息也是从语料中提取进去的,通过大语言模型,咱们能够更好地进行常识图谱的补全和裁减,进一步欠缺常识图谱的常识工程构建工作。大语言模型能够通过对常识图谱进行相应的补充和扩大,使其更加残缺和精确。这样的利用能够晋升常识图谱的品质和可用性。
LLM(大语言模型)加强 KG(常识图谱)-KG 转文本。咱们能够通过将常识图谱中的信息转换为自然语言文本,使其可读性更强,便于浏览和了解。这样的转换能够晋升常识图谱的可用性,更加易于利用和流传。
LLM(大语言模型)加强 KG(常识图谱)-KG 常识问答。如:用完形填空的形式写一个问题,把对应的大语言的模型调用一下,把文字处理一下,最初构建出常识图谱。
LLM(大语言模型)加强 KG(常识图谱)-KG 结构。假如咱们有一段文字,咱们能够利用大语言模型来剖析其主谓宾构造。之后将这些提取出的主谓宾信息转化为常识图谱中的点和边。通过将这些信息补充到常识图谱中,咱们能够丰盛图谱的内容,并更好地组织和展现常识。
举一个运维畛域的例子,如咱们须要认真记录故障工单以进行复盘。在故障工单中,咱们须要指出故障产生时的症状、采取了哪些解决措施、诊断进去的故障是什么、整改计划是什么等一系列信息。通常,这些信息以文字模式记录,很难转化为故障的流传关系。如果交给大语言模型,它能够剖析并辨认出因果关系,并将其补充到咱们的常识图谱中。须要强调的是,这是人机协同的过程。大语言模型能够提取出许多信息和想法,但不肯定齐全精确。最终,咱们还是须要依附运维专家来进行审核和确认,只有在专家认为牢靠的状况下,才将其纳入常识图谱。这就是大语言模型在构建运维常识图谱方面所能施展的作用。
在运维畛域,不同专家可能具备不同畛域的常识,例如网络、数据库、存储等。在理论利用中,经常会采纳混合专家模型将各个领域的常识图谱进行组合。如没有确定的技术,可通过一种示意图来示意。如:当业务呈现问题时,能够依照肯定的程序查看网络、中间件、数据库、存储等,每个畛域对应一个子图,最终将这些子图拼接在一起造成一个整体的图谱。这样的混合模型能够帮忙咱们了解运维畛域的常识,并充分利用通用人工智能(如大语言模型)在运维畛域的能力。因为只有了解运维畛域的常识,并可能无效地利用这些能力,咱们才可能在运维工作中获得良好的成果。
敬请期待:清华裴丹 | 运维大模型瞻望 - 下篇