CN110795529A - 模型管理方法、装置、存储介质及电子设备 - Google Patents
模型管理方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN110795529A CN110795529A CN201910837940.9A CN201910837940A CN110795529A CN 110795529 A CN110795529 A CN 110795529A CN 201910837940 A CN201910837940 A CN 201910837940A CN 110795529 A CN110795529 A CN 110795529A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- data
- target service
- processing platform
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种模型管理方法、装置、存储介质及电子设备,属于人工智能技术领域。该装置包括:检测模块,用于检测当前需要进行模型训练的目标服务;数据准备模块,用于获取进行目标服务的模型训练需要的训练数据;训练调度模块,用于调度数据处理平台优先基于训练数据,分布式训练目标服务的实体抽取模型;训练调度模块,还用于在训练完目标服务的实体抽取模型后,再调度数据处理平台,基于训练数据和当前训练好的实体抽取模型,分别分布式训练目标服务的意图分类模型和槽位抽取模型。本申请实现了自动进行模型训练先后顺序的调度和自动处理模型之间的依赖问题,无需人为参与,省时省力,避免了因人工参与存在的诸如繁琐耗时、容易出错等问题。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种模型管理方法、装置、存储介质及电子设备。
背景技术
随着人工智能技术的快速发展,人工智能技术已经在多个领域展开研究和应用,比如时下流行的智能对话系统即是基于人工智能技术搭建的。其中,NLU(NaturalLanguage Understanding,自然语言理解)模块是智能对话系统进行语义理解的核心,详细来讲,NLU模块通常由实体抽取模型、意图分类模型、和槽位抽取模型组成,而智能对话系统提供的每项服务均对应各自的上述三个模型,其中,智能对话系统提供的服务包括但不限于天气、音乐、票务等。
以用户发起的提问为例,实体抽取模型可以在提问中抽取诸如人名或地名等实体,意图分类模型可以用于识别提问意图,而槽位抽取模型则用于在提问中抽取槽位,槽位即是意图的参数信息。其中,意图分类和槽位抽取的时候均会用到实体抽取的结果。基于以上描述可知,上述模型在智能对话过程中起着至关重要的作用,因此如何管理这些模型就变得十分重要。其中,模型管理包括但不限于模型训练和模型发布。
以任意一项服务的模型训练过程为例,相关技术在人工参与的情况下在三个机器上分别对该项服务的上述三个模型进行单机训练。其中,由于意图分类模型和槽位抽取模型的训练需要依赖实体抽取模型的结果作为特征,所以还需人为调度优先训练实体抽取模型,进而在开始这两个模型的训练之前,再各自人工获取从其他机器上训练完成的实体抽取模型。
针对上述模型管理方式,由于需要人工参与,所以不但耗时耗力,而且较为繁琐复杂和容易出错。为此,如何进行模型管理,使之更好地服务于智能对话系统,成为了本领域技术人员亟待解决的一个问题。
发明内容
本申请实施例提供了一种模型管理方法、装置、存储介质及电子设备,解决了相关技术存在的因需要人工参与进而导致的不但耗时耗力,而且较为繁琐复杂和容易出错的问题。所述技术方案如下:
一方面,提供了一种模型管理装置,所述装置包括:
检测模块,用于检测当前需要进行模型训练的目标服务;
数据准备模块,用于获取进行所述目标服务的模型训练需要的训练数据;
训练调度模块,用于调度数据处理平台优先基于所述训练数据,分布式训练所述目标服务的实体抽取模型;
所述训练调度模块,还用于在训练完所述目标服务的实体抽取模型后,再调度所述数据处理平台,基于所述训练数据和当前训练好的实体抽取模型,分别分布式训练所述目标服务的意图分类模型和槽位抽取模型。
在一种可能的实现方式中,所述检测模块,还用于在接收到服务创建请求后,将所述服务创建请求指示创建的服务,确定为当前需要进行模型训练的目标服务;或,将已创建的服务中存在数据更新的服务,确定为当前需要进行模型训练的目标服务。
在一种可能的实现方式中,所述训练调度模块,还用于在当前需要进行模型训练的目标服务为多项时,并行对所述多项服务进行模型训练。
在一种可能的实现方式中,所述目标服务的意图分类模型和槽位抽取模型的训练过程并行执行。
在一种可能的实现方式中,所述装置还包括:
通知模块,用于向所述多个服务节点推送通知消息,所述通知消息用于指示所述多个服务节点加载最新发布的全量模型。
在一种可能的实现方式中,所述装置还包括:
模型回滚模块,用于当最新发布的全量模型发生错误时,显示模型回滚功能选项;当接收到对所述模型回滚功能选项的选中指令后,执行模型回滚处理,以使所述多个服务器节点当前使用的模型版本回滚到最近可用的一版。
另一方面,提供了一种模型管理方法,所述方法包括:
检测模块,用于检测当前需要进行模型训练的目标服务;
数据准备模块,用于获取进行所述目标服务的模型训练需要的训练数据;
训练调度模块,用于调度数据处理平台优先基于所述训练数据,分布式训练所述目标服务的实体抽取模型;
所述训练调度模块,还用于在训练完所述目标服务的实体抽取模型后,再调度所述数据处理平台,基于所述训练数据和当前训练好的实体抽取模型,分别分布式训练所述目标服务的意图分类模型和槽位抽取模型。
在一种可能的实现方式中,所述检测当前需要进行模型训练的目标服务,包括:
在接收到服务创建请求后,将所述服务创建请求指示创建的服务,确定为当前需要进行模型训练的目标服务;或,
将已创建的服务中存在数据更新的服务,确定为当前需要进行模型训练的目标服务。
在一种可能的实现方式中,所述方法还包括:
在当前需要进行模型训练的目标服务为多项时,并行对所述多项服务进行模型训练。
在一种可能的实现方式中,所述方法还包括:
从所述数据处理平台收集所述目标服务的实体抽取模型、意图分类模型和槽位抽取模型;
将收集到的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中,所述全量模型中包括多项服务的实体抽取模型、意图分类模型和槽位抽取模型;
将当前完成模型合并后的全量模型发布至多个服务节点。
在一种可能的实现方式中,所述目标服务的意图分类模型和槽位抽取模型的训练过程并行执行。
在一种可能的实现方式中,所述方法还包括:在所述数据处理平台上启动所述目标服务的实体抽取模型的训练流程;所述目标服务的实体抽取模型的训练过程,包括:
对于所述训练流程,将所述训练数据中的第一训练数据上传至所述数据处理平台的存储节点;
调用所述数据处理平台中的第一特征提取节点,从所述存储节点中获取所述第一训练数据并对所述第一训练数据进行特征提取;
调用所述数据处理平台中的第一模型训练节点,基于提取到的第一特征数据进行模型训练,得到所述目标服务的实体抽取模型。
在一种可能的实现方式中,所述方法还包括:在所述数据处理平台上启动所述目标服务的意图分类的模型训练流程;所述目标服务的意图分类模型的训练过程,包括:
对于所述训练流程,将所述训练数据中的第二训练数据上传至所述数据处理平台的存储节点;
调用所述数据处理平台中的第二特征提取节点,从所述存储节点中获取所述第二训练数据并对所述第二训练数据进行特征提取;
调用所述数据处理平台中的第二模型训练节点,基于提取到的第二特征数据和当前训练好的实体抽取模型进行模型训练,得到所述目标服务的意图分类模型。
在一种可能的实现方式中,所述方法还包括:在所述数据处理平台上启动所述目标服务的槽位抽取模型的训练流程;所述目标服务的槽位抽取模型的训练过程,包括:
对于所述训练流程,将所述训练数据中的第三训练数据上传至所述数据处理平台的存储节点;
调用数据处理平台中的第三特征提取节点,从所述存储节点中获取所述第三训练数据并对所述第三训练数据进行特征提取;
调用所述数据处理平台中的第三模型训练节点,基于提取到的第三特征数据和当前训练好的实体抽取模型进行模型训练,得到所述目标服务的槽位抽取模型。
在一种可能的实现方式中,所述将当前完成模型合并后的全量模型发布至多个服务节点,包括:
基于模拟验证环境,对当前完成模型合并后的全量模型进行模型效果验证,所述模拟验证环境用于模拟真实线上环境;
当所述当前完成模型合并后的全量模型通过模型效果验证时,将所述当前完成模型合并后的全量模型推送至中转节点,以由所述中转节点将所述当前完成模型合并后的全量模型发布至所述多个服务节点。
在一种可能的实现方式中,所述方法还包括:
向所述多个服务节点推送通知消息,所述通知消息用于指示所述多个服务节点加载最新发布的全量模型。
在一种可能的实现方式中,所述方法还包括:
当最新发布的全量模型发生错误时,显示模型回滚功能选项;
当接收到对所述模型回滚功能选项的选中指令后,执行模型回滚处理,以使所述多个服务器节点当前使用的模型版本回滚到最近可用的一版。
在一种可能的实现方式中,在当前需要进行模型训练的目标服务为多项时,所述方法还包括:
每次将一项服务的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中,并将当前完成模型合并后的全量模型发布至所述多个服务节点;重复执行上述模型合并和发布流程,直至遍历所述多项服务中的每一项服务。
另一方面,提供了一种存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的模型管理方法。
另一方面,提供了一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述的模型管理方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例除了能够自动检测当前需要进行模型训练的目标服务,并获取进行目标服务的模型训练需要的训练数据之外,还基于训练调度模块实现了无需人工参与的自动训练调度,即会调度数据处理平台优先基于训练数据,分布式训练目标服务的实体抽取模型,而在训练完目标服务的实体抽取模型后,再调度数据处理平台,基于训练数据和当前训练好的实体抽取模型,分别分布式训练目标服务的意图分类模型和槽位抽取模型。即,本申请实施例实现了自动进行模型训练先后顺序的调度和自动处理模型之间的依赖问题,无需人为参与调度和人工处理模型之间的依赖,本申请实施例在自动化程度、时效性、方便快捷以及智能化等方面均得到了保证,不但操作方便,而且由于实现了自动化,所以省时省力,避免了因人工参与存在的诸如繁琐耗时、容易出错等问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种智能对话系统对用户提问进行处理的流程示意图;
图2是相关技术进行模型管理的架构示意图;
图3是本申请实施例提供的一种模型管理方法涉及的实施环境的示意图;
图4是本申请实施例提供的一种模型训练调度和发布系统的工作流程的示意图;
图5是本申请实施例提供的一种模型管理方法的流程图;
图6是本申请实施例提供的一种单个模型pipeline流程的示意图;
图7是本申请实施例提供的一种对训练语料进行特征抽取后的特征格式示意图;
图8是本申请实施例提供的一种模型管理方法的流程图;
图9是本申请实施例提供的一种模型发布流程的示意图;
图10是本申请实施例提供的一种任务列表页面的示意图;
图11是本申请实施例提供的一种模型管理方法的流程图;
图12是本申请实施例提供的一种模型回滚页面的示意图;
图13是本申请实施例提供的一种模型管理装置的结构示意图;
图14是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、智能语音助手等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例提供的模型管理方案涉及人工智能的NLU(NatureLanguageUnderstanding,自然语言理解)技术。
其中,AI(Artificial Intelligence,人工智能)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,NLU是NLP(Nature Language processing,自然语言处理)的一个子集,NLU是智能对话系统进行语义理解的核心。作为一个示例,智能对话系统包括但不限于:语音机器人、智能客服或智能语音助手等。而NLP是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。
下面具体通过如下内容对本申请提供的模型管理方案进行说明。
在对本申请实施例进行详细地解释说明之前,先对本申请实施例涉及到的一些缩略语和关键术语进行定义。
实体(Entity):其是NLU系统中的重要概念,广义来来讲,只要是业务需要的特殊词语都可以称之为实体。详细来说,实体的词性一般为名词,实体通常指的是文本中具有特殊意义或指代性非常强的词语。
作为一个示例,实体可以包括诸如人名、地名、机构名、时间、专有名词、产品名等等。比如北京、无间道、刘德华等这些具有特殊意义的词语便是实体。
意图(intent):其是NLU系统中重要的概念,意图代表了用户期望。换一种表达方式,在NLU中意图代表用户想要达到的目的,也即在语言表达中所体现出的“用户想要干什么”。
在本申请实施例中,意图可涵盖多个方面,包括但不限于导航、新闻、赛事、票务、快递、音乐、股市、文学、收听、天气、翻译、闲聊等方面。
作为一个示例,“播放刘德华的冰雨”为music.play意图,即该意图针对音乐方面;而“查看北京天气”为weather.search意图,即该意图针对天气方面;而“听有声小说”为fm.play意图,即该意图针对收听方面。
槽位:其是NLU系统中重要的概念。在NLU中意图可以由槽位来表达,槽位即是意图的参数信息。
作为一个示例,比如针对query(提问)“我想听刘德华的冰雨”,“singer=刘德华,song=冰雨”即是槽位,分别为一个歌手槽位和一个歌曲槽位。
技能:又称为服务。在本申请实施例中,技能即指代智能机器人、智能客服或智能语音助手所提供的各种各样的服务。其中,技能与意图对应,技能同样涵盖导航、新闻、赛事、票务、快递、音乐、股市、文学、收听、天气、翻译、闲聊等方面,即拥有上述技能的智能机器人、智能客服或智能语音助手可以提供上述提及的诸如导航服务、新闻服务、赛事服务、翻译服务等。
需要说明的是,每项服务分别对应各自的实体抽取模型、意图分类模型和槽位抽取模型。即,每项服务均对应有上述三个模型。
实体字典:实体组成了实体字典,即实体字典属于实体的集合。
其中,在NLU中通常会遇到大量的实体数据,比如实体的总数量达到百万级,例如300W+,面对如此大量的实体数据,为了在空间和时间上尽量达到最优的效果,实体字典还需按照一定的规则来组织实体。在本申请实施中,通常使用开源的darts来建立实体字典,其中,darts一种高效且静态实现的双数组后缀树结构,而采用双数组后缀树结构来建立实体字段不但能够节省大量的空间,而且实体字典的建立速度和在实体字典中查找实体的速度都非常快。
实体抽取模型:实体抽取即是在一段自然语言文本中找出实体。比如在用户发起的提问中找出实体。而实体的抽取便是由实体抽取模型完成。
意图分类模型:意图分类即是将一段自然语言文本分到相应的意图种类。举例来说,针对query“我想听***的歌”,这个query的意图便是属于音乐意图,而针对query“我想听###的相声”,这个query的意图便是属于收听意图。而意图的分类便是由意图分类模型完成。
槽位抽取模型:槽位抽取即是在一段语言文本中抽取槽位。举例来说,针对query“今天北京的天气怎么样”,从这个query中可以抽取到时间槽位-今天和地点槽位-北京。而槽位的抽取便是由槽位抽取模型完成。
任务型对话系统:在本申请实施例中,任务型对话系统指代的是在特定条件下提供对话服务的智能对话系统。通常情况下,任务型对话系统是为了满足带有明确目的的用户,例如查流量,查话费,订餐,订票,咨询等任务型场景。
通常情况下,智能对话系统对于用户发起的提问一般采用图1所述的流程进行处理,即在对用户发起的提问进行前期处理后,依次通过实体抽取模型、意图分类模型和槽位抽取模型进行处理,即这三个模型串联在一起运行。由于上述模型是智能对话系统进行语义理解的核心,所以对上述模型的管理十分重要。其中,对上述模型的管理包括但不限于模型训练和模型发布,而包括上述模型的NLU模块在首次训练完成后,后续通常会进行多次训练更新,比如技能创建者会更改、更新技能的训练语料,丰富技能的具体功能等等操作。
如前文所述,参见图2,对于智能对话系统提供的任意一项服务来讲,相关技术对该项服务的上述三个模型的训练采取人工介入的单独训练方式,即在人工参与的情况下在三个机器上分别对上述三个模型进行单机训练,且在每台机器上完成各自的模型训练后,分别各自将训练好的模型合并至全量模型中。其中,全量模型即为模型集合,智能对话系统的NLU模块即对应该模型集合。另外,针对意图分类模型和槽位抽取模型,由于这两个模型的训练需要依赖实体抽取模型,所以还需人为调度优先训练实体抽取模型,进而后续过程中在开始这两个模型的训练之前,再各自人工获取这两个模型所依赖的实体抽取模型。另外,针对模型发布过程也采取手工发布的方式。
相关技术的模型管理方式,需要人工进行调度以决定模型的先后训练顺序以及人工确定意图分类模型和槽位抽取模型所依赖的实体抽取模型,所以不但耗时耗力,而且较为繁琐复杂和容易出错。比如,会导致NLU模块进行一次训练更新的周期较长。另外,由于模型各自训练各自合并,所以还容易出现内部模型之间版本不一致的问题,比如在获取意图分类模型和槽位抽取模型所依赖的实体抽取模型时,本来意图分类模型和槽位抽取模型是需要依赖最新版本的实体抽取模型的,但是由于人为疏忽,却获取了较老版本的实体抽取模型进行上述两个模型的训练。另外,由于对每个模型的训练均采取人为隔离的单机训练方式,所以模型训练耗时较长,从而也限制了模型训练更新的频率。另外,手工进行模型发布不但繁琐容易出错,同样会限制模型训练更新和发布至线上的频率。
综上所述,相关技术的模型管理方式由于涉及大量人工参与和各自进行单机训练,所以在自动化程度、时效性、方便快捷以及智能化等方面均存在不足,为此,本申请实施例提供了一种新的模型管理方案,能够解决模型训练时的依赖问题、先后训练顺序问题、模型合并问题、以及最终模型发布上线问题等等。
下面对本申请实施例提供的模型管理方案涉及的实施环境进行介绍说明。
参见图3,该实施环境包括终端301、服务节点302和模型管理设备303。其中,模型管理设备303负责训练并发布智能对话系统中的NLU模块,NLU模块涉及实体抽取模型、意图分类模型和槽位抽取模型,其中,模型管理设备303将模型发布至服务节点302,以协助智能对话系统向终端301提供智能对话服务。
比如,用户通过终端301可以向智能对话系统发起针对诸如导航、新闻、赛事、票务、快递、音乐、股市、文学、收听、天气、翻译、闲聊等方面的提问,而智能对话系统可以基于发布在服务节点302上的模型进行语义理解,进而智能对话系统生成与用户发起的提问相应的回答并返回给用户。
终端301的类型包括但不限于智能手机、平板电脑等。服务节点302可为多地多点部署,而模型管理设备303的类型可以为固定式计算机,本申请实施例对此不进行具体限定。模型管理设备303上配置有模型管理系统,用于执行本申请实施例提供的模型管理方法,即模型管理设备303负责在完成模型训练后将模型发布至服务节点302。需要说明的是,由于模型管理在本申请实施例中涉及模型训练过程和模型发布过程,所以上述模型管理系统在本文中也称之为模型训练调度和发布系统。
下面结合图4对该模型训练调度和发布系统的工作流程进行简单介绍。
参见图4,该系统主要分为模型训练调度和模型发布两大部分。其中,在检测到当前需要进行模型训练的服务(比如音乐、天气、票务等技能)后,模型训练调度部分会在完成前期数据准备工作后,自动进入到模型训练流程。
针对模型训练流程,模型训练调度部分可以自动进行模型训练先后顺序的调度,即模型训练调度部分会调度数据处理平台优先训练实体抽取模型,在训练完成实体抽取模型后,再调度数据处理平台分别训练意图分类模型和槽位抽取模型。
其中,上述数据处理平台为分布式数据处理平台,包含spark、TensorFlow、PyTorch等机器学习组件,并由统一网络界面供用户以流程图的方式创建数据处理流程。
另外,该系统的整个模型训练流程借助数据处理平台提供的计算资源,在数据处理平台上统一完成。在本申请实施例中,模型训练过程可以并发执行,即,该系统支持多个训练流程同时运行,其中,每个训练流程用于训练一项服务的上述三个模型。另外,对于任意一项服务的上述三个模型,该系统借助数据处理平台进行分布式训练,即三个模型的内部训练过程采用分布式训练方式。相较于每个模型单独的单机训练方式,大大缩短了训练耗时。
另外,模型训练调度部分还能够自动处理模型之间的依赖问题,比如在数据处理平台上完成实体抽取模型的训练之后,可以先将训练完成的实体抽取模型暂存在数据处理平台,在这三个模型全部训练完成后,模型训练调度部分再从数据管理平台处收集训练好的三个模型至本地。由于三个模型的训练均在数据处理平台上进行,所以数据处理平台可以直接拿到意图分类模型和槽位抽取模型所依赖的实体分类模型,能够保证模型之间的依赖关系不出错,使得意图分类模型和槽位抽取模型能够依赖到最新版本的实体抽取模型。
针对模型发布流程,在将训练好的模型合并至作为模型集合的全量模型后,本申请实施例还可进行模型效果验证,在通过模型效果验证后,模型发布部分自动进行模型发布,不需要人工介入。其中,全量模型中包括多项服务的实体抽取模型、意图分类模型和槽位抽取模型。
基于以上描述可知,该模型训练调度和发布系统为自动化管理调度系统,即,正常的模型训练和发布流程无需人工参与,该系统可以自动开启模型训练、模型收集、模型合并、模型自检、模型发布等一系列流程。也即,本申请实施例在自动化程度、时效性、方便快捷以及智能化等方面均得到了保证,避免了因人工参与存在的诸如繁琐耗时、容易出错等问题。下面结合图4,通过以下实施例对本申请实施例提供的模型管理方法进行详细地解释说明。
需要说明的是,下述出现的诸如第一、第二、第三、第四等描述,仅是为了区分不同的对象,而不构成其他任何的限定。
图5是本申请实施例提供的一种模型管理方法的流程图。该方法的执行主体为图3中所示的模型管理设备,该模型管理设备上配置为模型调度和发布系统。参见图5,本申请实施例提供的方法流程包括:
模型训练调度部分
501、检测当前需要进行模型训练的目标服务。
本申请实施例支持同时运行多个训练流程,即在当前需要进行模型训练的服务为多项时,可以启动多个训练任务并行对多项服务进行模型训练。本实施例仅是以一个训练流程为例对模型训练调度流程和模型发布流程进行说明。
本步骤可以周期性地进行。即,该系统可以周期性地检测当前否存在需要进行模型训练的服务。作为一个示例,检测周期可以为3个小时,本申请实施例对此不进行具体限定。其中,本申请实施例将需要进行模型训练的服务统称为目标服务,另外,此处所称的一项服务也可称之为一项技能。
在一种可能的实现方式中,一项服务的模型训练对应一个训练流程也即对应一个训练任务,而系统的一次模型训练可能包括多个训练流程,每个训练流程用于训练一项服务的上述三个模型。
在本申请实施例中,检测当前是否存在需要进行模型训练的服务,包括但不限于下述两种情形:
第一种情形、检测当前已创建的服务中是否存在数据更新的服务;如果有,则将已创建的服务中存在数据更新的服务,确定为当前需要进行模型训练的目标服务。
需要说明的是,在本申请实施例中,已创建的服务指代已进行过模型训练的服务,而未创建的服务指代从未进行过模型训练的服务。
如图4所示,该种情况即对应技能平台上存储的数据有更新的情况。其中,技能平台用于存储各项服务(技能)的相关数据,比如训练语料、实体等。作为一个示例,当已创建的服务有数据更新,比如更新了训练语料时,会将存在数据更新的已创建的服务,作为当前需要进行模型训练的目标服务,即启动对该服务的模型更新流程。
第二种情形、在接收到服务创建请求后,将该服务创建请求指示创建的服务,确定为当前需要进行模型训练的目标服务。
针对该种情形,本申请实施例还支持人工启动一项训练任务,本申请实施例还支持人为触发训练流程,以保证智能对话系统提供的一项新服务尽快生效。
502、获取进行目标服务的模型训练需要的训练数据。
在本申请实施例中,在确定了当前需要进行模型训练的服务之后,该系统便会进行训练开始之前的准备工作,即收集模型训练流程中所使用的数据,以便开始相应服务的模型训练流程。
作为一个示例,前期准备会准备诸如规则信息、实体字典、训练语料等。其中,规则信息也可称之为规则字典,可以定义很多语法规则,即表达某种特定意思的具体方式,根据规则信息可以去解析用户发起的提问。比如规则信息中可以规定日期的具体表达形式,然后根据规则信息可以抽取用户发起的提问中的日期相关信息。
而实体字典即是由实体组成,即实体字典属于实体的集合。在准备工作中最重要的就是创建最新的实体字典。其中,在NLU中通常会遇到大量的实体数据,比如实体的总数量达到百万级,例如300W+,面对如此大量的实体数据,为了在空间和时间上尽量达到最优的效果,实体字典还需按照一定的规则来组织实体。在本申请实施中,通常使用开源的darts来建立实体字典,其中,darts一种高效且静态实现的双数组后缀树结构,而采用双数组后缀树结构来建立实体字段不但能够节省大量的空间,而且实体字典的建立速度和在实体字典中查找实体的速度都非常快。
需要说明的是,用于进行下述模型训练的训练语料均为已标注好的训练语料。比如,训练语料均已经事先完成了槽位标注。
503、调度数据处理平台优先基于前期准备好的训练数据,分布式训练目标服务的实体抽取模型;在训练完目标服务的实体抽取模型后,再调度数据处理平台,基于该训练数据和当前训练好的实体抽取模型,分别分布式训练目标服务的意图分类模型和槽位抽取模型。
在准备工作完成后开始具体的模型训练流程,如图4所示,由于实体抽取模型既是单独模型,同时实体抽取模型的结果又被后续意图分类模型和槽位抽取模型依赖,所以在本申请实施例中优先调度数据处理平台分布式训练实体抽取模型,在完成实体抽取模型的训练后,再分布式训练另外两个模型。即,对于上述三个模型的训练本申请实施例均采取分布式训练方式。
而之所以需优先训练实体抽取模型后训练另外两个模型,是因为意图分类模型和槽位抽取模型均需要使用到实体抽取模型的最新特征。在一种可能的实现方式中,参见图4,可以调用数据处理平台,并行训练意图分类模型和槽位抽取模型并发训练,以减少训练更新的耗时。
作为一个示例,3个模型内部的训练流程可以在数据处理平台上采用分布式pipeline(管道)的方式实现,如图6所示,图中第一个节点为数据处理平台提供的入口,用于开启一个具体的模型pipeline流程;第二个节点为上传训练数据至数据处理平台提供的存储节点保存,以供后续spark节点和TF节点可以分布式的进行数据读取;第三个节点为spark节点,也可称之为特征抽取模块,如图7所示,该节点负责将训练语料转化为训练相应模型所需的特征格式;第四个节点为TF组件,负责具体的模型训练。
需要说明的第一点是,上述存储节点可以为ceph文件系统,本申请实施例对此不进行具体限定。
需要说明的第二点是,实体抽取模型、意图分类模型和槽位抽取模型均按照图6所述的pipeline流程在数据处理平台上完成模型训练。
基于以上描述可知,本申请实施例通过调度数据处理平台,在数据处理平台上完成模型训练过程。下面结合图6对目标服务的上述三个模型的训练过程进行详细说明。
针对实体抽取模型,在数据处理平台上启动目标该服务的实体抽取模型的pipeline流程;其中,该实体抽取模型的训练过程,包括:对于该训练流程,将前期准备好的训练数据中的第一训练数据上传至数据处理平台的存储节点;数据处理平台中的第一特征提取节点,从存储节点中获取第一训练数据并对第一训练数据进行特征提取;数据处理平台中的第一模型训练节点,基于提取到的第一特征数据进行模型训练,得到该目标服务的实体抽取模型。
在一种可能的实现方式中,上述第一训练数据指代训练语料,另外,还可以将用于训练实体抽取模型的规则信息和实体字典也一并上传至存储节点,进而由上述第一模型训练节点从存储节点上获取规则信息和字体字典,进而基于取到的第一特征数据、规则信息和实体字典完成实体抽取模型的训练,本申请实施例对此不进行具体限定。
针对意图分类模型,在数据处理平台上启动该目标服务的意图分类的模型pipeline流程;其中,该意图分类模型的训练过程,包括:
对于该训练流程,将前期准备好的训练数据中的第二训练数据上传至数据处理平台的存储节点;数据处理平台中的第二特征提取节点,从存储节点中获取第二训练数据并对第二训练数据进行特征提取;数据处理平台中的第二模型训练节点,基于提取到的第二特征数据和当前训练好的实体抽取模型进行模型训练,得到该目标服务的意图分类模型。
需要说明的是,第一训练数据、第二训练数据和第三训练数据包含的训练语料数量通常是不同的。作为一个示例,用于训练实体抽取模型的第一训练数据包括的训练语料数量是最多的,用于训练意图分类模型的第二训练数据包括的训练语料数量是次之,用于训练槽位抽取模型的第三训练数据包括的训练语料数量是最少的,本申请实施例对此不进行具体限定。
针对槽位抽取模型,在数据处理平台上启动该目标服务的槽位抽取模型的pipeline流程;其中,槽位抽取模型的训练过程,包括:
对于该训练流程,将前期准备好的训练数据中的第三训练数据上传至数据处理平台的存储节点;数据处理平台中的第三特征提取节点,从存储节点中获取第三训练数据并对第三训练数据进行特征提取;数据处理平台中的第三模型训练节点,基于提取到的第三特征数据和当前训练好的实体抽取模型进行模型训练,得到该目标服务的槽位抽取模型。
以上完成了在数据处理平台进行一项服务的模型训练的过程。而在完成模型训练后,本申请实施例还会将每个pipeline训练完的模型从数据处理平台收集到本地,以为下一步模型发布做准备。即,参见图8,本申请实施例还包括下述步骤504。
504、从数据处理平台收集目标服务的实体抽取模型、意图分类模型和槽位抽取模型。
如图4所示,模型管理设备可分别从每个pipeline收集训练好的模型至本地,包括训练好的实体抽取模型、意图分类模型和槽位抽取模型,之后便会开始模型自动发布流程,详见下述步骤505。
模型发布部分
505、将收集到的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中,并将当前完成模型合并后的全量模型发布至多个服务节点。
本步骤即是将完成训练更新的模型发布至线上,提供最新的线上服务。在本申请实施例中,全量模型中包括多项服务的实体抽取模型、意图分类模型和槽位抽取模型。即,全量模型为各项服务的上述三个模型的集合。其中,由于每一项服务均对应各自的三个模型,所以全量模型中包括多个实体抽取模型、多个意图分类模型和多个槽位抽取模型,其中,每一个实体抽取模型、每一个意图分类模型和每一个槽位抽取模型均对应不同的服务。
在一种可能的实现方式中,本申请实施例在上线发布时采取全量发布方式,即将全量模型发布至线上。
需要说明的是,在对任意一项服务完成模型训练并将训练好的模型合并至全量模型后,均会带来全量模型版本的更新。而在新版本的全量模型中,该项服务的实体抽取模型、意图分类模型和槽位抽取模型均为最新版本。
另外,多个服务节点可为对地多点部署形式,作为一个示例,以线上服务部署在taf平台为例,则上述多个服务节点为taf平台的每个NLU-SERVER(语义服务模块)。
本申请实施例提供的模型管理方式至少具有以下有益效果:
针对模型训练流程,模型训练调度部分可以自动进行模型训练先后顺序的调度,即模型训练调度部分会调度数据处理平台优先训练实体抽取模型,在训练完成实体抽取模型后,再调度数据处理平台分别训练意图分类模型和槽位抽取模型,无需人为参与调度,实现了自动化。
另外,模型训练调度部分还能够自动处理模型之间的依赖问题,即将大量的模型依赖固化到系统内部自动化处理,无需人工参与。比如,在数据处理平台上完成实体抽取模型的训练之后,可以先将训练完成的实体抽取模型暂存在数据处理平台,在这三个模型全部训练完成后,模型训练调度部分再从数据管理平台处收集训练好的三个模型至本地。由于三个模型的训练均在数据处理平台上进行,所以数据处理平台可以直接拿到意图分类模型和槽位抽取模型所依赖的实体分类模型,能够保证模型之间的依赖关系不出错,使得意图分类模型和槽位抽取模型能够依赖到最新版本的实体抽取模型。
另外,针对模型训练流程来说不同训练任务之间可并行,也即模型训练过程可以并发执行,换一种表达方式,该系统支持多个训练流程同时运行,其中,每个训练流程用于训练一项服务的上述三个模型。另外,对于任意一项服务的上述三个模型,该系统借助数据处理平台进行分布式训练,即三个模型的内部训练过程采用分布式训练方式,且意图分类模型和槽位抽取模型的训练可并行执行,相较于每个模型单独的单机训练方式,大大缩短了训练耗时。比如,相较于相关技术训练时长缩短了近15倍,进而在任意一项服务被新创建后,创建的用户可以快速体验到新服务的模型效果。比如,模型更新速度可以由之前的一周一次变成每天更新十几次。
基于以上描述可知,本申请实施例在自动化程度、时效性、方便快捷以及智能化等方面均得到了保证,不但操作方便,而且由于实现了自动化,所以省时省力,避免了因人工参与存在的诸如繁琐耗时、容易出错等问题。
另外,本申请实施例提供的自动化管理方案,也对模型优化流程提供的极大的便利。针对模型优化来讲,相关实验人员可以仅关注于模型优化,而无需考虑模型之间的依赖问题,将其从繁重的琐碎中解放出来,使之专注自己的优化工作。换一种表达方式,该模型训练调度和发布系统还考虑到实验人员优化模型的实验需求,自动处理模型之间的依赖问题,将实验人员从繁重的琐碎中解放出来,专注自己的优化工作,减轻了相关开发人员的实验负担,使其更加聚焦模型效果优化本身。即,针对模型优化的实验场景,可以为相关实验人员提供一键式工具,这样相关开发人员可能只需要输入几个参数便可以进行相关实验,举例来说,优化意图分类模型效果的实验人员不用再关注其对于实体抽取模型的依赖,模型之间的依赖问题该系统自动处理(槽位抽取模型的效果优化也类似)。
在另一个实施例中,针对模型发布部分,上述步骤505又可以进一步地细分为图4中所示的模型发布流程。下面结合图4,继续以一个训练流程为例,对步骤505进行进一步地解释说明,即参见图9,步骤505包括如下步骤。
5051、将收集到的关于目标服务的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中。
该步骤即对应图4中的模型合并,模型训练调度部分在从数据处理平台的3个pipeline将训练得到的实体抽取模型、意图分类模型和槽位抽取模型收集到本地后,会开始模型的自动发布流程。针对模型发布部分,首先将训练好的上述三个模型合并到全量模型中。
5052、基于模拟验证环境,对当前完成模型合并后的全量模型进行模型效果验证,其中,模拟验证环境用于模拟真实线上环境。
该步骤即对应图4中的上线前模型效果自动验证,即在上线发布完成模型合并后的最新版本的全量模型之前,还可以将最新版本的全量模型送到模拟验证环境,在预先收集的多个测试集上检测模型效果,判断最新版本的全量模型是否达到预期;如果达到预期,则执行下述步骤5053;如果未达到预期,则执行下述步骤5055。
5053、如果当前完成模型合并后的全量模型通过模型效果验证,则将当前完成模型合并后的全量模型作为最新版本的全量模型推送至中转节点,以由中转节点将当前完成模型合并后的全量模型发布至多个服务节点。
作为一个示例,以模型发布部分服务于taf平台上部署的NLU-SERVER为例,则本步骤可以采用与之配合的ceph文件系统作为中转节点,即通过ceph文件系统中转,将最新版本的全量模型推送至每台NLU-SERVER上。
5054、向多个服务节点推送通知消息,该通知消息用于指示多个服务节点加载最新发布的全量模型。
在本申请实施例中,服务器节点的加载方式可以为热加载,本申请实施例对此不进行具体限定。作为一个示例,在完全最新版本的全量模型推送后,模型发布部分可以依次通知每台NLU-SERVER热加载最新发布的模型,至此完成一次模型推送发布的流程。
5055、如果当前完成模型合并后的全量模型未通过模型效果验证,则进入人工介入流程。
在本申请实施例中,如果最新版本的全量模型未达到预期,则中断发布流程进入人工介入流程。作为一个示例,可采取诸如邮件、短信等方式通知相关开发人员介入进行模型分析,以自检产生的badcase。换一种表达方式,针对该种方式,还需人工判断本次模型是否可以推送上线;如果可以推送上线,则再次发起模型推送上线的流程。
在另一种可能的实现方式中,当模型发布过程中出现失败而被中断发布流程时,也会进入上述的人工介入流程。其中,图10示出了发布任务列表页面,其中,每一个信息条目示出了一个发布任务的相关信息。通常情况下,一个发布任务对应一个训练任务,而一个训练任务对应一项技能。
在另一种可能的实现方式中,若一次训练包含多项服务的模型,则也可以挑选其中模型效果达标的服务的模型优先发布,而中断发布模型效果未达标的服务的模型,以等待人工判断结果。
针对模型发布流程,每次模型发布的流程引入自动化效果验证,保证了问题模型不会被带上线而影响线上系统效果。即,在将训练好的模型合并至作为模型集合的全量模型后,本申请实施例还可进行模型效果验证,在通过模型效果验证后,模型发布部分自动进行模型发布,不需要人工介入。
在另一个实施例中,本申请实施例支持同时运行多个训练流程,即在当前需要进行模型训练的服务为多项时,可以启动多个训练任务并行对多项服务进行模型训练。换一种表达方式,在模型训练调度部分多个训练流程可以并行执行,但是在模型发布部分,为了避免线上模型的版本出现不一致的情况,模型发布还需串行执行,即如果一次训练得到的是多个服务的模型,则对于每个服务,还需串行进行模型合并以及线上发布。作为一个示例,可以通过使用数据库分布式锁来处理并行串行之间的调控,本申请实施例对此不进行具体限定。
需要说明的是,模型发布之所以采用串行方式,而非并行方式,是因为本申请实施例采取全量发布方式,如果并行进行模型发布可能会出现线上模型的版本不一致。举例俩说,假设天气服务的模型发布和音乐服务的模型发布并行执行,那么在将包括最新版本天气服务模型的全量模型发布至线上后,若同时将包括最新版本音乐服务模型的全量模型发布至线上,则由于此时全量模型中包括的还是老版本的天气服务模型,所以在将这个版本的全量模型发布后,会将之前发布的模型覆盖掉。
参见图11,以一次训练进行多项服务的模型训练为例,则本申请实施例还包括下述方法流程:
1101、检测当前需要进行模型训练的目标服务。
本步骤同前述步骤501。
1102、当目标服务为多项时,启动多个训练任务并行对该多项服务进行模型训练。
其中,一个训练任务对应一个训练流程。即,本申请实施例支持同时运行多个训练流程。其中,对于每一向服务的模型训练过程可参考前述步骤502和步骤503。
1103、从数据处理平台收集该多项服务的实体抽取模型、意图分类模型和槽位抽取模型。
1104、每次将一项服务的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中,并将当前完成模型合并后的全量模型发布至多个服务节点。
1105、重复执行上述模型合并和发布流程,直至遍历该多项服务中的每一项服务。
针对上述步骤1104和步骤105,也即是在将任意一项服务的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型并成功发布当前合并完成的全量模型之后,再将另一项服务的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型并发布当前合并完成后的全量模型,以此类推,直至遍历多项服务中的每一项服务。
在另一个实施例中,本申请实施例还考虑一种极端情况,当线上突发问题需要模型整体回滚时,本申请实施例还提供了一键回滚功能,能够实现在3至5分钟内将线上模型回滚到最近一版可用状态,快速恢复线上服务。详细来讲,当最新发布的全量模型发生错误时,该系统会如图12所示在模型回滚页面显示模型回滚功能选项;当该系统接收到对模型回滚功能选项的选中指令后,执行模型回滚处理,以使多个服务器节点当前使用的模型版本回滚到最近可用的一版,另外,还可人工触发线上模型回滚后的热加载恢复流程,使得各个服务节点热加载最近可用的一版线上模型。
在另一个实施例中,本申请实施例除了以上所述的实现方式之外,还包括下述可选方式:
针对模型训练调度部分,除了采用静态双数组后缀树结构darts之外,还可采用当前更为先进的动态实现cedar,即C++Trie树。
针对模型发布部分,训练好的模型除了服务于taf平台上部署的NLU-SERVER以及采用与之配合的ceph文件系统作为中转节点之外,还可以将线上服务部署在云计算平台,并使用云计算平台的COS(Cloud Object Storage,云对象存储)服务作为中转节点。
图13是本申请实施例提供的一种模型管理装置的结构示意图。参见图13,该装置包括:检测模块1301、数据准备模块1302和训练调度模块1303。
其中,检测模块1301,用于检测当前需要进行模型训练的目标服务;数据准备模块1302,用于获取进行所述目标服务的模型训练需要的训练数据;训练调度模块1303,用于调度数据处理平台优先基于所述训练数据,分布式训练所述目标服务的实体抽取模型;训练调度模块1303,还用于在训练完所述目标服务的实体抽取模型后,再调度所述数据处理平台,基于所述训练数据和当前训练好的实体抽取模型,分别分布式训练所述目标服务的意图分类模型和槽位抽取模型。
在本申请实施例中,上述检测模块1301、数据准备模块1302和训练调度模块1303应用在图4所示的模型训练调度和发布系统中的模型训练调度部分。
本申请实施例提供的装置,除了能够自动检测当前需要进行模型训练的目标服务,并获取进行目标服务的模型训练需要的训练数据之外,还基于训练调度模块实现了无需人工参与的自动训练调度,即会调度数据处理平台优先基于训练数据,分布式训练目标服务的实体抽取模型,而在训练完目标服务的实体抽取模型后,再调度数据处理平台,基于训练数据和当前训练好的实体抽取模型,分别分布式训练目标服务的意图分类模型和槽位抽取模型。基于以上描述可知,针对模型训练流程,本申请实施例实现了自动进行模型训练先后顺序的调度和自动处理模型之间的依赖问题,无需人为参与调度和人工处理模型之间的依赖问题,本申请实施例在自动化程度、时效性、方便快捷以及智能化等方面均得到了保证,不但操作方便,而且由于实现了自动化,所以省时省力,避免了因人工参与存在的诸如繁琐耗时、容易出错等问题。
在一种可能的实现方式中,检测模块1301,还用于在接收到服务创建请求后,将所述服务创建请求指示创建的服务,确定为当前需要进行模型训练的目标服务;或,将已创建的服务中存在数据更新的服务,确定为当前需要进行模型训练的目标服务。
在一种可能的实现方式中,训练调度模块1303,还用于在当前需要进行模型训练的目标服务为多项时,并行对所述多项服务进行模型训练。
在一种可能的实现方式中,该装置还包括:
收集模块1304,用于从所述数据处理平台收集所述目标服务的实体抽取模型、意图分类模型和槽位抽取模型;
合并模块1305,用于将收集到的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中,所述全量模型中包括多项服务的实体抽取模型、意图分类模型和槽位抽取模型;
发布模块1306,用于将当前完成模型合并后的全量模型发布至多个服务节点。
其中,收集模块1304、合并模块1305和发布模块1306应用在图4所示的模型训练调度和发布系统中的模型发布部分。
在一种可能的实现方式中,所述目标服务的意图分类模型和槽位抽取模型的训练过程并行执行。
在一种可能的实现方式中,训练调度模块1303,还用于在所述数据处理平台上启动所述目标服务的实体抽取模型的训练流程;
训练调度模块1303,还用于对于所述训练流程,将所述训练数据中的第一训练数据上传至所述数据处理平台的存储节点;调用所述数据处理平台中的第一特征提取节点,从所述存储节点中获取所述第一训练数据并对所述第一训练数据进行特征提取;调用所述数据处理平台中的第一模型训练节点,基于提取到的第一特征数据进行模型训练,得到所述目标服务的实体抽取模型。
在一种可能的实现方式中,训练调度模块1303,还用于在所述数据处理平台上启动所述目标服务的意图分类的模型训练流程;
训练调度模块1303,还用于对于所述训练流程,将所述训练数据中的第二训练数据上传至所述数据处理平台的存储节点;调用所述数据处理平台中的第二特征提取节点,从所述存储节点中获取所述第二训练数据并对所述第二训练数据进行特征提取;调用所述数据处理平台中的第二模型训练节点,基于提取到的第二特征数据和当前训练好的实体抽取模型进行模型训练,得到所述目标服务的意图分类模型。
在一种可能的实现方式中,训练调度模块1303,还用于在所述数据处理平台上启动所述目标服务的槽位抽取模型的训练流程;
训练调度模块1303,还用于对于所述训练流程,将所述训练数据中的第三训练数据上传至所述数据处理平台的存储节点;调用数据处理平台中的第三特征提取节点,从所述存储节点中获取所述第三训练数据并对所述第三训练数据进行特征提取;调用所述数据处理平台中的第三模型训练节点,基于提取到的第三特征数据和当前训练好的实体抽取模型进行模型训练,得到所述目标服务的槽位抽取模型。
在一种可能的实现方式中,该装置还包括:
验证模块1307,用于基于模拟验证环境,对当前完成模型合并后的全量模型进行模型效果验证,所述模拟验证环境用于模拟真实线上环境;
发布模块1306,还用于当所述当前完成模型合并后的全量模型通过模型效果验证时,将所述当前完成模型合并后的全量模型推送至中转节点,以由所述中转节点将所述当前完成模型合并后的全量模型发布至所述多个服务节点。
在本申请实施例中,验证模块1307应用在图4所示的模型训练调度和发布系统中的模型训练调度部分。
在一种可能的实现方式中,该装置还包括:
通知模块1308,用于向所述多个服务节点推送通知消息,所述通知消息用于指示所述多个服务节点加载最新发布的全量模型。
在一种可能的实现方式中,该装置还包括:
模型回滚模块1309,用于当最新发布的全量模型发生错误时,显示模型回滚功能选项;当接收到对所述模型回滚功能选项的选中指令后,执行模型回滚处理,以使所述多个服务器节点当前使用的模型版本回滚到最近可用的一版。
在一种可能的实现方式中,在当前需要进行模型训练的目标服务为多项时,合并模块1305,还用于每次将一项服务的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中,发布模块1306将当前完成模型合并后的全量模型发布至所述多个服务节点;
合并模块1305和发布模块1306,还用于重复执行上述模型合并和发布流程,直至遍历所述多项服务中的每一项服务。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的模型管理装置在进行模型管理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模型管理装置与模型管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图14是本申请实施例提供的一种电子设备的结构示意图,该电子设备1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1401和一个或一个以上的存储器1402,其中,所述存储器1402中存储有至少一条指令,所述至少一条指令由所述处理器1401加载并执行以实现上述各个方法实施例提供的模型管理方法。当然,该电子设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备中的处理器执行以完成上述实施例中的模型管理方法。例如,所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种模型管理装置,其特征在于,所述装置包括:
检测模块,用于检测当前需要进行模型训练的目标服务;
数据准备模块,用于获取进行所述目标服务的模型训练需要的训练数据;
训练调度模块,用于调度数据处理平台优先基于所述训练数据,分布式训练所述目标服务的实体抽取模型;
所述训练调度模块,还用于在训练完所述目标服务的实体抽取模型后,再调度所述数据处理平台,基于所述训练数据和当前训练好的实体抽取模型,分别分布式训练所述目标服务的意图分类模型和槽位抽取模型。
2.根据权利要求1所述的装置,其特征在于,所述装置还包括:
收集模块,用于从所述数据处理平台收集所述目标服务的实体抽取模型、意图分类模型和槽位抽取模型;
合并模块,用于将收集到的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中,所述全量模型中包括多项服务的实体抽取模型、意图分类模型和槽位抽取模型;
发布模块,用于将当前完成模型合并后的全量模型发布至多个服务节点。
3.根据权利要求1或2所述的装置,其特征在于,所述训练调度模块,还用于在所述数据处理平台上启动所述目标服务的实体抽取模型的训练流程;
所述训练调度模块,还用于对于所述训练流程,将所述训练数据中的第一训练数据上传至所述数据处理平台的存储节点;调用所述数据处理平台中的第一特征提取节点,从所述存储节点中获取所述第一训练数据并对所述第一训练数据进行特征提取;调用所述数据处理平台中的第一模型训练节点,基于提取到的第一特征数据进行模型训练,得到所述目标服务的实体抽取模型。
4.根据权利要求1或2所述的装置,其特征在于,所述训练调度模块,还用于在所述数据处理平台上启动所述目标服务的意图分类的模型训练流程;
所述训练调度模块,还用于对于所述训练流程,将所述训练数据中的第二训练数据上传至所述数据处理平台的存储节点;调用所述数据处理平台中的第二特征提取节点,从所述存储节点中获取所述第二训练数据并对所述第二训练数据进行特征提取;调用所述数据处理平台中的第二模型训练节点,基于提取到的第二特征数据和当前训练好的实体抽取模型进行模型训练,得到所述目标服务的意图分类模型。
5.根据权利要求1或2所述的装置,其特征在于,所述训练调度模块,还用于在所述数据处理平台上启动所述目标服务的槽位抽取模型的训练流程;
所述训练调度模块,还用于对于所述训练流程,将所述训练数据中的第三训练数据上传至所述数据处理平台的存储节点;调用数据处理平台中的第三特征提取节点,从所述存储节点中获取所述第三训练数据并对所述第三训练数据进行特征提取;调用所述数据处理平台中的第三模型训练节点,基于提取到的第三特征数据和当前训练好的实体抽取模型进行模型训练,得到所述目标服务的槽位抽取模型。
6.根据权利要求2所述的装置,其特征在于,所述装置还包括:
验证模块,用于基于模拟验证环境,对当前完成模型合并后的全量模型进行模型效果验证,所述模拟验证环境用于模拟真实线上环境;
所述发布模块,还用于当所述当前完成模型合并后的全量模型通过模型效果验证时,将所述当前完成模型合并后的全量模型推送至中转节点,以由所述中转节点将所述当前完成模型合并后的全量模型发布至所述多个服务节点。
7.根据权利要求2所述的装置,其特征在于,在当前需要进行模型训练的目标服务为多项时,所述合并模块,还用于每次将一项服务的实体抽取模型、意图分类模型和槽位抽取模型合并到当前最新版本的全量模型中,所述发布模块还用于将当前完成模型合并后的全量模型发布至所述多个服务节点;
所述合并模块和所述发布模块,还用于重复执行上述模型合并和发布流程,直至遍历所述多项服务中的每一项服务。
8.一种模型管理方法,其特征在于,所述方法包括:
检测当前需要进行模型训练的目标服务;
获取进行所述目标服务的模型训练需要的训练数据;
调度数据处理平台优先基于所述训练数据,分布式训练所述目标服务的实体抽取模型;
在训练完所述目标服务的实体抽取模型后,再调度所述数据处理平台,基于所述训练数据和当前训练好的实体抽取模型,分别分布式训练所述目标服务的意图分类模型和槽位抽取模型。
9.一种存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求8所述的模型管理方法。
10.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求8所述的模型管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910837940.9A CN110795529B (zh) | 2019-09-05 | 2019-09-05 | 模型管理方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910837940.9A CN110795529B (zh) | 2019-09-05 | 2019-09-05 | 模型管理方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795529A true CN110795529A (zh) | 2020-02-14 |
CN110795529B CN110795529B (zh) | 2023-07-25 |
Family
ID=69427179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910837940.9A Active CN110795529B (zh) | 2019-09-05 | 2019-09-05 | 模型管理方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795529B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753552A (zh) * | 2020-07-02 | 2020-10-09 | 浙江百应科技有限公司 | 一种基于nlp的训练模式与识别模式动态切换的方法 |
CN111883111A (zh) * | 2020-07-30 | 2020-11-03 | 平安国际智慧城市科技股份有限公司 | 话术训练处理方法、装置、计算机设备和可读存储介质 |
CN111967613A (zh) * | 2020-08-24 | 2020-11-20 | 浙江百应科技有限公司 | Nlp模型训练发布识别系统 |
TWI818712B (zh) * | 2022-09-05 | 2023-10-11 | 英業達股份有限公司 | 機器學習模型訓練系統、機器學習模型訓練方法以及非暫態電腦可讀取儲存媒體 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160217500A1 (en) * | 2015-01-23 | 2016-07-28 | Conversica, Llc | Systems and methods for management of automated dynamic messaging |
US20170060848A1 (en) * | 2015-08-31 | 2017-03-02 | Microsoft Technology Licensing, Llc | Distributed server system for language understanding |
CN106529673A (zh) * | 2016-11-17 | 2017-03-22 | 北京百度网讯科技有限公司 | 基于人工智能的深度学习网络训练方法及装置 |
CN108427992A (zh) * | 2018-03-16 | 2018-08-21 | 济南飞象信息科技有限公司 | 一种基于边缘云计算的机器学习训练系统及方法 |
US10152676B1 (en) * | 2013-11-22 | 2018-12-11 | Amazon Technologies, Inc. | Distributed training of models using stochastic gradient descent |
CN109446306A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种基于任务驱动的多轮对话的智能问答方法 |
-
2019
- 2019-09-05 CN CN201910837940.9A patent/CN110795529B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10152676B1 (en) * | 2013-11-22 | 2018-12-11 | Amazon Technologies, Inc. | Distributed training of models using stochastic gradient descent |
US20160217500A1 (en) * | 2015-01-23 | 2016-07-28 | Conversica, Llc | Systems and methods for management of automated dynamic messaging |
US20170060848A1 (en) * | 2015-08-31 | 2017-03-02 | Microsoft Technology Licensing, Llc | Distributed server system for language understanding |
CN107924393A (zh) * | 2015-08-31 | 2018-04-17 | 微软技术许可有限责任公司 | 用于语言理解的分布式服务器系统 |
CN106529673A (zh) * | 2016-11-17 | 2017-03-22 | 北京百度网讯科技有限公司 | 基于人工智能的深度学习网络训练方法及装置 |
CN108427992A (zh) * | 2018-03-16 | 2018-08-21 | 济南飞象信息科技有限公司 | 一种基于边缘云计算的机器学习训练系统及方法 |
CN109446306A (zh) * | 2018-10-16 | 2019-03-08 | 浪潮软件股份有限公司 | 一种基于任务驱动的多轮对话的智能问答方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111753552A (zh) * | 2020-07-02 | 2020-10-09 | 浙江百应科技有限公司 | 一种基于nlp的训练模式与识别模式动态切换的方法 |
CN111753552B (zh) * | 2020-07-02 | 2024-04-19 | 浙江百应科技有限公司 | 一种基于nlp的训练模式与识别模式动态切换的方法 |
CN111883111A (zh) * | 2020-07-30 | 2020-11-03 | 平安国际智慧城市科技股份有限公司 | 话术训练处理方法、装置、计算机设备和可读存储介质 |
CN111883111B (zh) * | 2020-07-30 | 2024-05-31 | 平安国际智慧城市科技股份有限公司 | 话术训练处理方法、装置、计算机设备和可读存储介质 |
CN111967613A (zh) * | 2020-08-24 | 2020-11-20 | 浙江百应科技有限公司 | Nlp模型训练发布识别系统 |
TWI818712B (zh) * | 2022-09-05 | 2023-10-11 | 英業達股份有限公司 | 機器學習模型訓練系統、機器學習模型訓練方法以及非暫態電腦可讀取儲存媒體 |
Also Published As
Publication number | Publication date |
---|---|
CN110795529B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110795529B (zh) | 模型管理方法、装置、存储介质及电子设备 | |
US11113475B2 (en) | Chatbot generator platform | |
CN102880649B (zh) | 一种个性化信息处理方法和系统 | |
CN117008923B (zh) | 基于ai大模型的代码生成和编译部署方法、平台和设备 | |
CN107515857B (zh) | 基于定制技能的语义理解方法及系统 | |
CN110807566A (zh) | 人工智能模型评测方法、装置、设备及存储介质 | |
CN107491299B (zh) | 面向多源软件开发数据融合的开发者画像建模方法 | |
CN113505082B (zh) | 应用程序测试方法及装置 | |
Altaleb et al. | Effort estimation across Mobile app platforms using agile processes: a systematic literature review | |
CN114048024A (zh) | 任务部署方法、装置、设备、存储介质及产品 | |
CN117693734A (zh) | 前端项目处理方法、装置、设备、管理系统及存储介质 | |
CN114610272A (zh) | Ai模型生成方法、电子设备及存储介质 | |
CN111524043A (zh) | 诉讼风险评估问卷自动生成的方法和装置 | |
CN107203471B (zh) | 联调方法、服务平台及计算机存储介质 | |
CN110083351A (zh) | 用于生成代码的方法和装置 | |
CN112130827A (zh) | 基于云端模块化技术的模型开发方法、平台和智能终端 | |
CN113408736B (zh) | 语音语义模型的处理方法和装置 | |
CN116862001A (zh) | 数据标注的方法、ai开发平台、计算设备集群和存储介质 | |
CN113326113B (zh) | 任务处理方法及装置、电子设备和存储介质 | |
CN114356781A (zh) | 软件功能测试方法和装置 | |
CN114493360A (zh) | 基于rpa和ai的流程创意评估方法、装置、设备及介质 | |
CN113240088A (zh) | 文本意图识别模型的训练方法 | |
US20200005184A1 (en) | Skill generating method, apparatus, and electronic device | |
CN112036576A (zh) | 一种基于数据形式的数据处理方法、装置和电子设备 | |
Dasygenis | A distributed VHDL compiler and simulator accessible from the web |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40017682 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |