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

TikTok背后的人工智能是如何工作的_0

时间:2023-03-19 01:24:37 科技观察

TikTok是一款视频共享应用程序,可让用户创建和共享短视频。它以“只为你”的个性化推荐给用户留下深刻印象。它在Z世代中非常容易上瘾和流行,人工智能技术是其背后的主要技术。TikTok架构TikTok推荐系统的架构由三部分组成:大数据框架、机器学习和微服务架构。(1)大数据框架是推荐系统的起点。它提供实时数据流处理、数据计算和数据存储。(2)机器学习是推荐系统的大脑。应用了一系列机器学习和深度学习算法和技术来构建模型并生成根据个人喜好量身定制的建议。(3)微服务架构是使整个系统能够快速高效服务的底层基础设施。大数据框架没有数据就没有智能。TikTok的大部分数据来自用户的智能手机。这包括操作系统和已安装的应用程序等内容。更重要的是,TikTok特别关注用户的活动日志,例如观看时长、滑动、点赞、分享和评论。日志数据由Flume和scribe收集和聚合,然后通过管道传输到Kafka队列中。然后,ApacheStorm与A??pacheHadoop生态系统中的其他组件实时处理数据流。ApacheHadoop生态系统是一个用于数据处理和存储的分布式系统。这包括MapReduce,第一代分布式数据处理系统,它处理数据与批处理并行。YARN是作业调度和集群资源管理的框架;HDFS是分布式文件系统;HBase是一个可扩展的分布式数据库,支持大表的结构化数据存储。Hive是提供数据聚合和查询的数据仓库基础设施。Zookeeper是一种高性能的协调服务。随着数据量的快速增长,实时数据处理框架应运而生。ApacheSpark是第三代框架,可促进大数据工作负载的近实时分布式处理。Spark通过在内存中处理来增强MapReduce的性能。近几年,抖音应用了第四代框架Flink。它专为本地实时流处理而设计。数据库系统包括MySQL、MongoDB等。机器学习这是TikTok如何实现其超个性化、令人上瘾的算法并家喻户晓的核心。海量数据集涌入后,内容分析、用户分析、场景分析接踵而至。TensorFlow等神经网络深度学习框架用于执行计算机视觉和自然语言处理。计算机视觉将破译照片和视频中的图像。自然语言处理包括分类、标记和评估。使用经典的机器学习算法,包括逻辑回归、卷积神经网络、递归神经网络和梯度提升决策树。应用了常见的推荐方法,例如基于内容的过滤、协同过滤和更高级的矩阵分解。TikTok用来读心的秘密武器是:(1)算法实验平台:工程师混合各种机器学习算法,如逻辑回归、卷积神经网络等进行实验,然后进行测试(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等。正如TikTok机器学习负责人所说,有时候底层的基础设施比它上面的(机器学习)算法更重要。