CN117931488A - 对故障诊断的方法、设备和计算机程序产品 - Google Patents

对故障诊断的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN117931488A
CN117931488A CN202211268277.3A CN202211268277A CN117931488A CN 117931488 A CN117931488 A CN 117931488A CN 202211268277 A CN202211268277 A CN 202211268277A CN 117931488 A CN117931488 A CN 117931488A
Authority
CN
China
Prior art keywords
storage system
fault
failure
model
cause
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211268277.3A
Other languages
English (en)
Inventor
倪嘉呈
刘金鹏
王子嘉
贾真
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dell Products LP filed Critical Dell Products LP
Priority to CN202211268277.3A priority Critical patent/CN117931488A/zh
Priority to US17/990,885 priority patent/US11971777B1/en
Publication of CN117931488A publication Critical patent/CN117931488A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开的实施例涉及一种故障诊断的方法、设备和计算机程序产品。方法包括通过部署在存储系统中的第一诊断模型,确定故障的起因是否属于环境因素。方法还包括根据确定所述故障的起因属于所述环境因素,确定所述故障能否在所述存储系统本地被解决。方法还包括根据确定所述故障不能在所述存储系统本地被解决,将所述故障发送给第二诊断模型,其中第一诊断模型是对第二诊断模型进行蒸馏后得到的。根据本公开的故障诊断方法,一部分故障能够在存储系统本地被诊断并解决,从而能够减少存储系统的客户支持团队在云端的工作量,并且能够提高对客户的响应能力。

Description

