Instagram个性化推荐工程中三个关键技术是什么?.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《Instagram个性化推荐工程中三个关键技术是什么?.docx》由会员分享,可在线阅读,更多相关《Instagram个性化推荐工程中三个关键技术是什么?.docx(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Instagram个性化推荐工程中三个关键技术是什么? | Ivan Medvedev Haotian Wu Taylor Gordon 译者 | 陆离 编辑 | Jane 出品 | AI科技大本营 ID rgznai100 【导语】近期 Facebook 在boke上共享了第一篇详细介绍 Explore 系统关键技术 和 Instagram 是怎样为用户提供个性化内容的文章。本文就这些关键技术进展介绍 给从事或者对相关工作感兴趣的开发者们共享一些想法或者经历。 每个月 有超过一半的 Instagram 社区会访问 Explore 推荐系统 查找感兴趣的图片、视频以及 Stories。Expl
2、ore 能在高达数十亿选项中实时地推荐大众最关注的内容 这背后离不开机器学习的支撑 也必然要面对不少机器学习技术方面的挑战 更是迫切地需要新的解决方案。 我们通过创立一系列自定义的查询语言、轻量级建模技术和支持高速实验的工具来应对遇到的问题。这些系统不仅支持 Explore 系统的数据规模 同时还能大大进步开发工程师们的效率。总的来讲 这些解决方案代表了一个人工智能系统 这个系统基于一个高效的三局部排序漏斗 可提取650亿个特征 每秒可做出9000万个模型预测。 一、开发Explore系统的根底创立模块 在正式构建一个可以处理每天上传到 Instagram 上大量照片以及视频的推荐引擎之前 开
3、发团队先开发了一些根底的工具来解决三个非常重要的需求 1 在一定数据规模上进展快速实验的才能 2 在用户的兴趣广度上获得更多的信息 3 还需要一种高效计算的方法来确保推荐结果质量高还新颖。 要知足这些需求 关键就是下面将要为大众介绍的 Instagram 团队自定义的技术。 二、3 个自定义技术 1、用一种新的领域特定语言 IGQL 来进展快速迭代 构建效果最优的推荐算法是团队一直不断努力研究的工作之一。根据任务不同 可能选择的系统会有很大的区别 有的模型算法可以有效地识别长期兴趣 而另一种算法在新内容上的推荐效果更好 所以短发团队要不断开发迭代不同的算法 而在工程中实际需要的方法是既能尝试新
4、想法 也能轻松将可落地的方法应用到大规模系统中 同时不用担忧计算资源的影响 如CPU以及内存的限制 。基于此 团队创立并发布了一种自定义的指定域元语言IGQL 它可以提供正确的抽象级别 并将所有算法组装到某一位置中。 IGQL语言是一种针对在推荐系统中检索候选对象然后进展优化的特定领域语言。它的执行在C 中进展了优化 有助于同时对延迟以及计算资源最小化。在测试新的研究思路时 发现它还具有可扩展性以及易用性。IGQL是静态验证的 也是一种高级语言。工程师们可以用 Python 写推荐算法 并在 C 中快速而高效地执行。 user.let(seed_id user_id).liked(max_nu
5、m_to_retrieve 30).account_nn(embedding_config default).posted_media(max_media_per_account 10).filter(non_recommendable_model_threshold 0.2).rank(ranking_model default).diversify_by(seed_id, method round_robin) 在上面的代码片段中 大众可以看到 IGQL 是怎样给那些还没有广泛使用该语言的工程师们提供高可读性的 它有助于以一种原那么性的方法来组合多个推荐经过以及算法。例如 我们可以在查询中
6、通过使用组合器规那么来输出多个子查询输出的加权混合体 进而优化候选对象生成器的集成。通过调整子查询输出的权重 我们可以找到最正确用户体验的组合。 IGQL语言使执行复杂推荐系统中常见的任务变得更加简单 例如构建组合器规那么的嵌套树。IGQL 让工程师们将工作重点聚焦在推荐背后的机器学习技术以及业务逻辑 而不是组织工作 比方为每个查询获取候选对象的实际数量。它还高度提供了代码的重用性。例如 应用一个 ranker 就像在 IGQL 查询中添加一行规那么那么简单。同时在多个地方添加 ranker 也很容易 比方排名帐户以及这些帐户发布的媒体排名。 2、个性化目录排名的账户嵌入 用户在 Instag
7、ram 上公开共享达几十亿的高质量媒体内容 这些内容对 Explore 系统是非常适宜的。对于Explore上诸多有意思的社区来讲 保持一个明晰且不断开展的目录款式分类法是具有挑战性的 这些主题五花八门 基于内容的模型很难全面解析这样基于多种兴趣类型的社区。 由于Instagram上拥有大量基于特定主题并且已关注兴趣的账户 比方Devon rex cats或vintage tractors 我们创立了一个检索管道 它关注的是账户级别的信息 而不是媒体级别的信息。通过构建帐户嵌入 我们可以更有效地识别哪些帐户在受关注的局部彼此相似。我们使用类似于word2vec的嵌入式框架 ig2vec 来推断
8、帐户嵌入。通常 word2vec嵌入式框架是根据一个单词在训练语料库中跨语句的上下文来学习它的表示。Ig2vec 将用户的帐户ID 例如 用户喜欢的媒体帐户 视为句子中的一个单词序列。 通过应用 word2vec 中的一样技术 我们可以预测一个人在 Instagram 上所提供的会话中可能与之交互的帐户。假如一个人在同一个会话中与一系列的Instagram帐户进展交互 那么与来自不同范围的随机帐户序列相比 它更有可能是局部一致的。这有助于我们识别出与此相关的账户。 我们定义了两个帐户之间的间隔度量 这是在嵌入训练中使用的同一个度量 通常是余弦间隔 或者点积。基于此 我们做了一个KNN k-Ne
9、arestNeighbor K最近邻 查找 以找到在嵌入中任何帐户的部分相似帐户。我们的嵌入版本覆盖了数百万个账户 并且使用 Facebook 最先进的最近邻检索引擎 FAISS 作为支持检索的根底架构。 对于嵌入的每一个版本 我们都训练了一个分类器 只能根据嵌入来预测一组帐户的主题。通过将预测主题与保存集里的帐户的手工标记主题进展比拟 我们可以评估嵌入是怎样获取主题相似度的。 检索与特定用户之前所表示过感兴趣的帐户类似的帐户 有助于我们以一种简单而有效的方式为每个人缩小到一个更小的、个性化的排名清单。因此 我们可以利用最先进的以及计算密集型的机器学习模型为每个Instagram社区用户效劳。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Instagram 个性化 推荐 工程 三个 关键技术 是什么
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内