在现代电信网络中,故障分析的重要性日益凸显,直接影响网络的可用性和效率。为解决这一挑战,文本提出了构建专门的电信知识图谱(Tele-KG)和开发领域特定的语言模型(TeleBERT及其知识增强版本KTeleBERT),以系统地组织和利用电信专家的知识。KTeleBERT在根本原因分析、事件关联挖掘和故障链溯因等任务中展现了强大的性能,验证了采用电信领域语料和机器数据进行预训练的有效性。
论文题目:
Tele-Knowledge Pre-training for Fault Analysis
论文链接:
https://arxiv.org/abs/2210.11298
代码链接:
https://github.com/hackerchenzhuo/KTeleBERT
一、引言
在现代电信网络中,故障分析的重要性日益凸显,它直接影响到网络的可用性和效率。针对这一挑战,我们的最新研究提出了一种创新方法:通过构建专门的电信知识图谱(Tele-KG)和开发领域特定的语言模型(TeleBERT及其知识增强版本KTeleBERT),来系统地组织和利用电信专家的知识。
本研究首先对TeleBERT进行了大规模的预训练,覆盖了2000万条与电信相关的语料库。然后,为了进一步提升模型性能,我们在100万条根因关系和机器相关的语料库上对其进行了重新训练,形成了KTeleBERT模型。
在进行根本原因分析、事件关联挖掘和故障链溯因等任务的实验评估中,我们的模型展示了卓越的性能,证明了采用电信领域语料和机器数据进行语言模型预训练在下游任务中的有效性。
这项研究不仅强调了在电信领域统一编码知识的重要性,而且在实际场景中证明了所提出模型的有效性。我们相信,这种结合领域专业知识和先进机器学习技术的方法,将为电信网络的故障分析和维护提供强大的支持。
- 电信网络故障的影响:电信网络的故障可能严重影响全球网络的可用性和效率,从而导致运营公司承担显著的维护成本。因此,迅速消除故障并防止故障生成是至关重要的。
- 故障分析的复杂性:故障分析是一个复杂的任务,涉及多个子任务。它需要大量的电信知识,如网络架构和电信产品之间的依赖关系。
- 知识的累积和记录:过去,这些知识主要存储在专家的头脑中。而现在,大量的产品数据和专家经验以各种形式积累,例如机器(日志)数据和产品文档。
- 知识图谱的应用:考虑到这些知识的多样性,通常选择知识图谱(KG)来表示它们。知识图谱以三元组的形式表示事实,如(中国,首都是,北京)。电信产品知识图谱(Tele-KG)则用于统一记录电信领域的知识。
- Tele-KG的实际应用:Tele-KG可以作为知识库使用,通过SPARQL查询支持简单的故障分析。但这种解决方案在灵活性和对间接相关任务的概括能力上仍有局限。
二、背景
2.1 数据背景
- 机器日志数据:包括异常事件或正常指示器日志,这些数据不断在真实的电信环境和模拟场景中生成。例如,服务中断等异常事件具有不同的重要性级别,并且总是伴随着相关网络元素的异常。
- 产品文档:领域工程师或专家不断记录和更新产品文档。每个场景可能包含一个或多个由不同部门维护的产品文档,其中包含该领域几乎所有相关信息,如已发生或潜在案例的故障案例、解决方案和事件描述。
- 电信产品知识图谱(Tele-KG):为整合有关事件和资源的大量信息而构建。Tele-KG旨在精细化和净化电信领域的知识,并以半结构化的形式存在。
2.2 任务背景
- 根因分析:在现代电信系统中,识别异常事件的根本原因对于减少财务损失和维护系统稳定性至关重要。然而,传统的根因分析方法过于依赖专家手工分析汇总文档,同时耗费大量财务和人力资源。
- 事件关联挖掘:查找故障事件根本原因的一种方法是利用不同故障事件之间的先前触发关系。这些关系可以揭示故障原因的模式。然而,传统上这些触发关系是通过电信专家手工分析大量故障案例来识别的,这种方法耗时且受个人偏见限制。
- 故障链溯因:由于网络的高运行压力,网络设备故障在电信领域是常见现象。在这些故障场景中,常常会触发警报,这可能产生连锁效应,对整个系统造成损害。追踪这些故障的源头对于维护电信网络的稳定性至关重要。传统上,这一任务是由专家凭借经验来完成的
三、预训练阶段:基于电信领域语料的预训练(TeleBERT)
3.1 语料库整合:
- 数据集构建:包含来自各种来源的语句,例如产品文档和Tele-KG中的实体文本信息。
- 数据扩增:应用两种数据增强技术:
- 显式数据增强:将相邻句子拼接在一起,创建总共约2000万句子的预训练语料库(Tele-Corpus)。
- 隐式数据增强:通过丢弃策略引入数据集噪声,增强模型的鲁棒性。
3.2 TeleBERT模型:
- 预训练过程:采用掩码语言模型(MLM)策略,每个句子前添加特殊标记[CLS],后添加[SEP]。
- 基础模型:使用中文预训练语言模型(PLM)MacBERT作为基础。
- 整词遮蔽(WWM)策略:根据电信领域词汇对文本进行整词遮蔽。
- 句子嵌入对比学习(SimCSE):用于缓解大型模型上的表示学习崩溃问题,即大多数句子表示相似。
- ELECTRA预训练范式:用于提高预训练难度,配备MLM生成器进行掩码重建,使TeleBERT成为具有被替换令牌检测(RTD)自监督目标的判别器。
四、重训练阶段:基于根因语料和机器语料的重训练(KTeleBERT)
4.1 模态和模式统一
- 在重训练阶段,重点是统一不同的数据模态和模式,为构建KTeleBERT模型奠定基础。
4.1.1 根因句提取
- 目标:从大规模的Tele-Corpus中提取包含根因关系的句子。
- 方法:通过手动选择含有根因含义的词和短语(例如,“影响”、“导致”)作为关键词,结合定制化的提取规则(如最小长度要求),筛选出大约200,000句符合条件的句子。
- 处理知识图谱数据:将Tele-KG中的关系三元组和属性三元组(包含评估后的关键属性)序列化,即将实体/属性的文本信息和关系连接在一起,以实现序列格式的统一。这一过程也作为隐式知识注入的一种方式。
4.1.2 提示模板构建
- 目的:处理结构化机器(日志)数据和知识三元组中的属性装备实体的无序性质。
- 实现方式:引入特殊提示(标记),用来表示紧接其后内容的类别。例如,[ATTR] 表示接下来的内容是带有其值的属性。
- 数据统一:使用提示模板包装输入,统一数据模态,缓解由结构化机器或属性数据带来的无序问题。
- 区分属性类型:使用符号“|”分隔类型名称及其值,进一步区分不同的属性类型。
4.1.3 电信领域特殊令牌构建
- 方法:采用字节对编码(BPE)算法,通过迭代计算所有符号对并选择最频繁的符号对来合并字符,以学习电信领域特定的令牌集合。
- 标准:选择的令牌通常是领域特定短语或名词的重要缩写,符合以下两个条件:字符序列长度在2到4之间,且令牌在Tele-Corpus中频繁出现(例如,超过8000次),同时不包含在原始MacBERT/BERT词汇表中。
4.2 KTeleBERT模型构建
4.2.1 数值数据编码(Numerical Data Encoding)
- 信息来源:机器数据的主要信息来自其数值及其与标签(类型名称)的配对,这些数值反映了数据的内在含义。
- 数据关联:不同的数值数据往往具有内在的关联性,这些关联性体现在它们的协同波动中。例如,接口“N11”上“PDU会话建立拒绝”消息的异常增加可能导致“5G SA会话建立”的成功率突然下降。
- 数据补充:各种数值信息之间的关联是对电信领域专家经验的宝贵补充,因为机器数据是持续生成的。此外,一些数值数据也可以在Tele-KG的属性三元组中找到。
- 细粒度编码挑战:现有的数值学习方法主要专注于学习独立的领域特征,以区分不同的数值含义,但它们很少考虑对数值数据进行细粒度编码,使得分析不同领域的值之间关系变得困难。
- 适应性和灵活性:
- 领域适应性:为了适应电信领域的场景,其中字段数量众多且经常产生新的字段名称,设计了ANEnc模块来编码细粒度的数值数据,同时适应众多字段
- 编码模型结构:
- ANEnc(Adaptive Numeric Encoder)模块:整个数值编码模型由多层ANEnc模块和一个数值解码器(NDec)模块组成。
- ANEnc层:每层包含两种子层:基于注意力的数值投影(ANP)和全连接前馈网络(FFN)。
- 元嵌入构建:构建了N个可学习的、领域感知的元嵌入(meta embeddings),用于编码不同的数值字段。
- 编码过程:
- 数值对比学习:采用对比学习策略,将每个批次中最接近目标值v的数值视为正样本,其余视为负样本。使用余弦相似度函数来计算数值间的相似度。
- 空间分布可视化:通过可视化机器数据嵌入(在MLP层之前)在向量空间中的空间分布,以比较正常和异常机器日志数据的分布,从而增强模型对异常数据的敏感性。
- 训练目标和应用:
- 性能提升:ANEnc模块在多个下游任务中一致地提升了性能,尤其是在使用STL版本的KTeleBERT作为对照模型时。
- 多阶段训练模式:为了适应电信领域机器数据和知识三元组中的不同训练目标,采用了多阶段训练模式,以实现多层次的知识获取。
通过这种细粒度和适应性的数值数据编码方法,KTeleBERT模型能够更有效地处理和分析电信领域的复杂数值数据,增强对异常情况的敏感性和识别能力,从而在故障分析等任务中发挥更好的性能。
4.2.2 掩码重建(Mask Reconstruction)
- 掩码策略:在KTeleBERT的重训练过程中,掩码率从15%增加到40%。
- 使用的策略:
- RoBERTa中的动态掩码策略:在每一步动态更改应用于训练数据的掩码模式。
- MacBERT中的中文整词遮蔽(WWM)策略:使用LTP工具进行中文整词分割。
- 重建目标:自BERT提出以来,掩码重建逐渐成为大规模数据预训练中的一种通用自监督策略。掩码损失的通用目标是预测被掩码的词
4.2.3 专家知识注入(Expert Knowledge Injection)
- 增强显性推理能力:为了增强预训练语言模型(PLM)的显性推理能力,引入了文本增强的知识嵌入(KE)目标,用于电信领域专家知识的注入。
- 采用方法:遵循KEPLER的方法,对实体进行变形处理以注入专家知识。
4.2.4 多任务学习(Multi-task Learning, MTL)策略
- 协同训练目的:为了实现KTeleBERT的协同训练,将其定义为结合多源数据不同任务的多任务学习进程。
- 策略概述:
- 迭代多任务学习(Iterative Multi-task Learning, IMTL):遵循百度的ERNIE2框架,采用迭代式训练方法跨任务应用。
- 合作式并行多任务学习(Cooperative Parallel Multi-task Learning, PMTL):在每一步中简单地将不同任务的损失相加。
- 单任务学习(Single-task Learning, STL):考虑到单任务学习,即仅使用因果句子和机器数据进行掩码重建。
- 训练步骤统一:为了比较,将每个任务的总训练步骤统一为60k步,详细信息如图。
这种训练策略为KTeleBERT模型提供了灵活的学习框架,可以有效地结合来自多个源的数据,并在保持已学习知识的同时,处理不同的任务
五、实验
5.1 模型训练细节
5.1.1 TeleBERT预训练
- 数据集:TeleBERT的预训练使用了包含各种电信领域数据的Tele-Corpus,如电信问答软件参数描述和日常维护案例,这些都源自产品文档。
- 数据量:通过数据增强方法生成了总共20,330,000句子(1.4GB)。
- 训练环境:预训练在8×8 32G NVIDIA V100集群上进行,持续了30个训练周期,每个批次大小为4096,总共耗时269小时。
5.1.2 KTeleBERT重训练
- 数据集:KTeleBERT重训练的数据包括因果句、与数值相关的机器(日志)数据和Tele-KG中的三元组。
- 数据选择:为了平衡数据规模,选取了434,000个因果句子,429,000个机器日志(包括警报和KPI信息)和130,000个知识三元组。
- 负样本采样:每个实体在Lke中采样10个负样本。
- 训练时间和硬件:在四个24G NVIDIA RTX 3090上进行重训练,持续60,000步,批次大小为256,耗时约8小时。
5.1.3 服务分发范式
- 数据类型:针对电信领域的目标名称,从相关的下游任务中考虑了三种类型的数据:
- “仅名称”:目标的纯文字名称。
- “实体映射无属性”:目标名称映射到Tele-KG中的实体,不包含属性。
- “实体映射含属性”:目标名称映射到Tele-KG中的实体,并附加了下游任务提供的属性。
- 数据格式:遵循图3中展示的基本模板规则,模型将这些包装过的名称通过 [CLS] 令牌的输出嵌入进行编码,作为所有故障分析下游任务的服务向量嵌入
5.2 根因分析 (RCA)
5.2.1 任务动机和问题构成
- 目标:RCA任务的目标是识别电信网络中最有可能是故障源的网络元素(NE)。
- 方法:将此任务构建为图表示中的节点排名问题,其中节点代表网络元素(NE),边代表它们之间的连接。
- 模型功能:通过对所有节点进行排名,模型允许工程师容易地识别真正的故障,并在输出的故障不正确时考虑其他可能性。
5.2.2 处理RCA的方法
- 基于KTeleBERT和图卷积网络:该方法主要基于KTeleBERT和图卷积网络(Graph Convolutional Networks, GCNs)。
- 功能实现:使用KTeleBERT和GCNs来处理根因分析任务,通过对电信网络的图表示进行分析来识别故障源。
这部分内容展示了如何通过图表示和先进的深度学习技术来处理复杂的根因分析任务,突出了KTeleBERT模型在理解电信网络中的异常事件和故障源定位方面的能力。
5.3 事件关联挖掘 (EAP)
5.3.1 任务动机和问题构成
5.3.2 方法
5.3.3 评估方法
这一部分内容展示了如何通过深入学习事件的字面名称、拓扑环境和时间特征,以及如何利用这些信息来预测电信网络中事件之间的关联性,突出了KTeleBERT模型在理解和分析复杂事件关联方面的能力。
5.4 故障链溯因(Fault Chain Tracing)
5.4.1 任务动机和问题构成
- 任务动机:此任务旨在通过创建一个不完整的故障链路径数据集,并通过掩码处理一跳关系(first-hop relations)之间的报警,来追踪故障链。
- 数据集划分:数据集被分为训练、验证和测试三个部分。
5.4.2 方法
5.4.3 评估方法
- 训练步骤统一:为了比较,将每个任务的总训练步骤统一为60k步,并在表格II中记录了详细信息。
- 评估指标:使用的评估指标包括平均排名(MRR)、Hits@1、Hits@3和Hits@10。
- 模型对比:对比了随机初始化、MacBERT、TeleBERT、KTeleBERT(STL无ANEnc)、KTeleBERT(PMTL)和KTeleBERT(IMTL)等模型。结果显示,KTeleBERT-IMTL模型在所有指标上表现最佳,例如在MRR上达到了94.8%。
结果表明,KTeleBERT模型在故障链追踪任务上表现最佳,相比基线方法显著提升。特别是KTeleBERT-IMTL模型在MRR上达到94.8%,在Hits@1、Hits@3和Hits@10上也表现出色。这些实验结果展示了KTeleBERT模型在故障链追踪这一关键任务中的有效性,尤其是在使用迭代多任务学习(IMTL)方法时,其性能显著优于其他基线模型。故障链追踪任务的成功实施证明了模型在理解和分析电信网络中的复杂事件和故障源关系方面的强大能力。
5.5 自适应数值编码器的讨论
5.5.1 任务动机和问题构成
- 提出了一种名为ANEnc(自适应数值编码器)的模型,用于数值对比学习。
- 使用维度缩减技术将ANEnc产生的数值嵌入进行可视化,其中数值从小到大的连续变化被有效地映射到三维向量空间中,证明了这种数值对比学习策略能够让模型有效理解不同数值间的大小关系。
5.5.2 方法
5.5.3 评估方法
- 实验中收集了12,347个时间数据段(98,776个数据点)作为数据集。一个段落如果它包含至少一个异常点则被认为是异常的。
- 使用 focal loss 策略来缓解标签不平衡问题,因为异常的机器数据点相对于正常数据点来说非常罕见。
- 实验结果显示,采用ANEnc后,在异常数据点召回率方面取得了显著提升(增加了56.57%)。
- 进一步通过可视化比较了正常和异常机器日志数据的空间分布,发现采用ANEnc模块后,异常数据在向量空间中显著地以离群点的形式显现,模型对异常数据的敏感性大大增强。
六、总结
- 本文提出了一个新的预训练语言模型TeleBERT,专门为电信领域设计,以学习通用的语义知识。同时进一步介绍了TeleBERT的改进版本KTeleBERT,该版本不仅包含来自机器日志数据的隐式信息,还融入了Tele-KG中包含的显式知识。
- KTeleBERT包含一个自适应数值编码器(ANEnc),用于编码如电信指标(KPI)等细粒度数值数据。
- 对该模型在三个关键的下游任务中的有效性进行了评估,并附上了相应的解决方案。
- 该项工作是提高电信行业故障分析能力的一个重要步骤。
Illustration From IconScout By Delesign Graphics