Dojo
最新
最佳
搜索
订阅
解道Jdon
领域驱动设计
架构设计
热点话题
GitHub开源免费源代码
RUST语言
规则引擎
DevOps文章排行榜
数据科学
产品经理
数据分析
认知偏差与谬论
幽默模因
更多话题
真实生产级别的推荐系统 - Nikhil
22-04-13
banq
大规模构建在生产中部署的推荐系统 ,并在用户等待页面加载时在几百毫秒内提供实时请求。要构建这样的系统,工程师必须做出跨越多个移动层的决策,例如:
高级范式(如协同过滤、基于内容的推荐、向量搜索、基于模型的推荐)
ML 算法(例如 GBDT、SVD、多塔神经网络等)
建模库(例如 PyTorch、Tensorflow、XGBoost)
数据管理(例如数据库的选择、缓存策略、重用主数据库或将所有数据复制到另一个针对推荐工作负载优化的系统中等
1。
)
功能管理(例如离线与在线、预计算与实时服务)
服务系统(性能、查询延迟、分布模型、容错等)
部署系统(例如,新代码如何更新、构建步骤、进程重启时保持缓存工作等)
硬件(例如 GPU、SSD)
难怪构建这样的系统是一项艰巨的任务。不过值得庆幸的是,经过多年的反复试验,FAANG 和其他顶级科技公司已经独立地融合在一个通用
架构
上,用于构建/部署生产级推荐系统。此外,这种架构与领域/垂直无关,可以为各种应用程序提供支持——从电子商务和提要到搜索、通知、电子邮件营销等。
我们将从一篇文章开始,从高层次上解释该架构的服务端,然后是一篇关于训练端的文章——这两篇文章将主要概述结构并分别确定服务和训练中的关键扩展问题。未来的帖子将一一讨论这些扩展问题,并描述它们通常是如何解决的,以及多年来学习开发的最佳实践。那么让我们开始吧:
现代推荐系统由八个(有些重叠)逻辑阶段组成:
恢复
过滤
特征提取
计分
排行
功能记录
训练数据生成
模型训练
点击标题
猜你喜欢
本站原创
《复杂软件设计之道:领域驱动设计全面解析与实战》
其他人在看