模型线上线下一致性问题对于模型效果非常重要,我们使用特征日志来实时记录特征,保证特征的一致性。这样离线处理的时候会把实时的用户反馈,和特征日志做一个结合生成训练样本,然后更新到模型训练平台上,平台更新之后在推送到线上,这样整个排序形成了一个闭环。”
总结起来,有几种思路:
2. 自动翻译方案
(1) .已有方案的缺点
但这些思路都有各种缺点:
-
所有在线请求的所有特征,这个存储量数据量很大
-
算法改代码需要等待后台开发,降低了算法同学的工作效率
-
特征处理代码的复杂度转移到配置文件中,不一定能充分表达,而且配置格式增加学习成本
-
就这边真实离线特征处理代码来看,大部分代码都无法抽取出公共代码做复用。
(2). 翻译器
回到问题出发点考虑,显而易见,这个问题归根结底就是需要一个 “ python 到 c++ 的翻译器 ” 。
那其实 “翻译器 Transpiler ” ,和编译器解释器类似,也是个古老的热门话题了,比如 WebAssembly , CoffeeScript , Babel ,
Google Closure Compiler , f2c
于是一番搜索,发现 python 到 C++ 的翻译器也不少,其中 Pythran 是新兴比较热门的开源项目。
于是一番尝试后,借助 pythran,我们实现了:
-
一条命令 全自动把 Python 翻译成等价 C++
-
严格等价保证改写,彻底消除不一致
-
完全去掉重新实现这块工作量,后台开发成本降到 0 ,彻底解放生产力
-
算法同学继续使用纯 python,开发效率无影响,** 无学习成本 **
-
并能推广到其他需要 python 改写成后台 C++ 代码 的业务场景,解放生产力
三、pythran 的使用流程
(1). 安装

(编辑:莆田站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|