当前位置: 首页 > 科技观察

TikTok背后的AI是如何工作的

时间:2023-03-20 14:41:43 科技观察

从工程师的角度探索TikTok推荐系统架构。TikTok是一款视频分享应用,让用户可以创建和分享短视频。它通过个性化的“只为你”推荐给用户留下深刻印象。它在Z世代中非常受欢迎并且令人上瘾。在它的背后,是人工智能技术的驱动。TikTok架构TikTok推荐系统的架构由三部分组成:大数据框架、机器学习和微服务架构。大数据框架是系统的起点。提供实时数据流处理、数据计算和数据存储;机器学习是推荐系统的大脑。使用一系列机器学习和深度学习算法和技术来构建模型并生成适合个人喜好的推荐;微服务架构是使整个系统能够快速高效地提供服务的底层基础设施。大数据框架没有数据就没有智能。分析的大部分数据来自用户的智能手机。这包括操作系统和已安装的应用程序等内容。更重要的是,TikTok特别关注用户的活动日志,例如观看时长、滑动、点赞、分享和评论。日志数据由flume和scribe收集和聚合。它们通过管道传输到Kafka队列中。然后,ApacheStorm使用ApacheHadoop生态系统中的其他组件实时处理数据流。ApacheHadoop生态系统是一个用于数据处理和存储的分布式系统,其中包括第一代分布式数据处理系统MapReduce。它与批处理并行处理数据。YARN是作业调度和集群资源管理的框架。HDFS是一个分布式文件系统。HBase是一个可扩展的分布式数据库,支持大表的结构化数据存储。Hive是提供数据聚合和查询的数据仓库基础设施。Zookeeper是一种高性能的协调服务。随着数据量的快速增长,实时数据处理框架也应运而生。ApacheSpark是第三代框架,可促进大数据工作负载的近实时分布式处理。Spark通过在内存中处理来增强MapReduce的性能。近几年,抖音应用了第四代框架Flink。它旨在在本地执行实时流式传输。数据库系统包括MySQL、MongoDB等。机器学习是TikTok如何凭借其个性化、令人上瘾的算法赢得家喻户晓的核心。海量数据集涌入后,内容分析、用户分析、语境分析接踵而至。TensorFlow等神经网络深度学习框架用于执行计算机视觉和本地语言处理(NLP)。计算机视觉将使用照片和视频来解释图像。NLP包括分类、标记和评估。使用经典的机器学习算法,包括逻辑回归(LR)、卷积神经网络(CNN)、递归神经网络(RNN)和梯度提升决策树(GBDT)。它应用了常见的推荐方法,例如基于内容的过滤(CBF)、协同过滤(CF)和更高级的矩阵分解(MF)。TikTok用来读心的秘密武器是:1.算法实验平台:工程师混合使用LR和DNN等多种机器学习算法进行实验,然后运行测试(A/B测试)并进行调整。2.广泛的分类和标记:这些模型基于用户参与度,例如观看时间、滑动和常见的点赞或分享(你下意识做的事比你说的更能说明你)。用户特征、向量和类别的数量超过了世界上大多数推荐系统,并且还在继续增加。3.用户反馈引擎:在多次迭代中检索用户反馈后,更新模型。体验管理平台建立在这个引擎上,从而改善了条件和建议。为了解决所提出的冷启动问题,使用了召回策略。它从数以千万计的经过验证的流行和高质量视频中选择了数千个候选者。同时,一些AI工作已卸载到客户端以实现超快速响应。这包括在设备上进行的实时训练、建模和推理。客户端使用TensorFlowLite或ByteNN等机器学习框架。微服务架构TikTok已经使用了云原生基础架构。用户分析、预测、冷启动、召回、用户反馈引擎等推荐组件作为API使用。这些服务托管在亚马逊AWS和微软Azure等云中。由于该系统,视频精选将通过云端推送给用户。TikTok使用基于Kubernetes的容器化技术。Kubernetes被称为容器编排器。它是一个用于自动化应用程序生命周期的工具集。Kubeflow致力于在Kubernetes上部署机器学习工作流。服务网格是另一种处理服务到服务通信的工具,作为云原生堆栈的一部分。它控制应用程序的不同部分如何相互共享数据。它在平台层而不是在应用程序层插入功能或服务。由于并发要求高,服务使用Go语言和gRPC构建。在TikTok中,Go因其良好的内置网络和并发支持而成为服务开发的主导语言。gRPC是一个远程过程控制框架,用于高效地构建和连接服务。Tiktok的成功在于它会更加努力地提供尽可能最好的用户体验。他们构建内部工具以最大化低级(系统级)性能。例如,ByteMesh是ServiceMesh的改进版本,KiteX是一个高性能的GolanggRPC框架,Sonic是一个增强的GolangJSON库。其他内部工具或系统包括parameterserver、ByteNN和abase等。正如抖音机器学习负责人项亮所说,有时候底层的基础设施比上面的(机器学习)算法更重要。译者介绍朱刚,51CTO社区编辑,2021IT影响力专家博主,阿里云专家博主,2019CSDN博客之星Top20,2020腾讯云+社区优秀作者,11年一线开发经验,曾参与猎头服务网站架构设计、企业智能客服及大型电子政务系统开发,主导建设某大型央企内部防泄密及电子文档安全监控系统,目前在北京途家从事医疗软件研发健康。原标题:HowtheAIBehindTikTokWorks,作者:VivienH.