CN111324379A - 基于通用soa服务的模型部署系统 - Google Patents

基于通用soa服务的模型部署系统 Download PDF

Info

Publication number
CN111324379A
CN111324379A CN202010041762.1A CN202010041762A CN111324379A CN 111324379 A CN111324379 A CN 111324379A CN 202010041762 A CN202010041762 A CN 202010041762A CN 111324379 A CN111324379 A CN 111324379A
Authority
CN
China
Prior art keywords
model
module
service
feature data
offline
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
Application number
CN202010041762.1A
Other languages
English (en)
Other versions
CN111324379B (zh
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.)
Ctrip Travel Network Technology Shanghai Co Ltd
Original Assignee
Ctrip Travel Network Technology Shanghai Co Ltd
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 Ctrip Travel Network Technology Shanghai Co Ltd filed Critical Ctrip Travel Network Technology Shanghai Co Ltd
Priority to CN202010041762.1A priority Critical patent/CN111324379B/zh
Publication of CN111324379A publication Critical patent/CN111324379A/zh
Application granted granted Critical
Publication of CN111324379B publication Critical patent/CN111324379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种基于通用SOA服务的模型部署系统,包括管理模块、配置模块、调度模块、特征模块和模型服务模块。管理模块用于获取模型任务版本对应的模型的元数据;元数据包括模型文件、模型文件对应的离线特征数据和逻辑处理脚本;管理模块还用于将离线特征数据输出至调度模块;配置模块用于监听管理模块输出的元数据;调度模块用于将离线特征数据同步至特征模块并进行差量更新;特征模块用于接收离线特征数据并存储;模型服务模块用于基于服务请求,调用特征模块中的离线特征数据,根据逻辑处理脚本对离线特征数据进行特征处理并解析模型文件进行模型计算。本发明使得模型从交付到后续上线迭代的过程中人工干预少、沟通成本低和效率高。

Description

