[发明专利]一种机器学习模型通用部署方法在审
申请号: | 202310501556.8 | 申请日: | 2023-05-06 |
公开(公告)号: | CN116579440A | 公开(公告)日: | 2023-08-11 |
发明(设计)人: | 魏可伟;张俊泽;刘伟;刘旺 | 申请(专利权)人: | 上海沄熹科技有限公司 |
主分类号: | G06N20/00 | 分类号: | G06N20/00;G06F8/60 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙晶伟 |
地址: | 200120 上海市浦东新区中国(上海)自由贸*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 机器 学习 模型 通用 部署 方法 | ||
本发明公开一种机器学习模型通用部署方法,涉及人工智能技术领域;将机器学习模型的数据预处理模块与机器学习模型分别独立部署,所述机器学习模型为Pytorch模型,以独立服务形式部署所述数据预处理模块;部署所述机器学习模型于torchserver框架内;所述数据预处理模块与torchserver框架按照约定的协议进行通信。
技术领域
本发明公开一种方法,涉及人工智能技术领域,具体地说是一种机器学习模型通用部署方法。
背景技术
人工智能技术尤其是深度学习技术广泛应用于推荐、广告等业务场景,这些场景使用的模型有较为显著的特点:模型规模大,在线推理性能要求高,更新频繁。模型规模大是指网络结构复杂,参数量巨大,运算量巨大。对在线推理性能要求高主要是对整体时延要求较为苛刻。更新频繁是指在推荐、广告等业务中经常需要尝试新特征、新模型,因此新模型的训练和上线频率很高。由于上述原因,深度学习模型都需要专门的部署框架进行模型在线部署,以Pytorch模型为例,它的部署框架是torchserver,torchserver需要用户提供一个文件handler.py,用户在handler.py中实现数据预处理过程和模型推理过程。但这一做法存在明显的弊端:预处理过程可能需要访问外部资源,从torchserver内部访问外部资源会带来很多麻烦和不可控的风险;预处理过程无法进行语言层面的优化,torchserver只支持python;由于修改预处理逻辑需要修改整个部署文件,并重新加载模型,因此预处理过程无法单独优化。
发明内容
本发明针对现有技术的问题,提供一种机器学习模型通用部署方法,实现机器学习模型Pytorch的部署。
本发明提出的具体方案是:
本发明提供一种机器学习模型通用部署方法,将机器学习模型的数据预处理模块与机器学习模型分别独立部署,所述机器学习模型为Pytorch模型,
以独立服务形式部署所述数据预处理模块;
部署所述机器学习模型于torchserver框架内;
所述数据预处理模块与torchserver框架按照约定的协议进行通信。
进一步,所述的一种机器学习模型通用部署方法中编写所述数据预处理模块的文件preprocess.py,根据所述文件preprocess.py所述数据预处理模块进行数据预处理包括:
获取全部所需的原始数据;
根据不同数据的使用方式进行特征扩展及特征交叉;
针对数值特征进行数据平滑、缩放及离散化处理,针对类别特征进行数值化和one-hot编码处理;
进行缺失值填充及异常值纠正;
将所有特征值按照特征顺序构建为预处理样本。
进一步,所述的一种机器学习模型通用部署方法中所述部署所述机器学习模型于torchserver框架内,包括:
创建所述机器学习模型的mar文件,所述mar文件包含所述机器学习模型的处理文件handler.py和所述机器学习模型的结构定义文件model.py,所述处理文件handler.py继承基类BaseHandler,不重载相关逻辑,
配置所述机器学习模型的部署包配置文件config.properties,并设置相关参,
构建所述机器学习模型的在线部署的文件,通过所述在线部署的文件安装打包工具及创建mar文件。
进一步,所述的一种机器学习模型通用部署方法中所述设置相关参数,包括:
设置inference_address和management_address分别表示推理服务URL和管理服务URL;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海沄熹科技有限公司,未经上海沄熹科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310501556.8/2.html,转载请声明来源钻瓜专利网。