专业书籍精读 · ML System Design Interview · 第 10 章

个性化信息流:模型只负责把概率算准,定生死的是那几个权重

Machine Learning System Design Interview · Ch 10 · Ali Aminian & Alex Xu · 2023

EN →

这一章讲什么?

你早上打开社交 App,第一屏那几条不是按时间排的。你关注的人昨天发了几百条,平台只挑其中几十条给你,顺序还是为你一个人现算的。这一章讲的就是:那个顺序怎么算出来。

先说个怪事

最省事的做法是猜「你会不会点开」,然后按这个可能性从高到低排。听着没毛病。

可真这么做,几个月后你的信息流会变成一片标题党。因为模型问的是「会不会点」,而这类标题恰恰点击率最高、看完最后悔。你确实点了,模型觉得自己干得漂亮。问题出在:点击不等于喜欢。

旧世界为什么难

难在这件事没有标准答案。哪条该排第一?没人写得下来。同一条动态,对老同学是想看的近况,对陌生人是噪音。

唯一拿得到的线索,是你做过的动作:点开了、点赞了、评论了、转发了、停下来看了几秒、还是直接点「不感兴趣」。这些动作都是真的,但每一个只说明一小块:点赞很随手,评论说明真被戳到,转发说明你愿意署上自己的名字,「不感兴趣」说明这条根本不该出现。

核心点子:别问一个问题,问一排问题

这一章的办法是:同一条动态,一次问六七个问题——会点开吗?会点赞吗?会评论吗?会转发吗?会停留多久?会不会嫌烦把它划掉?

每个问题有一个小裁判给出可能性,最后把这些可能性各乘一个分数再加起来,就是这条动态的排序分。像体操比赛:不是一个裁判说了算,而是几位裁判分别打分、按事先定好的比重合成总分。「嫌烦」那一项的比重是负的,它会把分往下拽。

这些裁判还共用同一套「对这个人和这条内容的理解」,只在最后一步才分开。好处很实在:转发这种很罕见的动作,单独学学不明白,跟着点赞一起学就能沾光。

真正的产品决定,是那几个比重

模型怎么训是技术问题;评论该值几分、点赞该值几分,是价值判断。把评论的比重调高,创作者第二天就开始追着「引发讨论」做内容;把停留时长的比重调高,那些信息量不大但很能拖时间的内容会浮上来。

代价也直接:这组比重没有正确答案,只能靠一轮轮线上实验试出来,而每改一次,都会重塑所有创作者的行为。

一句话记住

信息流排序不是猜「你会不会点」这一个问题,而是同时猜好几种反应(赞、评、转、停留、嫌烦),再按事先定好的比重合成一个分。模型决定猜得准不准,比重决定这个产品最后长成什么样。

想进到具体机制、记号和示意图? → 切到精读版