“新KG”视点 | 知识与大模型融合技术在电信领域应用探索

OpenKG

a52b9b35b3c839e450a16b9c55512609.png

大模型专辑

导读 知识图谱和大型语言模型都是用来表示和处理知识的手段。大模型补足了理解语言的能力,知识图谱则丰富了表示知识的方式,两者的深度结合必将为人工智能提供更为全面、可靠、可控的知识处理方法。在这一背景下,OpenKG组织新KG视点系列文章——“大模型专辑”,不定期邀请业内专家对知识图谱与大模型的融合之道展开深入探讨。本期特别邀请到华为大模型技术专家李芳明和浙江大学研究员张文分享“知识与大模型融合技术在电信领域应用探索”。

分享嘉宾 | 李芳明(华为)、张文(浙江大学)

笔记整理 | 邓鸿杰(OpenKG)

内容审定 | 陈华钧


ce8ebec320404517f6b1a7e0578d9c20.gif

摘要:本次分享是我们团队近两年做的一些知识与大模型融合技术在电信领域应用的一些工作。主要包括两部分内容:

1. 知识图谱与大模型融合故障定界

2. 知识与大模型融合电信领域知识问答

01

知识图谱与大模型融合故障定界

1.1 背景介绍:

云核心网的特点是为了完成对应的业务功能需要不同网元之间的相互调用,所以当一个网元故障发生时,与其有业务调用关系的网元也会业务受损,表现出故障状态。故障网元实例定界就是在多个网元都出现故障现象时,定位到真正的故障网元,即“始作俑者”。下图是云核心网的逻辑架构图。

a6a983a691c97f19e6180503e8320f72.png

整体方案的输入为故障数据包,输出故障网元,目标最大化提升运维工程师的定位效率。PS:机器语言大模型是我们决策式大模型的名字。

020e6732fef722e90b68ebd6dc386e23.png

1.2 技术方案:

1.2.1 技术方案概述

在ChatGPT出来之前,“模型+知识双驱动”的研究方向是很火的,我们团队之前也做了基于知识图谱的故障定界方案,所以接下来我们就想探索一个基于模型的故障定界方案,说到基于模型那肯定要上大模型,虽然当时大模型没有火热到今天这种地步,也还是很热门的研究方向。

整体方案的设计思路是将故障发生时的异常事件向量化后全部挂载到对应网元上去,得到一个故障时刻的数字网络快照,然后通过图神经网络的方法去完成不同网元之间的异常事件信息交换,经过信息交换后,每个网元都是“知己知彼”,既知道自己发生了什么异常事件,又知道周边网元发生了什么异常事件,接下来就可以通过全连接神经网络推断每个网元是否是根因网元。(有点类似于剧本杀的逻辑,大家都拿到各自剧本,最开始只知道自己身份相关的一些信息,然后和其他玩家交换的信息,逐渐根据自己和别人提供的信息就能推断出嫌疑人了)。接下来,根据知识图谱中的相关知识对以上结果进行校正,最终实现了根因网元定位。根据以上设计思路,形成了以下的具体技术方案。

e8a75c6aaae15acb580619fcc0924190.png

步骤1:故障异常事件提取:这里包括对不同类型机器数据的异常事件提取,例如KPI异常事件,日志的异常事件,告警本身就是异常事件,因为我们注意到专家在故障定界的过程中主要是看不同类型的异常事件去定界的。

步骤2:异常事件挂载,形成故障快照:首先现网的配置情况,还原各个网元之间的业务调用关系,形成一个有向的图结构,并把上一步提取的异常事件按照发生位置挂载到具体网元上去,这样就形成了如下的故障快照,蓝色代表网元实例,橙色代表异常事件,网元之间的单向箭头代表业务调用关系。

60e1cb83f3de44afe3e8c13d365e9dc4.png

