治疗白癜风新技术 http://pf.39.net/bdfyy/bdfjc/160306/4781527.html
作者丨IvanMedvedev等
译者丨Sambodhi
策划丨赵钰莹
Instagram是Facebook公司旗下一款免费提供在线图片及视频分享的社交应用软件,于年10月发布。它可让用户用智能手机拍下照片后再将不同的滤镜效果添加到照片上,然后分享到Facebook、Twitter、Tumblr及Flickr等社交网络服务,或是Instagram的服务器上。InstagramExplore页面其实是人工智能驱动的推荐系统,该系统基于一个高效的三阶段排名漏斗(3-partrankingfunnel),能提取亿个特征,每秒进行万个模型预测。每个月,超过一半的Instagram社区成员都会访问InstagramExplore页面,寻找他们感兴趣的新照片、视频和故事。在数以亿计的选项中,如何大规模实时推荐与用户最相关的内容,给Instagram的工程师带来了许多挑战,这些挑战需要新的工程解决方案。
Instagram通过创建一系列自定义查询语言、轻量级建模技术和支持高速实验的工具来解决这些挑战。这些系统支持Explore页面的规模,同时也提高了开发人员的效率。总的来说,这些解决方案描述了一种高效的人工智能系统,该系统基于一个高效的三阶段排名漏斗(3-partrankingfunnel),它能提取亿个特征,每秒进行万个模型预测。
本文,我们分享了让Explore页面起作用的关键要素的第一次详细概述,以及我们在Instagram上如何为人们提供个性化内容。
1开发Explore页面的基础构件在着手构建一个推荐引擎来处理每天上传到Instagram上的大量照片和视频之前,我们开发了一些基础工具来解决三个重要需求。我们需要进行大规模快速实验的能力,需要在人们兴趣范围内捕获更强的信号,需要一种计算效率高的方式来确保我们的建议既高质量又新鲜,这些定制技术是实现我们目标的关键。
使用IGQL:一种新的特定领域语言构建最佳推荐算法和技术是机器学习社区的研究领域之一,并且,根据任务的不同,选择合适的系统的过程也会有很大的不同。例如,虽然一种算法可以有效地识别长期兴趣,但另一种算法在识别基于最近内容的推荐方面可能表现得更好。我们的工程团队使用不同的方法进行迭代,我们需要一种方法,既能有效地尝试新的想法,又能将有前途的想法轻松地应用到大规模系统中,而不必太过担心计算资源的影响,如CPU和内存的使用。
为了解决这个问题,我们创建并发布了IGQL,这是一种针对推荐系统中检索候选对象进行优化的特定领域语言。它的执行是在C++中优化的,这有助于最小化延迟和计算资源。在测试新的研究想法时,还具有可扩展性和易用性。IGQL既是静态验证,也是高级语言。工程师可以像Python那样编写推荐算法,并在C++中快速高效地执行。
user.let(seed_id=user_id).liked(max_num_to_retrieve=30).account_nn(embedding_config=default).posted_media(max_media_per_account=10).filter(non_re