百年风云多变,榜单数目向万级进军,江湖豪杰趋之若鹜,可制作榜单的效率却低,需要计算机软件加速。
琅琊阁作为顶级战略智库,文化才子多,技术高手少,且听闻,还需算法工程师和算法科学家助阵,一时也不知去何处结交。
梅长苏容颜依旧清朗,一改往日月白衣衫,身着格子衬衫。
阁主倍感意外,嘴上说:“怎么你改行,连装束也变了?”
“莫非阁主忘了,穿格子衫的,还有一位后起之秀,剑走偏锋,一手刀法精湛绝伦,跟高手也不客气,见人就叫嚣:砍一刀!”
梅长苏缓声说道:“推荐系统为电商用至极致,它的本质是排名,琅琊阁不妨上一个推荐系统。”
“百种重兵器,千种轻兵器,万种暗器,按江湖侠客的喜好是一种排名。”
“冲锋陷阵,攻城掠地,马上对阵,近身过招,按场景又是另一种排名。”
“以此类推,护具甲胄,带刃武器,防御盾牌,都应该按侠客的使用体验和喜好排名。”
阁主点头附和:“某豆电影榜单,虽然经典永流传,但也略显单一。”
“道理易懂,还是得讲透一个成熟产品。毕竟产品是技术和市场需求的综合体现。”
“亚马逊云科技的个性化推荐服务Amazon Personalize”。
“上好的推荐系统,中国互联网各大门派,无论草莽,还是枭雄,均钻研已久,勇猛精进。推荐这门手艺,中国并没有落后国外,为什么讲亚马逊云科技的产品呢?”
梅长苏凝视着楼台上方的“琅琊阁”三个字,他的回答,惜字如金:
全托管是什么呢?是亚马逊云科技专用术(黑)语(话),不少外围人士云里雾里。
若有播音腔的电视广告语,那就是:“用户只关心应用层的事情,基础架构交给亚马逊云科技。”
梅长苏说:“不想听我讲的,可参考《开发人员指南》。
人工智能这一兵法,红极于武林,可玩得极精的高手数量极少。
推荐系统所用之处,业务好理解,场景不复杂,可从工程角度来看,却异常繁琐。
一些没有经验的企业,入门困难,处处踩坑,好不狼狈,好比拿了《葵花宝典》就按老思路挥刀自宫,翻书一看,大惊失色:“新版宝典,无需自宫。”
如若专门养一个工程和算法团队来维护,银两花销极大,非豪门贵胄,无法享受。
再反观互联网公司,推荐系统太过重要,是花重兵重金投入打造的护城河。
实力不可小觑,但也有一个问题随之而来,很多互联网大厂对推荐系统过度投入(overinvest),做了很多高度定制化的工作。
琅琊阁也是如此,精简部队作战,无需航空母舰般复杂的推荐系统。
人工智能产品走过数度春秋,有一高手公认的套路,从Amazon Personalize身上可略见一斑。
很多第一次用推荐系统的厂商,花拳绣腿,混乱之极,毫无章法。
工具,数据流,方案,东拼西凑,把业务部门搞得鸡飞狗跳,简直是“纵兵扰民”。
云厂商没有前朝旧历的固化思维,这套推荐系统的“心决”,上手易,功效强。
常言道,外练筋骨皮,内练一口气。世人皆知,内功是很多练武之人功力拔高的天花板。
内功不积跬步,无以至千里,想迅速上手,唯有一个“借”字,借云厂商的内功,为己所用。
这六大步法,乍看平白无奇,人人可把玩,实则“借内力”突破了内功对武功发挥的限制。
业务流程中哪个地方,需要什么样的推荐?随后创建相关数据集和数据集组。
所需内功:用户、场景、物品的信息如何收集?元数据是什么?架构数据的类型是什么?数据如何存储?存储在哪?买哪个数据库?数据湖如何使用?
所需内功:历史数据如何导入到数据集组?用户在线交互事件如何记录?训练和存储服务如何打通?Docker技术相关难点怎么解决?
所需内功:模型训练的计算资源如何管理?模型如何管理?每次训练模型时,都会有一个新的模型版本。线上几十个模型,模型版本怎么管理?模型效果不好,如何回滚到上一个版本?
所需内功:模型训练的计算资源如何解决?需要多少GPU机器?数据怎么拉到GPU机器上?分布式处理平台怎么用?
所需内功:训练好的模型如何直接上线?TensorFlow-serving开源方案怎么用?流计算平台怎么用?
不同场景,不同算法,都要先把模型训练好,进而创建不同的解决方案版本,进而推荐。
使用推荐产品Amazon Personalize,攻克内功的活儿,都甩给云计算厂商。
可敲代码,用命令行(用网页的方式访问Amazon Web Services控制台),零搭建,易上手,完善,轻量。
作为推荐算法发源地之一,亚马逊电商是推荐系统的经验来源。
1998年,Amazon网站从庞大的图书目录起家,开始做书籍推荐。
推荐技术在内部大规模使用,真实困难,又推动技术攻关。梅长苏似乎不甚在意的样子:
“江湖上,推荐系统产品很多,有的品牌的机器学习平台上面也有推荐系统,但像琅琊阁这样,只有推荐需求,买机器学习平台,就太重了。”
“虽然原理大同小异,但是,Amazon Personalize试错周期短,不行就换掉,沉没成本小。”
推荐算法就像解题,已知,求解。已知了一些人的兴趣和喜好,求其他人的。或者已知了你过往的行为路径,预测将来的。
物以类聚,人以群分,还可用“朋友喜欢”作为一条线索。
推荐系统算法认为,张三李四王五有相似之处,因为都喜欢商品a,而喜欢a的人同时也喜欢c。
梅长苏淡然说道:“只是将一些消费者身上的共同点,用在了别的消费者身上。”
不少阁老暗自惊讶,几年未见,梅长苏对科技的理解令人惊叹,随即又问:“那个推荐模型里都有什么?”
“推荐模型大致可分为三部分:召回+排序+再排序(补充策略与算法)。技术细节按下不表,先理解本质。”
排序是核心思想,最终都是想要一个最好的排序,最贴近人心的“琅琊榜”。
世间之事,人心最为曲折,推荐就是,随其曲折,借力用力。
梅长苏又道:“人的内心再丰富,也装不下整个世界。”
召回是,在排序前先挑一轮,挑出可能感兴趣的商品。电商商品池子里面有海量的商品,选商品,到底选哪些,要有个方法,就是召回算法。
如今电商的商品数量,就像海洋,全部排序,计算量可太大了。
所以,要分批次打捞,从几亿商品里先捞几百万,再从几百万中捞出几万,范围越来越小。
专业说法是,排序时使用复杂模型,用多特征(比如用户的各种喜好)精准排序。如果直接对百万量级的候选物品进行逐一推断,那么计算资源和延迟都是在线服务无法忍受的。
2003年,《IEEEInternet Computing》杂志上一篇流传颇广的文章首次揭晓了亚马逊电商协同过滤算法的秘密:
“Amazon.comRecommendations: Item-to-Item Collaborative Filtering”。
作者是Greg Linden,BrentSmith,Jeremy York。这篇经典论文,给现在很多流行的推荐算法提供了思路源泉。
加入召回这个过程,利用少量的特征和简单的模型或规则,进行候选者的快速筛选,减少精准排序时的时间开销。
“召回算法”先用肩膀扛了下了一些压力。所以,先召回,再精确排序。
一个维度明显不够,综合“多样性”“流行度”“新鲜度”等多个不同的思路设计。
说得学术一点,推荐的过程,就是从次优解,到最优解。不停调优,就是不停地找最优解的过程。
推荐系统在工程上的复杂性,加大了用好这一神器的难度。
在Amazon Personalize中,从数据的特征抽取到模型的分布式训练,再到实现高可用架构部署,全托管,不操心。
梅长苏说:“第三个部分,也是最后一个部分,不同场景还需要适配不同的算法。
Amazon Personalize分成三类,这在《Amazon Personalize开发人员指南》中叫,配方。”
外界看来,Amazon Personalize可称之为,SaaS产品。
一方面有亚马逊云科技的独家算法,另一方面封装简化,只要调API就行了,适合青铜选手用。
Amazon SageMaker是亚马逊云科技的机器学习平台,有全面的机器学习工具,但需要有AI开发经验的开发者才能用好。
如若兄弟里连一个有AI开发经验的研发人员都没有,就别考虑了,Amazon SageMaker适合王者选手用。
若情况更为复杂多变,琅琊阁也可以选择亚马逊云科技解决方案。
部署的相关算法和所有实现代码,对琅琊阁来说,都是公开的。
推荐系统虽然风靡江湖,但是于细微处见真章。一些难点,异常棘手,比如实时性和冷启动。
就是谁也不想用一个反应迟钝的推荐系统,用户已经离开APP了,还没有想好推荐啥,一脸呆萌。
推荐系统需要比较快地反映出用户的兴趣变化。使用“用户个性化”配方构建的解决方案,不仅每2小时模型会自动更新,还可以用一键开启事件跟踪器功能实时跟踪用户行为变化。
数据从无到有的过程很痛苦。冷启动,就是从“一无所有”开始推荐。这是一道送命题,能单独讲个三天三夜,就不展开了。
“琅琊一卷风云去,百年风霜历,江湖次序定。摆脱996的福报就靠一款成熟且方便的产品了。”
这次分离,不说再见,梅长苏补充了Amazon Personalize隐藏的三个暗器。
模型上线时,流量随时切过去,不对生产系统造成影响。降低模型运营的成本。
亲爱的数据
顺着数据写人工智能, 顺着技术写产业落地。
171篇原创内容
公众号
704400梅长苏:推荐系统难道就是琅琊榜?
文章评论