步骤3:故障快照数字化:前面的故障快照是人能看懂的,神经网络是看不懂的,那我们要把它变成神经网络也能看懂的形式,即数字化,也就是向量化。这里数字化的具体方案与下游任务有关,因为我的下游任务选择的是用图神经网络的技术栈,所有结构信息可以简单数字化为邻接矩阵传递给图神经网络。主要技术难度在于异常事件数字化,因为这里面包括对于KPI异常事件,日志异常事件、告警等不同类型异常事件的向量化。我们的思路就是用bert类大模型(机器语言大模型)对不同类型异常事件根据语义来进行向量化。例如一个KPI异常事件是“5GC 会话成功率下降”,把这句话输入给机器语言大模型,它就会给我输出一个768维的向量,即为这个异常事件的数字化结果。接下来我们又发现一个问题,告警本质上属于结构化数据,一条告警有很多个字段,每个字段有对应的具体到这条告警的值。我们就想了一个办法,把告警的关键字段的key:value提取出来,拼接后送给大模型,最终每个告警也会得到一个768维的数字化结果。我们也尝试了把每个key:value分别送给大模型做数字化在融合,并做了对比试验,效果没有拼接后送给大模型好。

7831d7099b051386eab91ab10756ca7f.png

最终我们实现了故障快照的数字化,如下图:

a97886fcef905d28e8b7eebf53dff178.png

这个地方省略了一个重要细节,就是我们的机器语言大模型具体怎么训练的,为了保持整体方案的逻辑性,在这先不讲,后面会单独讲机器语言大模型怎么得到的,具体参数量有多大。

步骤4:网元之间信息交换:不同网元之间的信息交换是通过图神经网络的技术栈实现的,具体选用的GAT(Graph Attention Networks)方案,功能上就是实现了相邻网元之间的信息交换,做到了“知己知彼”,这里的建模思路是受到云核运维专家定位过程的启示,即判定一个网元是不是真正发生了故障不仅要看网元本身发生了什么异常事件,还要看对端网元发生了什么异常事件。

这有个关键问题“是不是每个网元都只是吸收了它相邻网元的信息?”:答案是否定的,因为如果我们让网元之间交换两次信息的话,那就是每个网元都吸收了它两跳网元的信息,因为相邻网元在第一次信息交换时已经吸收了它相邻网元的信息。(比较绕)。

8283716390a5b27806e6ea381e1b8178.png

步骤5:逐一判断网元是故障网元的概率:在经过几轮信息交换后,每个网元都知道自己发生了哪些异常,其他网元发生了哪些异常,接下来就可以逐一判断每个网元是否真的发生了故障,只要通一个MLP就可以实现(当然需要一些历史数据训练MLP)。

5b34230ccf6f7adde723a760aae4bd69.png

步骤6:根据知识图谱进行结果校正:首先梳理主要异常事件的发生网元,然后在知识图谱中,提取本次故障主要异常事件的故障传播关系,识别根因事件,如下图中的ALARM5和ALARM1,然后初始化一个网元的根因权重矩阵,初始值均为1,然后根据每个网元上的根因事件更新权重矩阵,每有一个根因事件,权重增加0.1,最终得到加权后的网元根因权重矩阵。

3ad4ce7bbc768bc56aec8d3f3a9ca86f.png

接下来,用步骤五得到的每个网元的故障概率乘以网元根因权重矩阵各自的权重系数,得到最终的每个网元是根因网元的概率,超过阈值的网元即为故障网元。

1.2.2 机器语言大模型

介绍到这还没讲一个关键问题,就是我们的机器语言大模型是怎么来的,它的特点是什么,为什么叫机器语言大模型?接下来就用一个小节揭开机器语言大模型的神秘面纱。