对故障诊断的方法、设备和计算机程序产品
技术领域
本公开的实施例总体上涉及数据存储技术领域,并且更具体地涉及故障诊断的方法、设备以及计算机程序产品。
背景技术
随着信息技术以及网络的不断发展,存储系统得到更加广泛的应用。在使用存储系统的过程中可能会因为各种原因发生各种故障。这些各种故障的处理可能会耗费存储系统厂商的客户支持团队的大量时间和精力。
在这些各种故障中,其中一部分是由环境因素(例如:网络断开、磁盘损坏、电源故障等)引起的且这样的故障很容易在存储系统本地予以解决。
发明内容
本公开的实施例提供了一种故障诊断的方法、设备和计算机程序产品。
在本公开的一个方面,提供了一种故障诊断的方法。该方法包括:通过部署在存储系统中的第一诊断模型,确定故障的起因是否属于环境因素;根据确定故障的起因属于环境因素,确定故障能否在存储系统本地被解决;以及根据确定故障不能在存储系统本地被解决,将故障发送给第二诊断模型,其中第一诊断模型是对第二诊断模型进行蒸馏得到的。
在本公开的另一方面,提供了一种电子设备。该设备包括处理单元以及存储器,其中存储器被耦合至处理单元并且存储有指令。指令在由处理单元执行时执行以下动作:通过部署在存储系统中的第一诊断模型,确定故障的起因是否属于环境因素;根据确定故障的起因属于环境因素,确定故障能否在存储系统本地被解决;以及根据确定故障不能在存储系统本地被解决,将故障发送给第二诊断模型,其中第一诊断模型是对第二诊断模型进行蒸馏得到的。
在本公开的又一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时使得计算机执行根据本公开的实施例的方法或过程。
提供发明内容部分是为了以简化的形式来介绍相关概念,这些概念在下文的具体实施方式中将被进一步描述。本发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的各个实施例的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的附图标记通常代表相同的元素。
图1示出了根据本公开的实施例的存储系统的示例环境的示意图;
图2示出了根据本公开的实施例的故障诊断的方法的流程图;
图3A示出了根据本公开的实施例的故障诊断的示例方法的示意图;
图3B示出了根据本公开的实施例的故障诊断的示例方法的示意图;
图4示出了根据本公开的实施例的故障诊断使用的语义表示模型的架构的示意图;
图5示出了根据本公开的实施例的故障诊断使用的屏蔽语言模型(MaskedLanguage Model,MLM)的示意图;以及
图6示出了可以用来实施本公开的实施例的设备的示意性块图。
具体实施例
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的一些具体实施例,然而应该理解,本公开可以以各种形式实现,而不限制于这里阐述的实施例。相反,提供这些实施例是为了使本公开更加清楚和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象,除非明确表明其指代不同的对象。
存储系统在使用过程中可能会因为各种原因发生各种故障。这些各种故障是由软件缺陷、硬件、网络问题或客户操作错误导致的。这些各种故障会作为客户服务请求(service request,SR)被报告给客户支持团队进行处理,可能会耗费客户支持团队大量的时间和精力来诊断出故障原因并针对性地进行故障排除作业。
在这些各种故障中,其中一部分是由环境因素(例如:网络断开、磁盘损坏、电源故障等)引起的,并且这些问题的解决方案也很直接且易于操作(例如,首先检查环境,然后重新启动系统)。因此,如何利用人工智能技术使存储系统自身具备预诊断能力,以快速筛查出由环境因素引起的故障,从而可以直接在存储系统本地快速解决由环境因素引起的故障,快速响应客户的问题并减少客户支持团队的工作量,从而让客户支持团队得以专注于与存储系统本身相关的故障,这些成为亟待解决的技术问题。
为此,本公开的实施例提出了一种2层架构的诊断系统,该2层架构的诊断系统包括一个由客户IT工程师在存储系统本地执行的本地预诊断系统以及一个由存储系统厂商的客户支持团队在云端执行的在云端部署的诊断系统,其中在存储系统中部署的本地预诊断系统是对在云端部署的诊断系统进行蒸馏得到的。以这种方式,能够在存储系统本地快速解决由环境因素引起的故障,减少存储系统厂商的客户支持团队的工作量,提高对客户的响应能力。
应当理解,虽然本公开的一些实施例中使用基于语义表示模型的诊断模型作为布置在云端的诊断模型的示例同时作为蒸馏对象的示例,然而,可以用任何已知的或者将来开发的诊断模型来代替该基于语义表示模型的诊断模型或者与其结合使用。在本公开的一些实施例中,基于BERT的诊断模型(BERT-based Triage Model,BTM)是基于语义表示模型的诊断模型的一个示例,其中,BERT(基于Transformer的双向编码器表示,BidirectionalEncoder Representations from Transformer)是语义表示模型的一个示例,也可以采用现有的或者将来开发的其他语义表示模型来实现相同或类似的功能,本公开所述的语义表示模型不限于BERT。
以下参考图1至图6来说明本公开的基本原理和若干示例实现方式。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制本公开的范围。
图1示出了根据本公开的实施例的存储系统的示例环境100的示意图。如图1所示,在示例环境100中,在云端120上部署了原始诊断模型125。在存储系统110中部署了蒸馏诊断模型115。
在一些实施例中,蒸馏诊断模型115是对原始诊断模型125进行蒸馏得到的。当存储系统110在使用过程中发生故障时,首先由蒸馏诊断模型115确定该故障是否能够在存储系统110本地予以解决。例如,由蒸馏诊断模型115确定该故障的起因是否属于环境因素(例如:网络断开、磁盘损坏、电源故障等),即,确定该故障是否是由环境因素引起的。如果该故障的起因属于环境因素,即,如果该故障能够在存储系统110本地予以解决,则尝试在存储系统110本地消除该故障。如果能够在存储系统110本地消除该故障,则不将该故障提交给部署在云端120上的原始诊断模型125由存储系统110的厂商的客户支持团队来处理,这样可以提高消除故障的效率,减轻存储系统110的厂商的客户支持团队的工作量。
如果蒸馏诊断模型115确定为该故障的起因不属于环境因素、或者虽然该故障的起因属于环境因素但是无法在存储系统110本地消除该故障,则将该故障提交给部署在云端120上的原始诊断模型125由存储系统110的厂商的客户支持团队来处理。
以这种方式,与传统的将存储系统100的所有故障都全部提交给部署在云端120上的原始诊断模型125由存储系统110的厂商的客户支持团队来处理的情况相比,环境因素导致的故障能够由部署在存储系统110本地的蒸馏诊断模型115进行预诊断并在本地直接解决、而不会提交给部署在云端120上的原始诊断模型125由存储系统110的厂商的客户支持团队来处理,因此能够提高消除故障的效率,减轻存储系统110的厂商的客户支持团队的工作量。
图2示出了根据本公开的实施例的故障诊断的示例方法200的流程图。参照图1对示例方法200进行说明。
如图2所示,在示例方法200中,在210中,通过部署在存储系统中的第一诊断模型,确定故障的起因是否属于环境因素。
例如,参照图1,可以通过部署在存储系统110中的蒸馏诊断模型(相当于第一诊断模型)115,确定故障的起因是否属于环境因素。环境因素例如是网络断开、磁盘损坏、电源故障等可能导致存储系统110发生故障且能够在存储系统110本地予以修复的因素。
在220中,根据确定故障的起因属于环境因素,确定故障能否在存储系统本地被解决。例如,参照图1,如果在210中确定为该故障的起因属于环境因素(例如网络断开),则可以进一步确定该故障能否在存储系统110本地被解决(例如,是否可以在存储系统110本地连接到网络从而消除该故障)。如果在220中确定为该故障的起因不属于环境因素,则将该故障提交给部署在云端120的原始诊断模型125(第二诊断模型)进行诊断。
在230中,根据确定故障不能在存储系统本地被解决,将故障发送给第二诊断模型,其中第一诊断模型是对第二诊断模型进行蒸馏后得到的。
例如,参照图1,如果在220中确定为该故障的起因属于环境因素,然而经在存储系统110本地尝试解决该故障却未能成功,因此在230中将该故障发送给部署在云端120的原始诊断模型125(相当于第二诊断模型)进行后续诊断。
在一些实施例中,第二诊断模型通过利用屏蔽语言模型MIM对服务请求进行预训练以及对用知识库标记的服务请求进行微调而被生成,并且被部署在云上。关于这一点稍后将参照图3A、图3B进一步详细叙述。
在一些实施例中,第二诊断模型基于语义表示模型,其中语义表示模型基于Transformer。例如图1所示,原始诊断模型125基于语义表示模型,且该语义表示模型基于Transformer。例如,该语义表示模型可以是BERT(基于Transformer的双向编码器表示,Bidirectional Encoder Representations from Transformer)。
在一些实施例中,确定故障的起因是否属于环境因素可以包括:在从第一诊断模型到第二诊断模型的蒸馏期间,生成导致故障的环境因素的白名单。确定故障的起因是否属于环境因素还可以包括:从该白名单中查找该故障的起因。例如,如图1所示,在对原始诊断模型125进行蒸馏得到蒸馏诊断模型115的期间,可以生成导致故障的环境因素的白名单,然后从该白名单中查找该故障的起因。
在一些实施例中,如果在230中确定为该故障能够在存储系统110本地被解决,则在存储系统110本地解决该故障,并重置存储系统110。
图3A示出了根据本公开的实施例的故障诊断的示例方法100的示意图。参照图1、图2对图3A进行说明。如图3A的示例方法300所示,使用BERT对来自存储系统用户(即,客户)的服务请求(SR)进行处理(关于BERT的架构,稍后将参考图4详细描述)。首先,在303,对输入屏蔽语言模型中的SR训练数据集SRTRAIN 301进行预训练(关于屏蔽语言模型MLM,稍后将参考图5详细描述),得到基于SR的BERT模型BERTSR 305。在309,使用该基于SR的BERT模型BERTSR 305,对SR评估数据集SREVAL 307进行评估,得到困惑度(perplexity)311。以此方式,学习针对SR表示的语言模型。
然后,在315,使用该基于SR的BERT模型BERTSR 305,对标记了知识库(KnowledgeBase,KB)的SR训练训练集、即LSR(SR labeled with KB)训练数据集LSRTRAIN 313进行多类分类微调,从而得到原始BTM 310。在319,基于该原始BTM 310,对LSR评估数据集LSREVAL317进行评估,得到多类准确度321。以此方式,学习针对知识库推荐的分类器。该原始BTM310可以作为诊断系统的知识库预测模型,相当于图1中的原始诊断模型125和/或图2中的第二诊断模型。
图3B示出了根据本公开的实施例的故障诊断的示例方法350的示意图。参照图1、图2以及图3A对图3B进行说明。如图3B的示例方法350所示,将通过图3A所示示例方法300得到的原始BTM 310配置(360)到云端364。云端364相当于图1所示云端120,可以包括任何公有云(public cloud)、私有云(private cloud)或者混合云(hybrid cloud)、社区云(community cloud)、分布式云(distributed cloud)、跨云(inter-cloud)、多云等、或者它们的任何组合。
并且,对通过图3A所示示例方法300得到的原始BTM 310利用知识蒸馏(KnowledgeDistillation)技术进行蒸馏(362),得到蒸馏后的模型、即蒸馏后BTM 365(例如图2中的蒸馏诊断模型115和/或图2中的第一诊断模型)。
在本公开的实施例中,知识蒸馏技术通常采用老师-学生架构(Teacher-StudentArchitecture),是将知识从大模型(也称为“教师模型”)迁移到小模型(也称为“学生模型”)的过程。虽然大模型(例如非常深的神经网络或许多模型的集成)比小模型具有更高的知识容量,但这种容量可能没有得到充分利用。知识蒸馏将知识从一个大模型迁移到一个小模型,而不会失去知识的有效性。由于小模型评估成本较低,因此可以部署在功能较低的硬件(如移动设备)上。知识蒸馏已成功地应用于机器学习的若干应用,如目标检测、声学模型和自然语言处理,还被引入到适用于非网格数据的图形神经网络中。关于在蒸馏(362)中使用的知识蒸馏技术,可以利用任何现有的以及将来可能出现的能够实现对原始BTM 310进行蒸馏的任何知识蒸馏技术。
例如,蒸馏后BTM 365与原始BTM 310相比,大小可以减少70%,同时保留95%的语言理解能力(当N<=3时,其中N表示在softmax分布中的前N个值的数目),而处理速度则可以提高80%。这意味着,通过利用知识蒸馏技术将原始BTM 310压缩为紧凑模型、即蒸馏后BTM 365,蒸馏后BTM 365能够保留原始BTM 310的几乎绝大部分语言处理能力,同时能够显著减少大小并且提高处理速度。
然后,将蒸馏后BTM 365配置(366)到存储系统368中。当存储系统368在使用过程中发生故障时,客户IT支持人员372可以先在存储系统本地利用在存储系统368中配置的蒸馏后BTM 365对故障原因进行预诊断(370)。或者,也可以是,客户运行在存储系统368本地安装的DAEMON程序监测存储系统368的运行日志,如果发现有任何异常状况即无需客户IT支持人员372介入而自动启动蒸馏后BTM 365对故障原因进行预诊断。或者,还可以是,存储系统368附带DAEMON程序用于监测存储系统368的运行情况,若存储系统368启动则该附带DAEMON程序也同时启动以监测存储系统368的运行日志,如果发现有任何异常状况即无需客户IT支持人员372介入而自动启动蒸馏后BTM 365对故障原因进行预诊断。其中,DAEMON程序是对存储系统368的运行情况进行检测的软件程序。
在390,利用蒸馏后BTM 365确定故障的起因是否属于环境因素。如果蒸馏后BTM365确定故障的起因属于环境因素(例如:网络断开、磁盘损坏、电源故障等),则客户IT支持人员372可以直接在存储器本地进行操作(例如:连上网络、更换磁盘、接上备用电源等)而将故障修复。例如,如果故障原因是网络断开,则由于网络断开属于环境因素,因此在390,确定为故障的起因属于环境因素(是)。在该情况下,客户IT支持人员372可以直接在本地排除故障(即,将存储系统368连接到网络上),并在392,进一步确定故障是否已解决。或者,也可以是,如果由DAEMON程序来监测存储系统368的运行情况,则DAEMON程序可以在发现异常状况(即,故障)后向客户IT支持人员372(或者系统管理员)提示报警信息或者发电子邮件进行提醒。报警信息可以是在存储系统368的可视桌面上弹窗显示故障大致现象、起因以及解决方法,也可以通过指示灯的亮、灭、或者闪烁来提醒客户IT支持人员372存储系统368发生了故障,或者也可以通过语音警报来提醒客户IT支持人员372存储系统368发生了故障,并提示如何解决。如果DAEMON程序自动向客户IT支持人员372发电子邮件进行提醒,则邮件内容可以包括故障大致现象、起因以及解决方法。关于发电子邮件的时机,可以由客户IT支持人员372设置,例如可以是在发现故障后立即发送电子邮件,也可以是在每天的指定时间,例如每隔4小时向客户IT支持人员372发送确定为故障的起因属于环境因素的所有故障的报告。客户IT支持人员372在看到或者听到报警信息后或者在收到DAEMON程序自动发送的报警电子邮件后,可以针对性地予以处理,例如直接在本地排除故障,并进一步确定故障是否已解决,这些处理如前述,在此不再赘述。
如果故障原因是在存储空间溢出,则由于存储空间溢出不属于环境因素,因此,在390,蒸馏后BTM 365确定为故障的起因不属于环境因素(否)。在该情况下,在394,将该故障提交给云端364,以在380,由存储系统368的厂商的客户支持团队382来进一步诊断故障原因。提交该故障的操作可以由客户IT支持人员372手动完成,也可以由DAEMON程序自动完成。例如,DAEMON程序可以在每天或者每周的指定时间(该指定时间也可以是可以由客户IT支持人员372预先配置或者由存储系统368或者DAEMON程序默认配置),例如每隔2小时向云端364提交确定为故障的起因不属于环境因素的所有故障的报告。
继续参考图3B。进一步确定是否故障已解决(392)。例如,继续采用上述例子,如果故障原因是网络断开,客户IT支持人员372可以通过查看网络连接指示器来确定存储系统368是否已连接到网络,或者客户IT支持人员372也可以通过ping等指令来确定是否已连接到网络,或者也可以通过蒸馏后BTM 365中实现的功能来确定存储系统368是否已连接到网络。确定是否已连接到网络的方法不是本公开的重点,在此不赘述。
在392,一旦确定为故障已解决(是),则在396,客户IT支持人员372可以重置存储系统368,从而重置后存储系统368能够正常工作。或者也可以是,蒸馏后BTM 365具备确定是否故障已解决的功能,一旦确定为故障已解决(是),则自动重置存储系统368。
在392,如果确定为故障未解决(否),则在394,客户IT支持人员372可以将故障报告提交)到云端364。故障未解决的情况包括但不限于:蒸馏后BTM 365在370进行预诊断而确定为故障的起因属于环境因素然而通过存储系统368本地的操作未能解决该故障。
在380,存储系统厂商的客户支持团队382通过部署在云端364中的原始BTM 110对提交到云端364的故障报告进行诊断。
在一些实施例中,可以先进行数据准备。例如,获得客户服务系统收集的日志文件。客户提交的服务请求(SR)包括标题(title)和描述(description)。在SR被定位并解决时,将适当的知识库(KB)附加到SR后,例如将知识库的索引附加到SR后,即,在SR中包括到知识库的索引。其中,知识库存储用于修复故障的知识参考。并不是所有SR都存在对应的KB;如果该SR不存在对应的KB,则可以用“NA”来表示知识库索引。由此,可以基于服务请求来确定故障的起因是否属于环境因素。具体地,例如可以基于知识库来确定故障能否在存储系统本地被解决。
在对SR进行处理时,将其标题和描述连接为一个文档作为输入。标题和描述中的所有单词都转换为小写,标点符号也被删除。根据SR的创建时间戳将整个日志数据集分离为训练数据集和评估数据集(参见图3A及其对应描述)。SR训练数据集(SRTRAIN)中的所有标题和描述都被用作训练语言模型的语料库。语言模型在SR评估数据集(SREVAL)上进行困惑度评估。标有KB的SR(LSR)训练数据集(LSRTRAIN)用于对语言模型进行微调。分类器在LSR评估数据集(LSREVAL)上通过前1和前N(Top1和TopN)多类精度进行评估。其中,前1精度是指在多类文本分类问题中从最终softmax输出中提取最大值,对应于文本输入预测类的置信度的值。前N精度用来衡量标记类(labeled class)落在softmax分布前N个值中的频率(概率)。
然后,可以构建屏蔽语言模型(MIM)以学习服务请求(SR)的特征表示。关于MIM,可以参照图5及其说明。通过MLM任务将BERT基础模型(BERTBASE)应用于作为技术语料库的SR训练数据集(SRTRAIN),得到一个新的语言模型、即基于SR的BERT模型(BERTSR),如图3ABERTSR 305中所示。困惑度(perplexity)是对语言模型进行比较的一个广泛使用的度量标准。因此,使用困惑度来评估SR评估数据集(SREVAL)上的BERTBASE和BERTSR。结果如表1所示,可见,与BERTBASE相比,BERTSR可以显著降低困惑度。
表1微调后语言模型的评估
语料库 数据大小 困惑度
Wiki+Book语料库 16GB 58.3553
SRTRAIN 94MB 5.2453
在对模型进行微调的过程中,通过在[CLS]词符(token)的Transformer输出前添加分类层,在LSR训练数据集(LSRTRAIN,例如图3A中LSRTRAIN 313)上对基于SR的BERT模型(BERTSR,例如图3A中BERTSR 305)进行了微调。结果显示,在最大序列长度为512的标记数据集(labeled data set)上微调BERTSR可以达到最佳精度,因此最终将此配置确定为BTM(基于BERT的诊断模型,BERT-based Triage Model),该BTM可以为图1所示的原始诊断模型125、图2所述的第二诊断模型、图3中的原始BTM 310。
通过知识蒸馏将BTM压缩为紧凑模型。方法如前述。将原始BTM部署到云端作为对客户提交的服务请求进行处理的技术支持工程师(如图3B中所示客户支持团队382)的诊断工具,将蒸馏后BTM部署到存储系统产品中作为客户IT支持人员(如图3B中所示客户IT支持人员372)的本地预诊断工具。
如果存储系统产品发生故障,则将故障的标题和描述输入到本地预诊断工具(蒸馏后BTM)中,以获得知识库预测的结果。如果预测结果足够可靠(例如,置信度高于第一阈值,该第一阈值可以预先规定),并且所预测的知识库足够容易和直接,则可以由客户IT工程师在存储系统产品本地直接消除该故障,并重启存储系统产品,从而存储系统产品接下来可以正常工作。
如果蒸馏后BTM的预测结果不够自信(例如,置信度低于第二阈值,该第二阈值可以预先规定),或者所预测的知识库难度比较高或者处理起来不够直接,无法由客户IT支持人员在本地直接执行,或者客户IT支持人员因种种原因未能在获得知识库后成功消除故障,则应通过填写客户服务请求将问题提交给技术支持工程师以进行进一步的诊断。技术支持工程师可以使用BTM提供一些建议。
通过该方式,提供了一种2层架构的诊断系统,该2层架构的诊断系统包括一个由客户IT支持人员在存储系统本地执行的本地预诊断系统以及一个由存储系统厂商的技术支持工程师执行的在云端部署的诊断系统,其中在存储系统中部署的本地预诊断系统是对在云端部署的诊断系统进行蒸馏得到的。其中,本地预诊断系统例如包括图1所示的蒸馏诊断模型115(或者图2所述的第一诊断模型、图3B所示的蒸馏后BTM 365),在云端部署的诊断系统例如包括图1所示的原始诊断模型125(或者图2所述的第二诊断模型、图3A、图3B所示的原始BTM 310)。以这种方式,能够快速筛查出由环境因素引起的故障,从而可以直接在存储系统本地快速解决由环境因素引起的故障,减少存储系统厂商的客户支持团队的工作量,提高对客户的响应能力。
图4示出了根据本公开的实施例的故障诊断使用的BERT架构400的示意图。BERT在包括文本分类在内的各种自然语言处理(Natural Language Processing,NLP)任务中体现出了目前为止的最佳结果。BERT的关键技术创新是将Transformer(一种流行的注意力模型)的双向训练应用于语言建模,并针对特定任务对语言模型进行微调。
BERT模型由几个编码器堆叠而成。在图4所示例子中,BERT模型由12个编码器堆叠而成。堆叠的编码器的数量(在本例中,12)决定了BERT模型的参数数量。Transformer的编码器读取整个单词序列,因此被认为是双向的;即,对于单词序列中的每个单词而言,其前边的单词(“前向”)和后边的单词(“后向”)都是已知的。这个特征允许模型根据单词的所有环境(单词的左右两侧)来学习单词的上下文。在BERT中,输入是一个词符(token)序列,它首先被嵌入向量,然后在堆叠的编码器中进行处理。输出是矢量序列,其中每个矢量对应于具有相同索引的输入词符。每个输入文本以[CLS]开头,句子由[SEP]分隔。从应用的角度来看,在使用BERT建立文本分类器模型时,首先用相关的大规模语料库以半监督方式对BERT进行预处理,然后将标记后的实例馈送给BERT以对BERT模型进行微调(fine-tuning)。
图5示出了根据本公开的实施例的故障诊断使用的屏蔽语言模型(MLM)的示意图。在对BERT模型进行预训练的阶段,屏蔽语言模型和下一句预测(Next SentencePrediction,NSP)模型一起训练,以最小化两种策略的组合损失函数为目标。在屏蔽语言模型中,在将单词序列输入BERT之前,每个序列中15%的单词被替换为[MASK]标记。然后,该模型尝试根据序列中其他非屏蔽词提供的上下文预测屏蔽词的原始值。对输出单词的预测需要在编码器输出前添加分类层,将输出向量乘以嵌入矩阵(embedding matrix),将其转换为词汇表维度,然后用softmax计算词汇表中每个单词的概率。
例如,如图5所示,作为输入的单词序列为“need to create storagecompatibilities for n400”。在将该单词序列输入BERT之前,该单词序列中15%的单词被替换为[MASK]词符。例如,假设其中单词“storage”被替换为[MASK]词符。然后,MLM模型使用输出的被屏蔽单词的位置,尝试根据序列中其他非屏蔽词(在本例中,“need”、“to”、“create”、“compatibilities”、“for”、“n400”)提供的上下文来预测屏蔽词的原始值(在本例中,“storage”)。
在本例中,在编码器(关于BERT架构,参见图4)输出前添加分类层。并且,将输出向量乘以嵌入矩阵,将其转换为词汇表维度,用softmax计算词汇表中每个单词的概率,即,在该情况下,可能的类为所有英语单词。例如,计算得到的词汇表中每个单词的概率分别为Zgzzyva:0%;…Storage:10%;…Aardvark:0.1%。由此可见,根据BERT模型的输出结果,屏蔽词的原始值为“storage”的概率在词汇表中每个单词的概率中最高,即,屏蔽词的原始值最有可能为“storage”。因此,将屏蔽词的原始值预测为“storage”,而这个预测结果与作为输入的单词序列是一致的。可见,预测的准确度较高。
在NSP模型中,在BERT训练过程中接收成对句子作为输入,并学习预测成对句子中的第二个句子是否是原始文档中的后续句子。
在BERT微调阶段,对特定任务使用预训练BERT相对简单:文本分类任务(如服务请求分类)与下一句分类类似,在[CLS]词符的Transformer输出前添加一个分类层。
图6示出了可以用来实施本公开的实施例的设备600的示意性块图。设备600可以为本公开的实施例所描述的设备或装置。如图6所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个方法或过程可由处理单元601来执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序被加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法或过程中的一个或多个步骤或动作。
在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或块图中的一个或多个方块中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或块图中的一个或多个方块中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或块图中的一个或多个方块中规定的功能/动作。
附图中的流程图和块图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或块图中的每个方块可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方块中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方块实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,块图和/或流程图中的每个方块、以及块图和/或流程图中的方块的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使得本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (17)

1.一种故障诊断的方法,包括:
通过部署在存储系统中的第一诊断模型,确定故障的起因是否属于环境因素;
根据确定所述故障的起因属于所述环境因素,确定所述故障能否在所述存储系统本地被解决;以及
根据确定所述故障不能在所述存储系统本地被解决,将所述故障发送给第二诊断模型,其中所述第一诊断模型是对所述第二诊断模型进行蒸馏得到的。
2.根据权利要求1所述的方法,其中确定故障的起因是否属于环境因素包括:
获得所述存储系统的服务请求,所述服务请求包括针对所述故障的标题和描述;以及
基于所述服务请求确定所述故障的起因是否属于环境因素。
3.根据权利要求2所述的方法,其中确定所述故障能否在所述存储系统本地被解决包括:
基于知识库,确定所述故障能否在所述存储系统本地被解决,其中所述知识库存储用于修复所述故障的知识参考,并且所述服务请求包括到所述知识库的索引。
4.根据权利要求3所述的方法,其中所述第二诊断模型通过利用屏蔽语言模型对所述服务请求进行预训练以及对用所述知识库标记的所述服务请求进行微调而被生成,并且被部署在云上。
5.根据权利要求4所述的方法,其中所述第二诊断模型基于语义表示模型,其中所述语义表示模型是基于Transformer的双向编码器表示。
6.根据权利要求1所述的方法,还包括:
根据确定所述故障的起因不属于所述环境因素,将所述故障发送给所述第二诊断模型进行诊断。
7.根据权利要求1所述的方法,还包括:
根据确定所述故障能够在所述存储系统本地被解决,在所述存储系统本地解决所述故障,并重置所述存储系统。
8.根据权利要求1所述的方法,其中确定所述故障的起因是否属于环境因素包括:
在从所述第一诊断模型到所述第二诊断模型的所述蒸馏期间,生成导致故障的环境因素的白名单;以及
从所述白名单中查找所述故障的所述起因。
9.一种电子设备,包括:
处理单元;以及
存储器,其耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:
通过部署在存储系统中的第一诊断模型,确定故障的起因是否属于环境因素;
根据确定所述故障的起因属于所述环境因素,确定所述故障能否在所述存储系统本地被解决;以及
根据确定所述故障不能在所述存储系统本地被解决,将所述故障发送给第二诊断模型,其中所述第一诊断模型是对所述第二诊断模型进行蒸馏得到的。
10.根据权利要求9所述的设备,其中所述确定故障的起因是否属于环境因素包括:
获得所述存储系统的服务请求,所述服务请求包括针对所述故障的标题和描述;以及
基于所述服务请求确定所述故障的起因是否属于环境因素。
11.根据权利要求10所述的设备,其中确定所述故障能否在所述存储系统本地被解决包括:
基于知识库,确定所述故障能否在所述存储系统本地被解决,其中所述知识库存储用于修复所述故障的知识参考,并且所述服务请求包括到所述知识库的索引。
12.根据权利要求11所述的设备,其中所述第二诊断模型通过利用屏蔽语言模型对所述服务请求进行预训练以及对用所述知识库标记的所述服务请求进行微调而被生成,并且被部署在云上。
13.根据权利要求12所述的设备,其中所述第二诊断模型基于语义表示模型,其中所述语义表示模型是基于Transformer的双向编码器表示。
14.根据权利要求9所述的设备,所述指令在由所述处理单元执行时还执行以下动作:
根据确定所述故障的起因不属于所述环境因素,将所述故障发送给所述第二诊断模型进行诊断。
15.根据权利要求9所述的设备,所述指令在由所述处理单元执行时还执行以下动作:
根据确定所述故障能够在所述存储系统本地被解决,在所述存储系统本地解决所述故障,并重置所述存储系统。
16.根据权利要求9所述的设备,其中确定所述故障的起因是否属于环境因素包括:
在从所述第一诊断模型到所述第二诊断模型的所述蒸馏期间,生成导致故障的环境因素的白名单;以及
从所述白名单中查找所述故障的所述起因。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使计算机执行根据权利要求1至8中任一项所述的方法。
CN202211268277.3A 2022-10-17 2022-10-17 对故障诊断的方法、设备和计算机程序产品 Pending CN117931488A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211268277.3A CN117931488A (zh) 2022-10-17 2022-10-17 对故障诊断的方法、设备和计算机程序产品
US17/990,885 US11971777B1 (en) 2022-10-17 2022-11-21 Method, device, and computer program product for fault diagnosis

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211268277.3A CN117931488A (zh) 2022-10-17 2022-10-17 对故障诊断的方法、设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN117931488A true CN117931488A (zh) 2024-04-26