基于通用SOA服务的模型部署系统
技术领域
本发明涉及平台设计领域,尤其涉及一种基于通用SOA(面向服务的架构)服务的模型部署系统。
背景技术
传统的模型上线流程是数据科学家进行模型训练,交付模型PRD(ProductRequirement Document,产品需求文档)给到开发工程师,开发工程师理解模型PRD,评估模型,存储并计算参数,用java(一种编程语言)重现业务逻辑,开发服务,跑通模型。接着,测试工程师接到任务,在测试环境验证并与前端联调,生产环境抽样校验,最后正式上线。尤其数据科学家与开发对接模型PRD的时候,沟通成本很高,业务逻辑,特征加载,模型调用这些部分也是高度耦合。其次,由于部署的底层基础设施没有充分复用,导致每上一个模型,开发人员就需要书写大量java代码,导致上线流程周期很长,后续迭代也需要等待开发排期。总体而言,传统的流程涉及的人工干预较多,多个角色之间的配合沟通,整体流程相对不通畅。
算法BI(Business Intelligence)团队针对各种业务会建立各种模型,由于各个团队实际采用的建模语言、建模方法不尽相同。模型的表现方式不一,不同的编程语言产出的模型文件也是异质的。这些因素都导致无法统一模型从交付到上线的过程。
现有技术中模型线上特征的存取完全依赖开发人员手工维护,缺乏相应的特征管理,逻辑维护,并带来大量的数据校验工作量。
现有技术中模型在正式上线前会在测试环境试跑,但模型运行的环境差异,仍有可能导致结果不一致,所以部署方案需支持生产环境的模型实测。
现有技术中模型迭代,需要发布模型新版本时,需要强依赖开发的排期,暂停线上模型的服务,新版本测试通过后并重新发布至生产,时效性较差,风险较高。
现有技术中上线流程缺乏相应的模型线上监控,导致生产上出现明显的误差后,数据科学家及开发才会去全流程地毯式地检查,无法快速预警,精准定位问题。
发明内容
本发明要解决的技术问题是为了克服现有技术中模型从交付到后续上线迭代的过程中人工干预多、沟通成本高和效率低的缺陷,提供一种基于通用SOA服务的模型部署系统。
本发明是通过下述技术方案来解决上述技术问题:
一种基于通用SOA服务的模型部署系统,包括管理模块、配置模块、调度模块、特征模块和模型服务模块;
所述管理模块用于获取模型任务版本对应的模型的元数据并同步所述元数据至所述配置模块;所述元数据包括模型文件、所述模型文件对应的离线特征数据和逻辑处理脚本;所述管理模块还用于将所述离线特征数据输出至所述调度模块;
所述配置模块用于监听所述管理模块输出的所述元数据,并将所述元数据中的所述模型文件推送至所述模型服务模块;
所述调度模块用于将所述离线特征数据同步至所述特征模块并进行差量更新;
所述特征模块用于接收所述离线特征数据并存储;
所述模型服务模块用于基于服务请求,调用所述特征模块中的所述离线特征数据,根据所述逻辑处理脚本对所述离线特征数据进行特征处理并解析所述模型文件进行模型计算。
较佳地,所述元数据还包括通过调用接口获取的实时特征数据;
所述模型服务模块用于基于服务请求,调用所述特征模块中的所述离线特征数据,根据所述逻辑处理脚本对所述离线特征数据与所述实时特征数据进行特征处理并解析所述模型文件进行模型计算。
较佳地,所述模型部署系统还包括监控模块;
所述监控模块用于收集所述模型服务模块进行模型计算的日志数据,并基于所述日志数据解析和定位问题。
较佳地,所述监控模块还用于对每个所述离线特征数据的分布进行监控,若所述离线特征数据的分布与所述模型在进行模型训练时的所述离线特征数据的分布有差异,则触发预警邮件。
较佳地,所述模型服务模块还用于输出模型计算的结果,所述模型计算的结果根据业务需求处理成预设数据格式。
较佳地,所述模型部署系统还包括模型测试模块,所述模型测试模块用于预编译所述模型文件,并使用测试数据对所述模型文件进行验证。
较佳地,所述管理模块用于在所述模型文件验证通过后将所述元数据同步至所述配置模块。
较佳地,所述模型任务版本对应的所述模型的类型包括Tensorflow(一种算法)、Xgboost(一种算法)、PMML(一种算法)中的一种。
较佳地,所述管理模块还用于绑定离线特征数据的源信息,所述离线特征数据存于第一数据库中,所述源信息包括所述离线特征数据的地址信息;
所述调度模块还用于基于所述源信息将所述离线特征数据写入第二数据库中,并对所述离线特征数据进行差量更新;
所述特征模块用于获取所述第二数据库中的所述离线特征数据并进行存储。
较佳地,所述元数据还包括模型参数和实时特征数据;
所述模型服务模块用于根据所述逻辑处理脚本对所述离线特征数据和所述实时特征数据进行预处理得到特征名称列表,所述特征名称列表为所述模型参数;所述模型服务模块用于基于服务请求,调用所述模型参数并解析所述模型文件进行模型计算。
本发明的积极进步效果在于:本发明的基于通用SOA服务的模型部署系统,数据科学家通过管理模块上传模型任务版本对应的模型的元数据,通过模型服务模块调用元数据中离线特征数据,并根据元数据中逻辑处理脚本对离线特征数据进行特征处理并解析元数据中模型文件进行模型计算,完成了模型从交付到后续上线迭代的过程,该过程人工干预少、沟通成本低,因此提高了效率。
进一步的,开发人员只需要通过接口传入实时特征,不需要书写大量java代码重现模型,大大减少了开发人员的工作量,规避了开发每次上一个新模型都要从零开始重复造轮子。规范化建模语言、建模方法,模型的表现方式统一,方便模型从交付到上线的过程;平台自动测试代码,不需要测试工程师测试,减少人员干预,减少了数据校验工作量。统一模型运行的环境,模型在正式上线前试跑时,减少由于环境差异,导致的结果不一致;采用模型线上监控,当生产上出现明显的误差时,数据科学家能快速预警,精准定位问题。
附图说明
图1为本发明实施例1的基于通用SOA服务的模型部署系统的结构示意图。
图2为本发明实施例2的基于通用SOA服务的模型部署系统的结构示意图。
图3为基于实施例2的通用SOA服务的模型部署系统实现的模型部署平台的架构示意图。
图4为实施例2的基于通用SOA服务的模型部署系统的模块化解耦示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。.
实施例1
如图1所示,本实施例的基于通用SOA服务的模型部署系统,包括管理模块1、配置模块2、调度模块3、特征模块4和模型服务模块5。
管理模块1用于获取模型任务版本对应的模型的元数据并同步元数据至配置模块2;元数据包括模型文件、模型文件对应的离线特征数据和逻辑处理脚本;管理模块1还用于将离线特征数据输出至调度模块3。
配置模块2用于监听管理模块1输出的元数据,并将元数据中的模型文件推送至模型服务模块5。
调度模块3用于将离线特征数据同步至特征模块4并进行差量更新。
特征模块4用于接收离线特征数据并存储。
模型服务模块5用于基于服务请求,调用特征模块4中的离线特征数据,根据逻辑处理脚本对离线特征数据进行特征处理并解析模型文件进行模型计算。
本实施例的基于通用SOA服务的模型部署系统,数据科学家通过管理模块上传模型任务版本对应的模型的元数据,通过模型服务模块调用元数据中离线特征数据,并根据元数据中逻辑处理脚本对离线特征数据进行特征处理并解析元数据中模型文件进行模型计算,完成了模型从交付到后续上线迭代的过程,该过程人工干预少、沟通成本低,因此提高了效率。
实施例2
如图2所示,本实施例的基于通用SOA服务的模型部署系统是对实施例1的进一步限定,具体的:
本实施例的基于通用SOA服务的模型部署系统还包括监控模块6,监控模块6用于收集模型服务模块5进行模型计算的日志数据,并基于日志数据解析和定位问题。具体的,监控模块6将模型的执行日志信息解析并以结构化的数据格式落地,方便数据科学家和产品自查,快速定位问题,同时监控包括结果返回时效,QPS(每秒查询率)等模型监控指标。
监控模块6还用于对每个离线特征数据的分布进行监控,若离线特征数据的分布与模型训练时的离线特征数据的分布有差异,则触发预警邮件。具体的,监控模块6会对每个线上特征的分布进行监控,若发现特征分布与训练时有显著差异,则会触发预警邮件,让数据科学家自行判断问题的严重程度,是否需要接入进行模型纠正,模型训练是指模型在上传所述模型部署系统前进行的训练。
管理模块1是数据科学家配置通用模型任务的地方,上传一个模型任务版本对应的模型文件,特征数据,逻辑处理脚本,模型接收参数这些元数据。管理模块1负责管理元数据,并将元数据写入数据库并支持增删改。当模型任务确认部署后,将元数据同步至配置模块2。具体的,模型引擎主服务也即模型服务模块5新增模型类型参数,三个分支分别引入tensorflow serving(一种模型服务),原生dmlc(一个机器学习项目)执行引擎及多语言支持的pmml解析器支持tensorflow、xgboost、pmml这三类可覆盖绝大部分实际业务场景的模型类型。
配置模块2接收并监听元数据,同时拉取模型文件,逻辑处理脚本,模型接收参数等文件并自动推送至模型服务模块5的内存中,在模型版本变化时,元数据的变化会被配置模块2监听,并刷新最新版本对应的文件。具体的,模型服务模块5调用入口增加版本传参,输出增加错误信息反馈。最新版本存在本地缓存中。如果监听信息中模型有版本更新,就从模型文件存储服务器上拉取新的文件加载到内存,并划分测试及正式版本。加载到内存中的模型,在版本未变更时加入缓存,版本正式变更时实现替换。
调度模块3用于将管理模块1中数据科学家配置的离线数据,写入线上存储并进行差量更新。
特征模块4用于存储离线特征数据,供模型线上调用。
数据科学家通过管理模块1上传的元数据还包括通过调用接口获取的实时特征数据。具体的,实时特征是用户端触发该模型调用时,从前端用户端接口里传入模型服务模块5的特征数据。实时特征与业务强相关,仍需要业务方开发定制,并在调用模型服务时当作参数传入。
模型服务模块5用于基于服务请求,调用特征模块4中的离线特征数据,根据逻辑处理脚本对离线特征数据与实时特征数据进行特征处理并解析模型文件进行模型计算。
模型服务模块5还用于输出模型计算的结果,模型计算的结果根据业务需求处理成预设数据格式。具体的,以map<string,string>的格式统一模型的输入输出,并提供模型任务的增删改接口,将模型部署迭代的操作记录到数据库。
本实施例的基于通用SOA服务的模型部署系统还包括模型测试模块7,模型测试模块7用于预编译模型文件,并使用测试数据对模型文件进行验证。具体的测试流程参考如下:数据科学家只需按模板格式上传测试数据,验证算法各个逻辑分支的健全性,完成模型服务试跑,若结果与预期相符,则测试通过可正式将模型相关元数据上传到模型部署系统。
管理模块1还用于在模型文件验证通过后将元数据同步至配置模块2。具体的,新建模型任务部署时,数据科学家只需关联已发布的特征包,上传模型文件并按处理逻辑样板代码的格式自主调试并上传,完成后,系统会将该版本下模型任务的数据,配置文件信息等同步至生产环境。
本实施例中模型任务版本对应的模型的类型包括Tensorflow、Xgboost、PMML。
本实施例的基于通用SOA服务的模型部署系统,覆盖模型从交付到部署上线,后续迭代,做到全流程高效且风险可控。该模型部署系统的具体实现可拆解成模型元数据管理,模型文件自动配置,特征数据调度及存储,模型主服务,日志及性能监控。具体会分管理模块1,配置模块2,调度模块3,特征模块4,模型服务模块5,监控模块6,模型测试模块7,各模块搭建完后,进行集成,完成整条模型部署调用链的整合。具体实施时,整体的模型服务可以按不同部门划分不同的APP ID(应用程序标识),按不同的部门分成不同的APP ID,每个部门一个大的SOA服务,部署在单独的机器上,取得部门间的隔离。在同一个部门内,每个模型部署在几台机器上,前置路由服务会决定导流指向(具体到哪台机器上),并支持机器的横向扩展。未来优化可以考虑将每个模型打成一个docker(一种应用容器引擎),然后用K8S(一种容器管理工具)托管。好处是任何语言,任何框架都能轻易的被打成docker,兼容性较好。另外K8S强大的编排功能即保证了模型的高可用,还支持通过简单的编排配置可以实现多个模型的交互。
本实施例的基于通用SOA服务的模型部署系统,开发人员只需要通过接口传入实时特征,不需要书写大量java代码重现模型,大大减少了开发人员的工作量,规避了开发每次上一个新模型都要从零开始重复造轮子。规范化建模语言、建模方法,模型的表现方式统一,方便模型从交付到上线的过程。平台自动测试代码,不需要测试工程师测试,减少人员干预,减少了数据校验工作量。统一模型运行的环境,模型在正式上线前试跑时,减少由于环境差异,导致的结果不一致。采用模型线上监控,当生产上出现明显的误差时,数据科学家能快速预警,精准定位问题。数据科学家只需要在配置平台绑定相关的特征数据源信息,上传逻辑处理脚本和训练好的模型文件就可以自助配置一个模型部署服务,经过测试数据验证后可正式调用。
管理模块1还用于绑定离线特征数据的源信息,离线特征数据存于第一数据库中,源信息包括离线特征数据的地址信息。
调度模块3还用于基于源信息将离线特征数据写入第二数据库中,并对离线特征数据进行差量更新。
特征模块4用于获取第二数据库中的离线特征数据并进行存储。
具体的,管理模块1中包括离线数据源,离线数据源指T+1更新的HIVE数据表(存放在公司的离线存储平台中,即第一数据库中),离线数据源包括离线特征数据源,离线特征数据通过管理模块1创建对应维度的特征包(一个特征包映射一个维度的特征数据表)并绑定数据源信息,数据源信息包括离线特征数据的地址信息,设置表主键字段信息,后台会触发作业将对应离线特征数据导入线上存储介质中,如Redis(一种线上存储介质),Aerospike(线上存储介质),即第二数据库,并进行增量更新。
元数据还包括模型参数和实时特征数据;实时特征是用户端触发该模型调用时,从用户端接口里传入模型服务模块5的特征数据。
模型服务模块5还用于根据逻辑处理脚本对离线特征数据和实时特征数据进行预处理得到特征名称列表,特征名称列表作模型参数;模型服务模块5用于基于服务请求,调用模型参数并解析模型文件进行模型计算。
具体的,模型调用时只需传入模型名,模型版本号,主键字段和可能需要的实时特征数据,模型服务模块5会去缓存中拉取相应的模型,读取离线特征数据,根据上传的逻辑处理脚本进行特征处理,拼接并喂入模型,进行模型计算。
具体的,新建模型任务部署时,数据科学家只需关联已发布的特征包,上传模型文件并按处理逻辑样板代码的格式自主调试并上传,完成后,系统会将该版本下模型任务的数据,配置文件信息等同步至生产环境。
本实施例的基于通用SOA服务的模型部署系统在开发应用时都会有两套环境,生产环境和测试环境,生产环境是外部用户真实会看到的环境,比如一个排序模型,生产环境就是指的外部用户可以在app上正式看到这个模型给到的排序结果,本申请中提到的“线上”,指的就是生产环境,离线特征数据也是同步到生产环境的redis中。测试环境是指测试人员利用一些工具及数据所模拟出的、接近真实用户使用环境的环境,测试环境的目的是为了使测试结果更加真实有效。测试环境与开发环境分隔开,使用独立的服务器和配置管理工具。
下面继续通过具体的例子,进一步说明本发明的技术方案和技术效果。
图3为基于本实施例的基于通用SOA服务的模型部署系统实现的模型部署平台的架构示意图。
该模型部署平台是由这些子系统集成:管理系统,配置系统,调度系统,特征系统,存储系统,模型服务系统,监控系统,图中人代表数据科学家,数据科学家通过管理系统在配置平台绑定相关的特征数据源信息,上传逻辑处理脚本和训练好的模型文件(模型文件支持.pb,.pmml,.model类型)以自助配置一个模型部署服务,经过测试数据验证后可正式调用。图中手机代表客户端,当客户端打开app时,会触发一次模型服务,例如一次酒店排序的结果展示。图中管理系统,配置系统,调度系统,模型服务系统,监控系统的功能分别与本实施例的基于通用SOA服务的模型部署系统的管理模块1、配置模块2,调度模块3,模型服务模块5的功能一致,特征系统和存储系统组合与本实施例的特征模块4的功能一致,此处不再赘述。图3中收集器、消息队列单元、流处理单元和监控及问题定位单元组合对应本实施例的监控模块6的功能,收集器用于收集数据,并用于写日志数据到消息队列单元,消息队列单元包括Kafka,消息队列单元用于计算指标到流处理单元,流处理单元包括Flink/Storm,流处理单元还用于输出指标到监控及问题定位单元,监控及问题定位单元用于监控及定位问题。
图4为本实施例的基于通用SOA服务的模型部署系统的模块化解耦示意图。
图4中离线数据源指T+1更新的HIVE数据表(存放在公司的离线存储平台中);离线特征通过前端配置系统,创建对应维度的特征包(一个特征包映射一个维度的特征数据表)并绑定数据源信息,设置表主键字段信息,后台会触发作业将对应数据导入线上存储介质中(Redis,MongoDB,Aerospike)并进行增量更新,供线上模型调用。图4的基于通用SOA服务的模型部署系统的模块化解耦就是解除强依赖,将原来全部耦合在一起的代码拆分成各个功能模块,各个模型支持灵活替换。
QMQ消息队列,Kafka topic指的是线上采集的一些消息队列的数据(供下游解析消费,毫秒级延迟)。
实时数据源(传参)是指开发人员的实时特征数据;具体的,实时特征与业务强相关,仍需要业务方开发定制,并在调用模型服务时当作参数传入。
特征预处理的作用:将原始的特征数据经过加工,转化为最终喂入模型的特征(例如先要取到离线特征数据和实时特征数据,并对离线特征数据和实时特征数据做四则运算,产出更高维度的特征特性列表)。
图4中f1、f2、f3….fn代表参数1,参数2,....参数n。
模型计算的作用:通过模型执行引擎解析模型文件,输入特征预处理的特征特性列表,通过模型计算得到模型计算后的结果;具体的,模型服务模块5新增模型类型参数,三个分支分别引入tensorflow serving,原生dmlc执行引擎及多语言支持的pmml解析器支持tensorflow,xgboost,pmml这三类可覆盖绝大部分实际业务场景的模型类型。模型服务模块5调用入口增加版本传参,输出增加错误信息反馈。最新版本存在本地缓存中。如果监听信息中模型有版本更新,就从模型文件存储服务器上拉取新的文件加载到内存,并划分测试及正式版本。加载到内存中的模型,在版本未变更时加入缓存,版本正式变更时实现替换。
后处理的作用:将模型计算后的结果根据业务需求定制化处理成最终返回调用方的key,value(键值对)的数据格式,具体的,以map<string,string>(字符串)的格式统一模型的输入输出,并提供模型任务的增删改接口,将模型部署迭代的操作记录到数据库。例如,给你推荐的最适合你旅行的前三个的国家等等,这里key(键)为用户id(标识),value(值)为适合你旅行的前三个国家。
开发工程师从理解算法模型的PRD,并利用Java语言重现业务逻辑现在转为统一使用Groovy或Python脚本语言。
模型调用时只需传入模型名,模型版本号,主键字段和可能需要的实时特征,模型服务模块5会去缓存中拉取相应的模型,读取特征数据,根据上传的处理逻辑进行特征处理,拼接并喂入模型,进行模型计算。
本实施例的基于通用SOA服务的模型部署系统实现了以下效果:
(1)统一模型部署,覆盖模型从交付到部署上线,后续迭代,做到全流程高效且风险可控。能够在模型上传后进行预编译,实现在上线前进行生产环境的实测。
(2)通用SOA服务实现了部署服务的模块化解耦,将整个调用链清晰地分解成特征加载,特征预处理,模型计算,后处理模块。整个模型的调用链各模块之间松耦合,可插拔。提高了模型上线流程的自动化程度,赋能数据科学家自助上线。
(3)充分复用部署的底层基础设施,封装了大量与业务无关的代码,方法与中间件,大大减少了开发的工作量。
(4)通过模型热更替,实现模型版本的快速迭代。可修改的模型版本指针指向,灵活地支持线上版本的回滚。
(5)服务适配各类实际业务场景遇到的模型(Tensorflow,Xgboost,PMML)。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (10)

