在线预测平台包括几个部分:
- 特征获取
- 特征变换
- 模型服务
可使用的Github项目(二选一),我使用的leaves
- https://github.com/Unity-Technologies/go-xgboost star:42
- https://github.com/dmitryikh/leaves star:204
模型加载方式
- 冷加载,服务启动的时候加载
- 优点是开发简单快捷
- 缺点是新增模型需要发版,扩展性不足,只能单个项目使用
- 热加载,使用公共盘方式,请求的时候加载模型
- 优点:无需发版,方便扩展
- 缺点:需要单独开发一个模型调用服务来管理模型
实际开发中遇到的问题
- 模型复杂的时候,加载会出现超时现象(首页到模型服务这边只有50ms)。走个协程去加载模型
- 模型管理的问题,日志报错的管理
leaves的使用(冷加载方式)
package main
import (
"fmt"
"github.com/dmitryikh/leaves"
)
func main() {
// 1. Read model
useTransformation := true
model, err