Family

ID=90626317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211268277.3A Pending CN117931488A (zh) 2022-10-17 2022-10-17 对故障诊断的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11971777B1 (zh)
CN (1) CN117931488A (zh)

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9245232B1 (en) 2013-02-22 2016-01-26 Amazon Technologies, Inc. Machine generated service cache
JP6060261B2 (ja) * 2013-06-24 2017-01-11 株式会社日立製作所 状態監視装置
US10019716B1 (en) 2013-11-21 2018-07-10 Google Llc Method for feedback submission resolution
US10410219B1 (en) 2015-09-30 2019-09-10 EMC IP Holding Company LLC Providing automatic self-support responses
CN107292412A (zh) 2016-03-31 2017-10-24 阿里巴巴集团控股有限公司 一种问题预测方法及预测系统
EP3516516B1 (en) 2016-09-21 2022-05-11 Accenture Global Solutions Limited Dynamic resource allocation for application containers
US11004005B1 (en) 2016-10-06 2021-05-11 Massachusetts Mutual Life Insurance Company Electronic problem solving board
US10380600B2 (en) 2017-03-06 2019-08-13 International Business Machines Corporation Program identifier response to unstructured input
US10860071B2 (en) * 2017-05-04 2020-12-08 Microsoft Technology Licensing Llc Thermal excursion detection in datacenter components
CN110363556B (zh) 2018-04-11 2023-06-30 阿里巴巴集团控股有限公司 确定用户问题的方法、服务器、客户端及系统
CN108958939B (zh) 2018-07-06 2021-12-07 创新先进技术有限公司 服务资源的分配方法、装置及服务器
KR20200014005A (ko) * 2018-07-31 2020-02-10 삼성전자주식회사 전자 장치 및 전자 장치의 결함 진단 방법.
US11467817B2 (en) 2019-01-28 2022-10-11 Adobe Inc. Software component defect prediction using classification models that generate hierarchical component classifications
US11790171B2 (en) * 2019-04-16 2023-10-17 Covera Health Computer-implemented natural language understanding of medical reports
CN111914069A (zh) * 2019-05-10 2020-11-10 京东方科技集团股份有限公司 训练方法和装置、对话处理方法和系统及介质
GB2587905B (en) * 2019-07-31 2021-12-22 Reliance Jio Infocomm Ltd System and method of mapping and diagnostics of data center resources
US11436531B2 (en) 2019-11-12 2022-09-06 Vmware, Inc. Machine learning-powered resolution resource service for HCI systems
CN113868368A (zh) 2020-06-30 2021-12-31 伊姆西Ip控股有限责任公司 用于信息处理的方法、电子设备和计算机程序产品
CN112053703A (zh) 2020-09-11 2020-12-08 上海明略人工智能(集团)有限公司 一种信息处理方法、装置、计算机设备及存储介质
CN114792089A (zh) 2021-01-26 2022-07-26 伊姆西Ip控股有限责任公司 用于管理计算机系统的方法、设备和程序产品

