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

人工智能 移动应用
TikTok是一款视频分享应用程序,可以让用户创建和分享短视频。它以“只为你”的个性化推荐给用户留下深刻印象。TikTok推荐系统的架构包括三个组成部分:大数据框架、机器学习、微服务架构。

TikTok是一款视频分享应用程序,可以让用户创建和分享短视频。它以“只为你”的个性化推荐给用户留下深刻印象。它非常容易上瘾,在Z世代中很受欢迎,而人工智能技术是其背后采用的主要技术。

TikTok架构

TikTok推荐系统的架构包括三个组成部分:大数据框架、机器学习、微服务架构。

(1)大数据框架是推荐系统的起点。它提供实时数据流处理、数据计算和数据存储。

(2)机器学习是推荐系统的大脑。一系列机器学习和深度学习算法和技术被应用于构建模型,并生成适合个人偏好的建议。

(3)微服务架构是让整个系统快速高效服务的底层基础设施。

大数据框架

没有数据,就没有智慧。TikTok的大多数数据来自用户的智能手机。这包括操作系统和安装的应用程序等。更重要的是,TikTok特别关注用户的活动日志,例如观看时间、滑动、点赞、分享和评论。

日志数据通过Flume和scribe进行收集和汇总,它们通过管道传输到Kafka队列中。然后Apache Storm与Apache Hadoop生态系统中的其他组件实时处理数据流。

Apache Hadoop生态系统是一个用于数据处理和存储的分布式系统。这包括第一代分布式数据处理系统MapReduce,它与批处理并行处理数据。YARN是一个用于作业调度和集群资源管理的框架;HDFS是一个分布式文件系统;HBase是一个可扩展的分布式数据库,支持大型表格的结构化数据存储。Hive是提供数据汇总和查询的数据仓库基础设施。Zookeeper是一个高性能的协调服务。

随着数据量的快速增长,实时数据处理框架应运而生。ApacheSpark是第三代框架,有助于对大数据工作负载进行近乎实时的分布式处理。Spark通过在内存中处理来增强MapReduce的性能。在过去的几年里,TikTok应用了第四代框架Flink。它旨在本地进行实时流处理。

数据库系统包括MySQL、MongoDB等。

机器学习

这就是TikTok如何获得家喻户晓的超个性化、令人上瘾的算法的核心。在大量数据集涌入之后,接下来是内容分析、用户分析和场景分析。TensorFlow等神经网络深度学习框架用于执行计算机视觉和自然语言处理。计算机视觉将用照片和视频破译图像。自然语言处理包括分类、标签和评估。

使用经典的机器学习算法,包括逻辑回归、卷积神经网络、递归神经网络和梯度提升决策树。应用了常见的推荐方法,例如基于内容的过滤、协同过滤和更高级的矩阵分解。

TikTok用来解读人们思想的秘密武器是:

(1)算法实验平台:工程师对逻辑回归、卷积神经网络等多种机器学习算法的混合进行实验,然后运行测试(A/B测试)并进行调整。

(2)广泛的分类和标签:模型基于用户的参与度,例如观看时间、滑动以及常用的点赞或分享(人们所做的作为通常是潜意识的反映)。用户特征、向量和类别的数量超过了世界上大多数推荐系统都要多,而且它们还在不断增加。

(3)用户反馈引擎:在多次迭代检索用户反馈后更新模型。体验管理平台是建立在这个引擎之上的,并最终改善了这些缺陷和建议。

为了解决推荐中的冷启动问题,使用了召回策略。就是从数以千万计的视频中挑选出数千名候选人,这些视频已经被证明是受欢迎的和高质量的视频。

与此同时,一些人工智能工作已经转移到客户端,以获得超快的响应。这包括在设备上进行实时培训、建模和推理。客户端使用了TensorFlow Lite或ByteNN等机器学习框架。

微服务架构

TikTok采用了云原生基础设施。用户分析、预测、冷启动、召回和用户反馈引擎等推荐组件用作API。这些服务托管在Amazon AWS和Microsoft Azure等云平台中。作为系统的结果,视频策展将通过云端推送给用户。

TikTok采用基于Kubernetes的容器化技术。Kubernetes被称为容器编排器,它是自动化应用程序生命周期的工具集。Kubeflow致力于在Kubernetes上部署机器学习工作流。

作为云原生堆栈的一部分,服务网格是另一种处理服务到服务通信的工具。它控制应用程序的不同部分如何相互共享数据。它在平台层而不是应用程序层插入功能或服务。

由于对高并发性的要求,这些服务是用Go语言和gRPC构建的。在TikTok中,Go由于其良好的内置网络和并发支持而成为服务开发中的主导语言。gRPC是一个远程过程控制框架,用于高效地构建和连接服务。

Tiktok的成功在于它会更加努力地提供最佳的用户体验。他们构建内部工具以最大限度地提高低级别(系统级别)的性能。例如,ByteMesh是Service Mesh的改进版本,KiteX是一个高性能的Golang gRPC框架,Sonic是一个增强的Golang JSON库。其他内部工具或系统包括参数服务器、ByteNN和abase等。

正如TikTok机器学习负责人所说,有时底层的基础设施比其上面的(机器学习)算法更重要。

责任编辑:未丽燕 来源: 企业网D1Net
相关推荐

2022-04-28 08:00:00

TikTok人工智能架构

2021-05-28 17:24:32

人工智能AI深度学习

2023-12-05 14:46:58

人工智能

2024-02-04 09:36:16

人工智能AIGPT-4

2020-10-09 07:39:46

智能

2023-09-04 14:09:13

2021-11-11 14:49:42

人工智能AI

2020-06-16 17:43:57

人工智能AI

2017-12-07 09:22:38

人工智能应用实践

2018-05-28 11:41:39

AR

2021-01-27 11:56:45

AIops人工智能AI

2022-07-22 18:47:30

AIOmniverse

2022-01-13 06:59:40

人工智能无代码IT

2022-07-12 10:06:08

人工智能AI

2019-02-14 09:10:52

人工智能AI

2020-08-31 15:15:20

人工智能算法AI

2020-10-22 15:05:11

人工智能

2017-08-24 09:07:51

人工智能神经科学

2019-08-14 09:32:14

人工智能机器学习编程

2023-02-07 10:28:39

点赞
收藏

51CTO技术栈公众号