社区编辑申请
注册/登录
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人工智能架构

2022-05-10 14:11:55

人工智能金融科技机器学习

2022-05-06 16:31:27

人工智能自然语言生物特征识别

2022-04-25 14:06:28

数据分析人工智能机器学习

2022-04-08 10:09:40

人工智能神经网络机器学习

2022-05-24 12:05:36

Testin云测试

2022-04-12 10:04:41

人工智能AI

2022-04-20 11:14:05

人工智能军事化科技革命

2022-03-31 15:37:11

扎克伯格TikTok黑稿

2022-04-28 21:39:04

人工智能云计算AI

2022-05-13 09:34:00

Slik-wrang机器学习人工智能

2020-08-06 14:10:41

Facebook 开发TikTok

2022-04-07 14:37:37

人工智能机器学习数据安全

2020-08-03 14:20:18

字节跳动TikTok 所有权

2022-05-01 22:16:11

人工智能工厂维修

2022-04-28 18:18:51

人工智能疫情机器人

2022-04-20 10:33:59

人工智能数字经济互联网 文章链接:智

2022-03-23 14:09:11

人工智能技术元宇宙

2022-04-20 11:57:30

物联网人工智能

2020-09-14 12:41:24

TikTok微软甲骨文

同话题下的热门内容

炼丹速度×7!你的Mac电脑也能在PyTorch训练中用GPU加速了阿里副总裁、达摩院副院长金榕被曝离职!AI科学家集体“逃离“大厂…信息抽取里程碑式突破!NLP要迎来大规模落地了?骗过83%网友!图像生成界天花板DALL-E 2竟然通过了图灵测试?美团图神经网络训练框架的实践和探索超优的纯文本模型?GPT-4蓄势待发什么时候使用机器学习元宇宙在艺术行业的探索

编辑推荐

转转公司架构算法部孙玄:AI下的微服务架构Facebook开源相似性搜索类库Faiss,超越已知最快算法8.5倍运维:对不起,这锅,我们不背快消品图像识别丨无人店背后的商品识别技术最全面的百度NLP自然语言处理技术解析
我收藏的内容
点赞
收藏

51CTO技术栈公众号