首先说为什么叫机器语言大模型,因为像KPI、告警、日志等数据我们统称为机器语言大模型,我们的大模型设计初衷也就是对各类机器数据的异常事件进行embedding,所以我们的大模型叫机器语言大模型。至此,大家可能也猜到了,机器语言的预训练数据肯定是电信领域的数据,的确如此,包括了电信领域的基础知识数据和不同类型的机器语言数据。基础知识数据包括通用的电信领域知识和华为产品的专有知识,机器数据就是现网采集回来的告警、日志、KPI等数据。

2c01d86c4fa9336c63fd6ecc846f4715.png

机器语言大模型的构建是与浙江大学陈华钧老师团队合作完成的,具体细节可参考论文“Tele-Knowledge Pre-training for Fault Analysis”,使用下图中的服务向量作为机器数据异常事件的embedding结果。

86673e06521cb824e65bc855919a0e00.png

1.3 关键技术及应用效果

我们在两个数据集上验证了方案的应用效果:团泊洼镜像实验环境样本集和仿真数据集,随着我们样本的持续累积,精度不断在提升,最终我们共获得629个团泊洼镜像实验环境样本和1251个仿真故障样本,在两个样本集每次随机选取70%作为训练集训练GAT和MLP,30%作为测试集,经过50次实验,在两个样本集上的平均精度分别是91.55%和94.1%。

02

知识与大模型融合电信领域知识问答

2.1应用背景

盘古通信L1大模型NetGPT是基于盘古NLP大模型构建的电信行业大模型,虽然NetGPT在很多行业知识问答虽然已经取得了很好的效果,但是强如GPT4也会存在幻觉和事实性错误,这个问题同样出现在我们的电信行业模型上,我们发现用户问题知识点分布在不同预训练语料块时,模型的回答可能是部分答案,不够完全。还有就是对于预训练数据中表格里面的知识,尤其与数字相关的知识,模型在回答的时候可能会存在事实性错误的情况。如下表所示,是典型的三个回答部分正确和事实性错误的知识问答实例。可以看到前两个问题,大模型回答的时候遗漏了部分关键信息,如红色部分所示。第三个问题答案部分的192.168.0.1被大模型回答为了192.168.0.0毕竟大模型是概率模型,难免会记忆混淆。

4599681e995d428c108a3b6d8a2cc448.png

2.2 NetGPT结合向量化数据库知识问答方案

为了提升NetGPT知识问答的准确性,我们设计了如下的NetGPT结合向量化数据库的知识问答架构方案。

首先要保证知识召回的准确率,总体使用文本召回+向量混合召回再精排的组合方案。在使用的知识的过程中我们设计了“事前:知识增强,事中:知识copy,事后:知识校验”。

“事前:知识增强”:知识增强即为,讲检索回来的知识作为背景信息放到prompt中,作为大模型输入。

“事中:知识copy”:知识copy即为在大模型生成答案过程中,适当从检索回来的知识中copy关键片段到答案中。这个能力较为复杂,需要选择合适的生成内容位置插入copy片段,验证copy内容合理性对模型并发推理性能要求比较高。

“事后:知识校验”:事后校验为在答案生成完成后,对生成内容的关键信息,如关键数值等信息做校验。

b96c06cdd6d19659b958aefc5a567cf1.png

2.3 应用效果

基于以上方案,我们再次验证了上述回答不全或者错误的问题,结果如下,可以看到三个问题全部回答正确。

92c0a2181757a42bff0f1151b850823e.png

03

总结

在ChatGPT出来之前,“知识+模型双驱动”就是很火的研究方向,ChatGPT出来后,有一些“是否还需要继续投入知识图谱的研究”的讨论,事实证明知识图谱在后ChatGPT大模型时代依然存在较高的研究价值。

以上就是本次分享的内容,谢谢。

9c05e91877b65d2f496710755caba755.gif

a9ee22e4662f6ab2a24571233eb6a9a0.jpeg

作者简介

INTRODUCTION

f71757f402fdf9afa535e83ff5afb89f.gif

李芳明

65308b78ce07dd487dc23235645b4caa.gif

