去哪儿酒店算法服务
张中原
请在此插入照片(直接覆盖在中间区域)
讲师介绍
张中原
•2008哈工大•2011去哪儿网•从事交易系统、酒店数据、
公司基础平台组件、存储与监控等工作•关注工程师效率和质量、系统实际效益
目录
CONTENTS
1算法平台简介2模型运算3特征处理4代理与服务5性能调试等
算法平台简介
—先解决部署的问题
算法平台规划
算法部署
模型上线、迭代
数据集合
用户、酒店等
训练平台
算法快速评测
•9个应用•530个模型共30564个•120G特征数据•QPS20+由业务系统决定•P9810msMEAN5ms•支持任意类型运算封装,不仅是模型•算法一次发布随时变更,对业务零影响•特征转换可随时调整,在线离线逻辑统
一
平台现状
数据组数据收集
算法组
训练模型
模型文件
特征集
算法部署
业务组
•没有标准规范,管理乱,效率低•训练预测时特征转换独立,重复开发或逻辑不一致•模型之间共同功能复用率低•算法变更影响大,不兼容•跟踪调试复杂
部署的问题
HDFS
模型训练
算法服务RPCService
模型库
加载模型
特征集
加载特征
算法平台
apiagent
•托管维护模型文件和特征集•自动加载模型与特征数据•提供统一调用接口•使模型预测无缝接入应用•算法随时更新迭代对业务系统完全透明
算法部署
算法定义
•算法版本迭代•城市粒度控制•适应不同模型类别•特征转换逻辑•分类与回归
算法定义
算法描述
interfaceAlgorithm
{StringgetApp()StringgetVersion()<
P,F>FeatureResolver<
P,F>getFeatureResolver()<
F,R>Evaluator<
F,R>getEvaluator()ListenableFuture>eval(Requestrequest)throwsAlgorithmException
}interfaceAlgorithmFactory{
AlgorithmgetOrCreate(app,version,filter)}
//回归interfaceResultValue{
RgetValue()MapgetContext()}
//调试用
算法描述
//分类interfaceHashProbabilityextendsResultValue{
SetgetCategoryValues()DoublegetProbability(Stringkey)}
算法描述
ListenableFuture>eval(Requestrequest){checkUpdate()//触发模型文件异步更新检查
returnexecutor.submit(Callable)()->{RequestContextctx=RequestContext.create(request)try{returnevaluator.eval(resolver.resolve(request.example)).setContxt(ctx.getValue())}finally{RequestContext.remove()}
}}
模型运算
模型类别PMMLVopalWabbitDataProc自定义模型
优点标准、平台无关、功能全、用户多快、模型小未知强大、灵活
模型对比
缺点略慢C++旧系统兼容额外开发
interfaceEvaluator<
F,R>{ResultValueeval(Fresolved)
}
Evaluator定义
EvaluatorFactory{
Evalutorcreate(config,filter,model){
Evaluatorinstance=...//config.type
//KVStoreSupport
-需要访问特征数据
//AlgorithmFactoryAware-需要子模型支持
//...
}
}
VowpalWabbit例
classVWEvaluatorimplementsEvaluator{
finalVWModelmodel;//自实现Java版
ResultValueeval(FeatureVectorvector){
RequestContextctx=RequestContext.get();
ctx.set("trace1","xxxx")//request.debug=true时有效
ctx.getRequest()
//原始Request
returnnewSimpleResultValue(model.predict(vector))}
PMML例
classPMMLEvaluatorimplementsEvaluator
声明:
该资讯来自于互联网网友发布,如有侵犯您的权益请联系我们。
标签:
#去哪儿
#去哪儿
#什么时候
#华为
#怎么查看微信是什么时候注册的
#什么时候
#什么时候开始
#什么时候