读芯术|抖音的奇幻漂流:为什么TikTok让用户如此着迷?( 三 )


训练机制
TikTok使用实时在线训练模式 , 这一方法占用的计算资源更少 , 能够更快地给出反馈 。 这对于流媒体和信息流产品来说是非常重要的 。
用户的行为会马上被捕捉 , 然后反馈给模型 , 反映在下一个视频中(用户点击新视频时 , 下一个视频会快速根据最近的行为做出调整) 。 TikTok更有可能使用Storm集群来处理实时样本数据 , 包括点击、表演、收藏、点赞、评论和分享 。
他们也会建立高性能的系统 , 比如模型参数和特征服务器(特征库和模型库) 。 特征库可以保存并提供上千万的原始特征和编辑过的vector , 模型库则会维护并提供模型以及调整过的参数 。

读芯术|抖音的奇幻漂流:为什么TikTok让用户如此着迷?
本文插图

在线训练机制
完整训练过程是:
· 线上服务器捕捉实时数据 , 然后储存到Kafka
· Storm集群分析Kafka数据并生成特征
· 特征库收集新特征和推荐便签 , 建立新的训练集
· 在线训练流程重新训练模型参数 , 并将同样的参数输入模型库
· 更新客户端的推荐列表 , 捕捉新的反馈(即用户行为)并再次循环

TikTok的推荐工作流
TikTok从未向公众或技术界公开核心算法 。 但是 , 基于该公司公布的零碎信息以及极客们通过逆向工程技术找到的种种踪迹 , 我们可以得出以下结论 。
(声明——这仅仅是作者的理解和推断 , 可能跟TikTok的做法有出入)

读芯术|抖音的奇幻漂流:为什么TikTok让用户如此着迷?
本文插图

推荐工作流
步骤0:用户原创内容 (UGC) 的双重审查系统
读芯术|抖音的奇幻漂流:为什么TikTok让用户如此着迷?
本文插图
图源:unsplash
在TikTok上 , 每天用户上传的视频有上百万 。 恶意内容更容易在单机审查系统中找到漏洞 , 在这种条件下只靠人工审查是不现实的 , 因此 , 双重审查系统就成为TikTok筛查视频内容的主要算法 。

读芯术|抖音的奇幻漂流:为什么TikTok让用户如此着迷?
本文插图

机器审查:总的来说 , (以计算机视觉为基础的)双重审查模型能够识别视频图片和关键词 。 它主要有两个基本功能:
· 检查视频片段是否违反法律法规 , 是否存在抄袭 。 如果疑似违反规定 , 模型就会拦截视频内容 , 打上红标或者黄标 , 然后转交人工审查 。
· 通过从视频中截取图像或者关键帧 , TikTok的双重审查算法会将截图与海量归档内容库比对 。 重复内容会被选出 , 其流量受限 , 在推荐引擎上的权重降低 。
人工审查:主要关注3个方面 , 视频标题 , 封面缩略图和视频中的关键帧 。 对于双重审查模型标记为可疑的内容 , 技术人员会进行人工审查 。 如果发现某视频违规 , 该视频会被删除 , 账户活动暂停 。
步骤1:冷启动
TikTok推荐机制的核心是信息流漏斗 。 视频通过双重审查之后 , 会被放入冷启动流量池中 。 比如 , 用户的新视频通过了审核流程之后 , TikTok一开始会分配200-300个活跃用户的流量 , 视频能得到上千次的浏览 。 在这一机制中 , 新人可以与(粉丝上万的)网红竞争 , 因为他们拥有同样的起点 。
步骤2:以指标为基础赋予权重
通过最初的流量池 , 视频能得到几千播放量 , 这些数据会被收集和分析 。 在分析中考虑的指标包括点赞数、播放量、整个视频看完的人数、评论数、关注数、转发数、分享数等等 。
然后 , 推荐引擎就基于这些最初的指标 , 给视频赋予权重 , 给账户打分(无论是否是高质量创作者) 。 如果引擎决定提高内容的权重 , 权重最高的10%还会有额外10000-100000流量的曝光 。


推荐阅读