华为大模型技术专家,盘古通信大模型NetGPT技术负责人

3017c849f86c68d6684169eb9a4f82a2.gif

李芳明博士长期从事AI技术在智能运维领域的应用研究工作,目前负责电信行业大模型的设计与开发,以及大模型与知识结合技术在电信行业应用研究工作。

b3df9f8073b84bbe33289a28feab03dc.jpeg

作者简介

INTRODUCTION

ff7ddb61808853e6fbdce8f4f2b7802e.gif

张文

6a35542161c709d501d582829a0127e5.gif

浙江大学特聘研究员

5444ea4e7b53310f2cfacce4ba2d9faf.gif

张文,浙江大学软件学院特聘研究员,研究方向为知识图谱、知识表示、知识推理。个人主页:https://person.zju.edu.cn/zhangwen


OpenKG

OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。

b4d5ed492023b7cbf1858bb48e797a49.png

点击阅读原文,进入 OpenKG 网站。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/202126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

M2芯片回顾

M芯片, 一竟到底: M1芯片的体积: M2 代表 M 系列芯片的第二代: 其进一步提升了芯片的性能和功率 ,这也是 M 芯片目前的追求:最大化性能的同时,最大限度降低功耗。 UMA 统一内存架构被再一次提到…

前端监控文件上传进度

前端&#xff1a; <!doctype html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>Document</title></…

什么是 shell 脚本?

一、什么是 shell&#xff1f; Shell 是一个应用程序&#xff0c;它负责接收用户输入的命令&#xff0c;然后根据命令做出相应的动作&#xff0c; Shell 负责将应用层或者用户输入的命令传递给系统内核&#xff0c;由操作系统内核来完成相应的工作&#xff0c;然后将结果反馈给…

西门子 ULTRAMAT 23多组分气体分析仪 端子接线说明

后面板端子分布图 RS485接口 模拟量&#xff08;开关量&#xff09;接口 特此记录 anlog 2023年12月6日

天眼销为电销行业降低获客成本

当下&#xff0c;做电销的老板都有一个深刻体会&#xff1a;市场竞争越来越激烈&#xff0c;获客成本不断攀升&#xff0c;但效率不升返降&#xff0c;企业经营困难。特别是在这一两年&#xff0c;市场环境紧张&#xff0c;业务不好开展&#xff0c;更是雪上加霜。 销售也感觉…

1.3角色设计精要

一、角色设计流程 二、确定角色关键词 OW角色小美 关键词&#xff1a; 中国防守英雄冰与雪聪明的邻家大姐姐探索与冒险南极科考航天科技 OW角色猎空 关键词&#xff1a; 英国敏捷飞行员进攻英雄年轻动感活泼 三、收集素材和灵感 概念设计 由分析用户需求到生成概念产品一系…

FTP协议(PORT和PASV模式)

目录 FTP协议基本概念 PORT主动模式工作流程 PORT工作过程 PORT工作报文 PASV被动模式工作流程 PASV工作过程 PASV工作报文 FTP协议基本概念 FTP文件传输协议&#xff0c;用于在互联网上进行文件传输&#xff0c;基于C/S架构 FTP的连接模式 FTP采用双TCP连接方式 控制连…

OSG编程指南<十四>:OSG纹理渲染之普通纹理、多重纹理、Mipmap多级渐远纹理及TextureRectangle矩阵纹理

1、纹理映射介绍 物体的外观不仅包括形状&#xff0c;不同物体表面有着不同的颜色和图案。一个简单而有效地实现这种特性的方法就是使用纹理映射。在三维图形中&#xff0c;纹理映射&#xff08;Texture Mapping&#xff09;的方法运用广泛&#xff0c;使用该技术可以大大提高物…

校园教务管理系统