1.一种基于通用SOA服务的模型部署系统,其特征在于,包括管理模块、配置模块、调度模块、特征模块和模型服务模块;
所述管理模块用于获取模型任务版本对应的模型的元数据并同步所述元数据至所述配置模块;所述元数据包括模型文件、所述模型文件对应的离线特征数据和逻辑处理脚本;所述管理模块还用于将所述离线特征数据输出至所述调度模块;
所述配置模块用于监听所述管理模块输出的所述元数据,并将所述元数据中的所述模型文件推送至所述模型服务模块;
所述调度模块用于将所述离线特征数据同步至所述特征模块并进行差量更新;
所述特征模块用于接收所述离线特征数据并存储;
所述模型服务模块用于基于服务请求,调用所述特征模块中的所述离线特征数据,根据所述逻辑处理脚本对所述离线特征数据进行特征处理并解析所述模型文件进行模型计算。
2.如权利要求1所述的基于通用SOA服务的模型部署系统,其特征在于,所述元数据还包括通过调用接口获取的实时特征数据;
所述模型服务模块用于基于服务请求,调用所述特征模块中的所述离线特征数据,根据所述逻辑处理脚本对所述离线特征数据与所述实时特征数据进行特征处理并解析所述模型文件进行模型计算。
3.如权利要求1所述的基于通用SOA服务的模型部署系统,其特征在于,所述模型部署系统还包括监控模块;
所述监控模块用于收集所述模型服务模块进行模型计算的日志数据,并基于所述日志数据解析和定位问题。
4.如权利要求3所述的基于通用SOA服务的模型部署系统,其特征在于,所述监控模块还用于对每个所述离线特征数据的分布进行监控,若所述离线特征数据的分布与所述模型在进行模型训练时的所述离线特征数据的分布有差异,则触发预警邮件。
5.如权利要求1所述的基于通用SOA服务的模型部署系统,其特征在于,所述模型服务模块还用于输出模型计算的结果,所述模型计算的结果根据业务需求处理成预设数据格式。
6.如权利要求1所述的基于通用SOA服务的模型部署系统,其特征在于,所述模型部署系统还包括模型测试模块,所述模型测试模块用于预编译所述模型文件,并使用测试数据对所述模型文件进行验证。
7.如权利要求6所述的基于通用SOA服务的模型部署系统,其特征在于,所述管理模块用于在所述模型文件验证通过后将所述元数据同步至所述配置模块。
8.如权利要求1所述的基于通用SOA服务的模型部署系统,其特征在于,所述模型任务版本对应的所述模型的类型包括Tensorflow、Xgboost、PMML中的一种。
9.如权利要求1所述的基于通用SOA服务的模型部署系统,其特征在于,所述管理模块还用于绑定离线特征数据的源信息,所述离线特征数据存于第一数据库中,所述源信息包括所述离线特征数据的地址信息;
所述调度模块还用于基于所述源信息将所述离线特征数据写入第二数据库中,并对所述离线特征数据进行差量更新;
所述特征模块用于获取所述第二数据库中的所述离线特征数据并进行存储。
10.如权利要求9所述的基于通用SOA服务的模型部署系统,其特征在于,所述元数据还包括模型参数和实时特征数据;
所述模型服务模块用于根据所述逻辑处理脚本对所述离线特征数据和所述实时特征数据进行预处理得到特征名称列表,所述特征名称列表为所述模型参数;所述模型服务模块用于基于服务请求,调用所述模型参数并解析所述模型文件进行模型计算。
CN202010041762.1A 2020-01-15 2020-01-15 基于通用soa服务的模型部署系统 Active CN111324379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010041762.1A CN111324379B (zh) 2020-01-15 2020-01-15 基于通用soa服务的模型部署系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010041762.1A CN111324379B (zh) 2020-01-15 2020-01-15 基于通用soa服务的模型部署系统

