为保障推荐系统在生产环境中的高可用性、高性能和稳定性,您可以参考以下配置与操作建议。
系统监控和报警配置
当一分钟内(或者几分钟)推荐系统的RT数量超出阈值时,触发报警信息至钉钉或手机。
推荐引擎上线
排序模型预热
设置参数:
model_config
里配置一个参数:warmup_data_path: '/warmup'
。通过推荐结果诊断页面发送请求,TorchEasyRec会记录请求的pb文件到
warmup_data_path
中。重启预热:会读取
warmup_data_path
的请求,自动请求一遍。每天模型更新时,已经有warmup文件,不需要再手动预热。
其他参数:
warmup_pb_files
: 以pb文件形式保存的online request数量, 默认值64。warm_up_count
: 每个pb文件的warmup次数, 默认值20。num_warm_threads
: 并发预热线程池的大小, 默认值4。
排序模型服务
排序模型服务TorchEasyRec参数
NO_GRAD_GUARD
设置为1,禁止梯度计算。
推荐引擎配置
精排算法模型参数BatchCount:默认100,影响每次请求PAI-EAS打分的物品的数量。值越大,每次请求打分越慢。如果默认100,每次粗排或者精排为1000个,候选结果则会分成10次分别请求打分服务。
排序模型的扩缩容
推荐引擎的扩缩容
同上。
重排逻辑上线
排序侧模型降级
准备一个较简单的排序模型(如基准的多塔模型,实验配置与决策),不发布上线(或者设置流量为0)。当排序模型压力过大,并且不能扩容时。将一部分流量切换至该较简单的模型上。
或者准备一个实验室,只包含一个协同过滤,且没有模型精排的链路。参考:如何用PAI-Rec建设一个详情页相关推荐场景。
客户侧引擎兜底(必选)
客户侧做一个简单的实时协同过滤推荐或者热门推荐,当PAI-Rec返回超时或者返回为空时,用客户侧的推荐结果。
设置超时兜底,防止线上出问题
设置调用PAI-Rec推荐引擎的超时机制,当结果不足的时候做补足或者替换结果(参考热门召回)。