学年论文&#xff08;课程设计&#xff09; 题目&#xff1a; 信息管理系统 校园教务管理系统 摘要&#xff1a;数据库技术是现代信息科学与技术的重要组成部分&#xff0c;是计算机数据处理与信息管理系统的核心&#xff0c;随着计算机技术的发展&#xff0c;数据库技…

Python-列表详解(列表的创建、用法、遍历、注意事项、特点等)

本文有以下内容&#xff1a; 列表的创建 列表的下标索引注意事项 列表的访问 列表的增加元素 列表的删除元素 列表的任意删除元素 列表的查找元素 列表的查找元素位置 列表的插入任意位置 列表的遍历 列表的拼接方式 列表的切片操作以及注意事项 列表类似于其他语言的数组 列…

记录 | linux静态库和动态库的理解

hello.cpp&#xff1a; #include <cstdio>void hello() {printf("Hello, world!\n"); }main.cpp&#xff1a; #include <cstdio>void hello();int main() {hello();return 0; }静态库编译配置&#xff1a; cmake_minimum_required(VERSION 3.12) proj…

mysql面试题——索引创建与设计原则

一&#xff1a;哪些情况适合创建索引&#xff1f; 字段的数值有唯一性的限制 频繁作为 WHERE 查询条件的字段 经常 GROUP BY 和 ORDER BY 的列 DISTINCT 字段需要创建索引&#xff1a;有时候我们需要对某个字段进行去重 SELECT DISTINCT(student_id) FROM student_info;运行…

王学岗切面编程(AOP)最新配置

不懂啥是切面编程的看我这篇文章 本文主要讲解最新的切面编程配置 首先看下app的build.gradle界面&#xff0c;有两处配置 plugins {id("com.android.application")id("org.jetbrains.kotlin.android") // 配置1id("com.ibotta.gradle.aop")…

C++大小写字母转换

这内容确实很初级了&#xff0c;就是ascii码的加减转换类型输出&#xff0c;但是以往都是学学理论&#xff0c;好多东西还真掌握不扎实&#xff0c;现在通过实验了验证一下&#xff0c;代码如下 可以看到字母的大小写直接差了32&#xff0c;如果要进行转换的话对应加减就可以了…

C++ 获取当前目录下的指定后缀文件

获取指定目录下的所有指定格式文件&#xff0c;返回的列表将按照创建时间排序 注意&#xff1a;文件最早的在最前面 #include "shlwapi.h" #pragma comment(lib,"shlwapi.lib") #pragma comment(lib, "Version.lib ") #include <iostream&…

Redis Reactor事件驱动模型源码

前置学习&#xff1a;Redis server启动源码-CSDN博客 1、Redis服务器启动的时候就会就一直在轮询。 // 运行事件处理器&#xff0c;一直到服务器关闭为止 aeSetBeforeSleepProc(server.el,beforeSleep); aeMain(server.el);// 服务器关闭&#xff0c;停止事件循环 aeDeleteEven…

Hello World

世界上最著名的程序 from fastapi import FastAPIapp FastAPI()app.get("/") async def root():return {"message": "Hello World"}app.get("/hello/{name}") async def say_hello(name: str):return {"message": f"…

智慧配电运维系统解决方案

智慧配电运维系统依托电易云-智慧电力物联网&#xff0c;是一种基于云计算、物联网、大数据等先进技术的配电室运维管理系统&#xff0c;具有实时监测、智能分析、远程控制等特点&#xff0c;可以提高配电室的安全可靠性、运行效率和管理水平。 智慧配电运维系统解决方案通过以…

常见场景题-Redis的bitmap如何实现签到功能?

Redis 的 bitmap 实现签到系统&#xff1f; 答&#xff1a; 主要讲一下 Redis 原生的 bitmap 的使用方法&#xff0c;以及如何使用 bitmap 来实现签到功能 先来看一下如何使用 redis bitmap 的原生命令实现签到功能&#xff1a; 签到 我们先来设计 key&#xff1a;userid:y…