Publications (2)

Publication Number Publication Date
CN111324379A true CN111324379A (zh) 2020-06-23
CN111324379B CN111324379B (zh) 2023-06-09

Family

ID=71172530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010041762.1A Active CN111324379B (zh) 2020-01-15 2020-01-15 基于通用soa服务的模型部署系统

Country Status (1)

Country Link
CN (1) CN111324379B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752556A (zh) * 2020-06-28 2020-10-09 自然资源部信息中心 基于双层模型结构的数据预测系统及方法
CN111966382A (zh) * 2020-08-28 2020-11-20 上海寻梦信息技术有限公司 机器学习模型的在线部署方法、装置及相关设备
CN112015519A (zh) * 2020-08-28 2020-12-01 江苏银承网络科技股份有限公司 模型线上部署方法及装置
CN112230898A (zh) * 2020-10-23 2021-01-15 贝壳技术有限公司 模型应用交互系统、方法、可读存储介质及电子设备
CN112230911A (zh) * 2020-09-27 2021-01-15 北京通付盾人工智能技术有限公司 模型部署方法、装置、计算机设备和存储介质
CN112348458A (zh) * 2020-10-19 2021-02-09 湖南大唐先一科技有限公司 基于业务规则的流程模型匹配方法及系统
WO2024000918A1 (zh) * 2022-06-29 2024-01-04 上海淇玥信息技术有限公司 一种基于特征血缘的模型上线方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247592A (zh) * 2017-06-09 2017-10-13 携程旅游网络技术(上海)有限公司 应对多业务场景下的模型管理系统及方法
US20180060066A1 (en) * 2016-07-12 2018-03-01 Accenture Global Solutions Limited Application Centric Continuous Integration and Delivery With Automated Service Assurance
CN108628958A (zh) * 2018-04-13 2018-10-09 云南电网有限责任公司信息中心 一种基于时态的电网gis数据存储方法
US20190317885A1 (en) * 2019-06-27 2019-10-17 Intel Corporation Machine-Assisted Quality Assurance and Software Improvement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180060066A1 (en) * 2016-07-12 2018-03-01 Accenture Global Solutions Limited Application Centric Continuous Integration and Delivery With Automated Service Assurance
CN107247592A (zh) * 2017-06-09 2017-10-13 携程旅游网络技术(上海)有限公司 应对多业务场景下的模型管理系统及方法
CN108628958A (zh) * 2018-04-13 2018-10-09 云南电网有限责任公司信息中心 一种基于时态的电网gis数据存储方法
US20190317885A1 (en) * 2019-06-27 2019-10-17 Intel Corporation Machine-Assisted Quality Assurance and Software Improvement

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
生拥宏;刘川意;鞠大鹏;汪东升;: "差量存储的集中式文件级连续数据保护方法" *
阎帆;肖宝弟;王建英;: "基于SOA的调度命令管理系统" *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752556A (zh) * 2020-06-28 2020-10-09 自然资源部信息中心 基于双层模型结构的数据预测系统及方法
CN111966382A (zh) * 2020-08-28 2020-11-20 上海寻梦信息技术有限公司 机器学习模型的在线部署方法、装置及相关设备
CN112015519A (zh) * 2020-08-28 2020-12-01 江苏银承网络科技股份有限公司 模型线上部署方法及装置
CN112230911A (zh) * 2020-09-27 2021-01-15 北京通付盾人工智能技术有限公司 模型部署方法、装置、计算机设备和存储介质
CN112230911B (zh) * 2020-09-27 2023-12-29 北京通付盾人工智能技术有限公司 模型部署方法、装置、计算机设备和存储介质
CN112348458A (zh) * 2020-10-19 2021-02-09 湖南大唐先一科技有限公司 基于业务规则的流程模型匹配方法及系统
CN112230898A (zh) * 2020-10-23 2021-01-15 贝壳技术有限公司 模型应用交互系统、方法、可读存储介质及电子设备
WO2024000918A1 (zh) * 2022-06-29 2024-01-04 上海淇玥信息技术有限公司 一种基于特征血缘的模型上线方法、装置及电子设备