Also Published As

Publication number Publication date
US11971777B1 (en) 2024-04-30
US20240126634A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
US10565077B2 (en) Using cognitive technologies to identify and resolve issues in a distributed infrastructure
US20210263792A1 (en) Utilizing machine learning to predict success of troubleshooting actions for repairing assets
CN107810496B (zh) 用户文本分析
US20200258057A1 (en) Repair management and execution
US9299031B2 (en) Active learning on statistical server name extraction from information technology (IT) service tickets
US20150347923A1 (en) Error classification in a computing system
US11675641B2 (en) Failure prediction
US11301355B2 (en) Method, electronic device, and computer program product for analyzing log file
US11610136B2 (en) Predicting the disaster recovery invocation response time
CN114064196A (zh) 用于预测性保障的系统和方法
CN111459692B (zh) 用于预测驱动器故障的方法、设备和计算机程序产品
US10635521B2 (en) Conversational problem determination based on bipartite graph
US20210158210A1 (en) Hybrid in-domain and out-of-domain document processing for non-vocabulary tokens of electronic documents
US20230376758A1 (en) Multi-modality root cause localization engine
US11514246B2 (en) Providing semantic completeness assessment with minimal domain-specific data
US20230245011A1 (en) Cognitive incident triage (cit) with machine learning
CN116361147A (zh) 测试用例根因定位方法及其装置、设备、介质、产品
JP2023002475A (ja) コンピュータシステム、コンピュータプログラムおよびコンピュータで実装される方法(因果関係知識の識別および抽出)
US10922324B2 (en) Identifying and scoring data values
Hou et al. A Federated Learning‐Based Fault Detection Algorithm for Power Terminals
US11847544B2 (en) Preventing data leakage in automated machine learning
CN113313134A (zh) 集群故障修复方法及其模型训练方法、装置及服务器
CN117931488A (zh) 对故障诊断的方法、设备和计算机程序产品
US20170103128A1 (en) Search for a ticket relevant to a current ticket
CN114706856A (zh) 故障处理方法及装置、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination