17611538698
webmaster@21cto.com

是什么让 TikTok 的算法如此有效?

人工智能 0 70 2025-01-27 10:43:39

图片

本周二,美国当选总统唐纳德·J·特朗普签署行政命令允许TikTok在美国司法部关闭后获得75 天的缓冲,这让 TikTok 的用户们大为高兴。

但在签署协议过程中,特朗普明确表示了自己的想法意图:TikTok 必须以某种美国实体的方式,将其一半股份出售给美国,才能继续在美国运营。

这位具有强大生意头脑的总统随后补充说:“每个有钱人都打电话给我询问 TikTok 的事情。”

不过,选择一半可能有点棘手。你要确保你选择了正确的一半。否则,你最终得到的将是一个空壳媒体服务,就像之前的Friendster一样。

Tiktok目前在美国坐拥约 1.7 亿用户,但是这些用户很快就会消失。你想要的是让用户继续登录的部分,最有价值的部分是运行推荐服务的算法。

TikTok 庞大的用户群证明了其“令人上瘾”的特性。保持用户参与的关键是什么?就是强大的算法。

这些算法驱动推荐系统,不断向用户提供符合他们兴趣的内容流。

苏黎世大学研究人员 Maximilian Boeker 和 Aleksandra Urman 在他们的研究“ TikTok 个性化因素的实证研究”中指出的那样,该平台的推荐系统可以说是其最重要的成功驱动力。

论文地址:

https://www.researchgate.net/publication/358233121_An_Empirical_Investigation_of_Personalization_Factors_on_TikTok

TikTok及其母公司、总部位于北京的字节跳动一直对向用户提供内容的算法的设计与运行方式并没有那么透明。

图片

2013年10月张一鸣讲解他的个性化推荐算法

那些愿意深入研究字节跳动工程师和其他研究人员的论文的人可能会发现一些关于 TikTok或今日头条如何让用户回头的线索。

揭开整体的面纱


这篇题为“ Monolith:具有无碰撞嵌入表的实时推荐系统”的论文在 2022 年 ACM 推荐系统会议 (RecSys) 上发表,提供了一些珍贵的见解。虽然它没有声称描述 了TikTok 的确切算法,但它揭示了字节跳动工程师设计高效推荐系统的方法。


论文地址:https://arxiv.org/pdf/2209.07663


论文详细介绍了研究人员所做的“非传统”权衡,这些权衡带来了显着的性能提升,最终形成了一种名为“Monolith”的推荐系统,其性能始终优于具有相同内存使用量的其他系统,研究人员如此说道。


前 TikTok 工程师Arman Khondker指出,这篇论文对于理解 TikTok 的方法至关重要。Khondker称赞TikTok 算法“领先竞争对手数年”,“毫无疑问,它是现存最有价值的软件”。


Arman Khondker主页:https://armankhondker.com/


商业和技术大佬埃隆·马斯克本人用简洁的“目前如此”回应了这一说法。


图片

TikTok 算法的目标


《纽约时报》获得的2021 年 TikTok 内部文件揭示了字节跳动公司算法的四个主要目标。分别是:


用户价值、长期用户价值、创作者价值和平台价值。


本质上,TikTok 优先考虑保持用户参与度以及在平台上停留时间。


该算法会考虑各种因素,包括点赞、评论和视频观看时间,以确定向用户显示哪些内容。它还旨在提供多样化的推荐,以防止用户感到无聊和失去兴趣。


对于熟悉用户留存的分析师来说,这一切看起来都很正常。加州大学圣地亚哥分校计算机科学教授朱利安·麦考利打趣道:“完全合理,但很传统。”


因此,TikTok 算法的真正威力或许不仅来自于用户分析,还来自于其执行的极快速度。


实时反馈的力量


“Monolith”论文强调了构建能够跟上用户快速变化的偏好的推荐系统所面临的挑战。


简而言之,推荐引擎的工作是预测用户的兴趣和未来行为,并使用最新的交互作为训练模型的主要输入。


为此,传统系统通常依赖于复杂的模型,而这些模型对新数据的适应速度很慢。


构建此类系统的传统做法是为每个任务维护单独的模型。“预测点击量”会得到一个模型,“预测观看时间”会得到另一个模型。分析通常通过批处理完成,这会降低系统了解用户的速度。这些模型无法实时与客户反馈进行交互。

人们使用 TikTok 的频率越高,“算法就越准确”。

— 赵正伟,中山大学

像Pytorch和TensorFlow这样的深度学习框架是为通用用途而构建的,但并不适合在线推荐的紧急生产需求。Tensorflow 将训练与推理分开,从而将模型与用户的最新输入隔离开来。因此,任何有竞争力的系统设计都必须构建各种变通方法,以将这些 批处理框架 塞入实时系统。

而 Monolith 对所有任务都使用单一模型,并通过在线训练整合实时反馈。这使得系统能够快速学习并适应用户不断变化的兴趣。

这篇论文描述了如何使用Kafka记录用户的操作,以及如何在并行操作中记录特征。Apache Flink作业“将特征与用户操作的标签连接起来,并生成训练示例,然后将其写入 Kafka 队列。在线训练和批量训练都会使用训练示例队列。”

图片

Monolith 架构强调更快的在线训练。

“Doomscrolling” 和表格大小

推荐系统面临的另一个挑战是处理“稀疏特征”和“概念漂移”。稀疏特征意味着用户只对一小部分内容感兴趣,而概念漂移是指用户在浏览无尽的视频流时,他们的兴趣往往会随着时间而改变。

论文指出:“对一个主题感兴趣的同一个用户可能每一分钟都会转变他们的热情。”

如果将所有内容都放入嵌入表中,那么它将太大而无法放入内存中。而传统的固定大小模型不易于扩大,随着新用户的加入,它们必须不断扩大。

Monolith 推荐引擎通过以下方式解决这些问题:

  • 将用户反馈快速纳入培训过程。

  • 通过“无冲突哈希表”和奇特的功能驱逐机制保持数据表的可管理。


满足这些目标可确保系统能够跟上用户不断变化的偏好,而不会被大量数据所淹没。

为了将大量稀疏特征混合到计算机内存中,研究人员提倡使用Cuckoo Hashmap(https://en.wikipedia.org/wiki/Cuckoo_hashing)设计,以最大限度地减少碰撞或两个键无意中占据同一空间。

为了进一步减少内存使用量,很少使用的 ID 会被删除。

快速个性化推荐


本质上,Monolith 代表着从传统的微服务系统构建方法转向更统一的整体架构


虽然字节跳动尚未确认 TikTok(或中文版抖音)是否使用了 Monolith 架构,但该公司的所有服务都依赖于以闪电般的速度提供个性化内容的能力。


TikTok如今拥有近 20 亿用户,其中文版抖音是专门针对中国的独立实体。该公司还运营着今日头条,这是一款新闻和个人内容聚合应用程序。该公司还有一个长视频平台西瓜视频,以及一个游戏部门、一个托管推荐服务(BytePlus 推荐)、一个企业协作套件(Lark,在中国称飞书)以及流行的CapCut 视频编辑工具和托管服务。


中山大学研究员赵正伟观察到,在TikTok或抖音上,用户几乎不需要做任何努力就能找到有吸引力的内容。只要用户开始滑动,应用程序就会开始学习。


人们使用 TikTok 的频率越高,“算法就越准确”。

作者:跨年的大雄

评论