Also Published As

Publication number Publication date
CN111324379B (zh) 2023-06-09

Similar Documents

Publication Publication Date Title
CN111324379B (zh) 基于通用soa服务的模型部署系统
US11048572B2 (en) System and method for failure management using distributed execution traces
CN111309441A (zh) 一种基于Jenkins实现DevOps的微服务部署方法
CN102693183A (zh) 一种实现软件自动化测试的方法及系统
CN110928783A (zh) 基于RobotFramework自动化测试数据化改造的平台
CN106933729A (zh) 一种基于云平台的测试方法和系统
US20210349810A1 (en) Asynchronous consumer-driven contract testing in micro service architecture
CN115934680B (zh) 一站式大数据分析处理系统
CN112163337A (zh) 基于SysML的航电协同设计方法及系统
CN113760464A (zh) 一种基于深度学习的人工智能模型开发平台
Gousios et al. Conducting quantitative software engineering studies with Alitheia Core
CN100407663C (zh) 一种电信智能业务的通用测试系统及方法
CN112435072A (zh) 一种模型创建方法、装置、电子设备及存储介质
US20230153081A1 (en) Methods and systems for correlating source code commitments and model result records during model development
CN111240808A (zh) 一种核电站模拟机运行数据开发和管理系统
Ramler et al. Benefits and drawbacks of representing and analyzing source code and software engineering artifacts with graph databases
CN115951970A (zh) 一种异构多仿真软件集成开发环境
CN114490892A (zh) 一种基于datax的数据传输方法和装置
Abazi Practicing Continuous Integration in a Multi-Supplier Environment for the Development of Automotive Software
CN113050925B (zh) 区块链智能合约修复方法及装置
Mengistu Distributed Microservice Tracing Systems: Open-source tracing implementation for distributed Microservices build in Spring framework
Tok et al. Microsoft SQL Server 2012 Integration Services
CN111352637B (zh) 部署机器学习系统的方法、装置及设备
Zafar Investigating Quality Attributes and Best Practices of Microservices Architectures
Varón Maya The state of MLOps

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
GR01 Patent grant
GR01 Patent grant