本发明属于网络配置管理,具体涉及一种基于预训练模型的网络配置自动化管理方法。
背景技术:
1、近年来,随着互联网的不断发展,网络配置管理工作变得越发复杂。网络配置涵盖多种网络协议和属性,涉及多个厂商的异构设备,并伴随着复杂的策略要求,这些特点使得网络配置管理工作变得异常复杂,需要大量人力资源的投入。为了简化网络配置管理流程,引入自动化的方法显得尤为紧迫。
2、网络配置自动化管理是指利用自动化工具对网络设备进行配置,从而简化网络管理、监控和维护任务。借助于自动化工具可以有效减少人力工作的需求,在降低网络运维成本的同时显著提升网络管理的效率。当前的自动化网络配置管理工具主要通过人工设计实现,需要广泛的领域专业知识和手工工作。如现有配置综合工具通过求解人工定义的目标函数生成目标配置;配置翻译工具使用人工创建的模板完成不同厂商的配置转换工作;配置分析工具基于专家制作的文本解析器分析配置语义。
3、然而基于手工设计的网络配置管理工具在通用性和灵活性方面存在局限性。首先,大多数配置管理工具都是单一用途的,只能自动执行综合或翻译等单独的任务。现实世界中的网络配置管理工作通常需要组合多个工具来执行不同的任务。使用多个不同的工具不可避免地增加了网络管理人员的学习和维护成本。其次,由于固有的网络协议复杂性,难以对手工设计工具进行扩展以支持复杂的应用场景。
技术实现思路
1、为了解决现有技术中的上述问题,本发明提供一种基于预训练模型的网络配置自动化管理方法,能够完成多种基于文本转换的网络配置管理任务,以解决背景技术中存在的缺陷。
2、为实现上述目的,本发明采取如下技术方案:
3、一种基于预训练模型的网络配置自动化管理方法,包括以下步骤:
4、步骤1:从网络设备厂商的配置手册和用户社区论坛获取网络配置相关的原始文本,包括自然语言文本和网络配置文本。
5、步骤2:使用文本分类方法对步骤1获取的原始文本进行处理,提取原始文本中的网络配置文本,得到网络配置数据集dc;具体过程如下:
6、步骤2.1:通过识别网络配置文本特有的关键字,对原始文本进行初步处理,将网络配置文本与自然语言文本分割,得到分割后的整体文本数据集d1。
7、步骤2.2:收集现有网络配置项目的真实配置文本,得到数据集d2。
8、步骤2.3:使用词袋模型vampire将数据集d1和数据集d2中的所有文本转化为向量表示,生成向量数据集d。
9、步骤2.4:针对d2中的每条真实配置文本d,使用词袋模型vampire转化为向量表示,得到特征向量d1,从向量数据集d中提取与d1相似度最高的前k个数据作为候选项;其中,数据相似度计算方法如下:
10、d={x1,x2,…,xm} (1)
11、
12、
13、其中,d是向量数据集;m表示数据集d的数据数量;xi是数据集d中第i条数据的特征向量表示,特征向量的维度为n;l2(xi,xj)是两个特征向量xi与xj的相似度得分,t表示特征向量的维度。
14、通过计算特征向量d1与向量数据集d中每条数据的相似度得分,从向量数据集d中分离出与特征向量d1相似度最高的前k个数据,得到数据集dk。
15、步骤2.5:将dk中的每条向量数据转化为文本表示,得到数据集dk1,识别dk1中的数据是否含有网络配置文本特有的关键字,提取含有关键字的数据,组成网络配置数据集dc。
16、步骤3:设计提示模板,指导大语言模型gpt-4对网络配置数据集dc中的每条数据进行修改,扩充配置数据规模,提升数据多样性;具体过程如下:
17、步骤3.1:指定大语言模型gpt-4需要完成的任务为网络配置数据增强任务。
18、步骤3.2:给出网络配置数据增强任务的示例输入和输出。
19、步骤3.3:提出对配置数据的修改要求,指导大语言模型gpt-4对数据集dc中的每条配置数据进行参数替换或添加额外的配置属性。
20、步骤3.4:命令大语言模型gpt-4返回修改后的配置数据,得到配置数据集dl。
21、步骤3.5:整合生成的配置数据集dl与步骤2中的网络配置数据集dc,得到网络配置管理模型的预训练数据集dp。
22、步骤4:使用预训练数据集dp,对编程语言预训练模型plbart进行持续预训练,得到网络配置预训练模型;所述网络配置预训练模型使用与bart模型相同的tansformer架构,训练方式如下:
23、步骤4.1:使用迁移学习的方法,将编程语言预训练模型plbart的预训练参数作为网络配置预训练模型的初始参数。
24、步骤4.2:网络配置预训练模型的预训练任务使用文本覆盖、文本删除、文本填充三种策略,通过破坏预训练数据集dp的配置文本然后优化损失进行训练,使网络配置预训练模型学习网络配置文本的语法和语义信息,损失函数使用如下公式:
25、dp=(x1,x2,…,xl) (4)
26、
27、其中,dp是用于训练的数据集;l表示数据集dp的数据量;xz表示一条配置数据,z的取值为1到l;θ是网络配置预训练模型参数,已使用编程语言预训练模型plbart预训练参数进行初始化;使用文本覆盖、文本删除、文本填充三种策略破坏配置文本xz,得到损坏文本x'z,训练网络配置预训练模型预测配置文本xz。
28、步骤5:使用大语言模型与网络配置分析工具交互工作,得到网络配置管理任务数据集;具体步骤如下:
29、步骤5.1:根据任务类型,使用大语言模型gpt-4或网络配置分析工具batfish生成初始任务数据。
30、步骤5.2:通过网络配置分析工具batfish和campion验证初始任务数据的正确性,如果配置分析工具检测出初始任务数据中存在错误,将错误类型及数据处理步骤反馈给大语言模型进行修改。
31、步骤5.3:对于无法修正的错误数据,反馈人工进行处理。
32、步骤5.4:重复执行步骤5.2与步骤5.3,得到网络配置管理任务数据集。
33、步骤6:使用步骤5获取的网络配置管理任务数据集,通过多任务学习的方式对网络配置预训练模型进行多任务微调,得到网络配置管理模型,实现多种网络配置管理任务;所述网络配置预训练模型进行多任务微调的方法如下:
34、步骤6.1:为了均衡网络配置管理任务数据集数量对不同任务的影响,根据任务的数据集大小,使用一种均衡采样算法,对于h个任务数据集及对应概率{q1,q2,...qh},通过以下公式中描述的分布对各任务数据进行采样:
35、
36、其中,h是任务类型数量,nu是第u个任务的数据量,a的取值为1到h,ru是第u个任务的数据量占各任务数据总量的比重,β设置为0.7,qu是第u个任务的概率。
37、步骤6.2:使用多任务训练框架对网络配置预训练模型进行训练,得到网络配置管理模型。
38、步骤6.3:在网络配置管理模型中,输入数据及任务类型,完成相应的网络配置管理任务。
39、本发明的有益效果:
40、1)本发明设计了一种网络配置数据的获取方法,通过文本分类方法,从网络配置手册与用户社区论坛中提取用于网络配置管理模型预训练的配置文本。
41、2)本发明设计了一种网络配置数据增强方法,通过设计提示模板引导大语言模型扩充配置数据规模,提高数据多样性。
42、3)本发明设计了一种网络配置管理任务数据获取方法,通过结合大语言模型与网络配置分析工具,生成目标任务数据,并确保任务数据的正确性。
43、4)本发明采用一个统一的网络配置管理模型,通过预训练与多任务学习等步骤,使得模型具有强大的网络配置知识与语言理解能力,可以完成多种基于文本转换的网络配置管理任务。
1.一种基于预训练模型的网络配置自动化管理方法,其特征在于,该方法包括以下步骤:
2.根据权利要求1所述的一种基于预训练模型的网络配置自动化管理方法,其特征在于,所述步骤2的具体过程如下:
3.根据权利要求1或2所述的一种基于预训练模型的网络配置自动化管理方法,其特征在于,所述步骤3的具体过程如下:
4.根据权利要求1或2所述的一种基于预训练模型的网络配置自动化管理方法,其特征在于,步骤4中,所述网络配置预训练模型使用与bart模型相同的tansformer架构,训练方式如下:
5.根据权利要求3所述的一种基于预训练模型的网络配置自动化管理方法,其特征在于,步骤4中,所述网络配置预训练模型使用与bart模型相同的tansformer架构,训练方式如下:
6.根据权利要求1、2或5所述的一种基于预训练模型的网络配置自动化管理方法,其特征在于,所述步骤5的具体过程如下:
7.根据权利要求3所述的一种基于预训练模型的网络配置自动化管理方法,其特征在于,所述步骤5的具体过程如下:
8.根据权利要求4所述的一种基于预训练模型的网络配置自动化管理方法,其特征在于,所述步骤5的具体过程如下:
9.根据权利要求1、2、5、7或8所述的一种基于预训练模型的网络配置自动化管理方法,其特征在于,步骤6中,所述网络配置预训练模型进行多任务微调的方法如下:
