Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >TikTok背后的AI如何运作

TikTok背后的AI如何运作

作者头像
喵叔
发布于 2022-05-05 00:00:12
发布于 2022-05-05 00:00:12
9940
举报
文章被收录于专栏:喵叔's 专栏喵叔's 专栏

从工程师的角度探索TikTok推荐系统架构。

TikTok是一款视频共享应用程序,可让用户创建和共享短视频。它以个性化的“just for you”的推荐给用户留下了深刻的印象。它在Z世代中非常受欢迎,容易让人上瘾。在它的背后,它是由人工智能技术驱动的。

TikTok架构

TikTok推荐系统的架构包括三个组件:大数据框架、机器学习微服务架构。 大数据框架是系统的起点。它提供实时数据流处理,数据计算和数据存储; 机器学习是推荐系统的大脑。使用一系列机器学习和深度学习算法与技术用于构建模型并生成适用于个人偏好的建议; 微服务架构是底层的基础设施,使整个系统快速高效地提供服务。

大数据框架

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

日志数据通过flume和scribe收集和汇总。它们通过管道进入Kafka 队列。然后,Apache Storm使用Apache Hadoop生态系统中的其他组件实时处理数据流。 Apache Hadoop生态系统是一个用于数据处理和存储的分布式系统,这包括第一代分布式数据处理系统MapReduce。它与批处理并行处理数据。YARN 是用于作业调度和群集资源管理的框架。HDFS 是一个分布式文件系统HBase 是一个可扩展的分布式数据库,支持大型表的结构化数据存储。Hive 是提供数据汇总和查询的数据仓库基础结构。 Zookeeper是一项高性能的协调服务。 随着数据量的快速增长,实时数据处理框架也随之出现。Apache Spark是第三代框架,有助于对大数据工作负载进行近乎实时的分布式处理。Spark通过在内存中处理来增强MapReduce的性能。在过去的几年里,TikTok应用了第四代框架Flink。它旨在本机执行实时流式处理。 数据库系统包括MySQLMongoDB和许多其他系统。

机器学习

这是TikTok如何赢得个性化,且令人上瘾的算法家喻户晓的名字的中心。

在大量数据集涌入后,接下来是内容分析、用户分析和上下文分析。神经网络深度学习框架(如TensorFlow)用于执行计算机视觉和本地语言处理(NLP)。计算机视觉将使用照片和视频解释图像。NLP包括分类、标记和评估。 使用经典的机器学习算法,包括逻辑回归(LR),卷积神经网络(CNN),递归神经网络(RNN)和梯度提升决策树(GBDT)。它应用了常见的推荐方法,例如基于内容的过滤 (CBF)、协同过滤 (CF) 和更高级的矩阵分解 (MF)。 TikTok用来读你心思的秘密武器是:

  1. 算法实验平台:工程师对LR和DNN等多种机器学习算法的混合进行实验,然后运行测试(A / B测试)并进行调整。
  2. 广泛的分类和标签:这些模型基于用户的参与度,例如观看时间,滑动以及常用的喜欢或分享(你潜意识反映所做的事比你所说的更能说明你)。用户特征、向量和类别的数量超过了世界上大多数推荐系统,而且它们还在不断增加。
  3. 用户反馈引擎:在多次迭代中检索用户反馈后,更新模型。体验管理平台基于此引擎构建,最终改进了条件和建议。

为了解决建议中的冷启动问题,使用了召回策略。它是从数千万个已被证明受欢迎且高质量的视频中选择数千名候选人。 与此同时,一些人工智能工作已经转移到客户端,以实现超快速的响应。这包括在设备上完成的实时训练、建模和推理。TensorFlow Lite或ByteNN等机器学习框架用于客户端。

微服务架构

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

TikTok采用基于Kubernetes容器化技术。Kubernetes 被称为容器编排器。它是自动化应用程序生命周期的工具集。Kubeflow致力于在Kubernetes上部署机器学习工作流。 作为云原生堆栈的一部分,Service mesh 是另一个处理服务到服务通信的工具。它控制应用程序的不同部分如何相互共享数据。它在平台层插入功能或服务,而不是在应用程序层插入。 由于高并发性的要求,服务是使用 Go 语言和 gRPC 构建的。在TikTok中,Go因其良好的内置网络和并发支持而成为服务开发中的主导语言。gRPC 是一个远程过程控制框架,用于有效地构建和连接服务。 Tiktok的成功在于,它将加倍努力提供最佳的用户体验。他们构建内部工具,以最大限度地提高低级别(系统级别)的性能。例如,ByteMesh是Service Mesh的改进版本,KiteX是高性能的Golang gRPC框架,Sonic是增强的Golang JSON库。其他内部工具或系统包括参数服务器、ByteNN 和 abase等。 正如TikTok机器学习负责人Xiang Liang所说,有时下面的基础设施比上面的(机器学习)算法更重要。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022/05/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
TikTok的算法为何如此有效?
抖音的推荐系统非常擅长理解用户需求——好到让埃隆·马斯克这样的科技巨头都羡慕不已。但抖音的成功秘诀是什么呢?
云云众生s
2025/01/26
2210
TikTok的算法为何如此有效?
数据架构的未来——浅谈流处理架构
数据架构设计领域正在发生一场变革,其影响的不仅是实时处理业务,这场变革可能将基于流的处理视为整个架构设计的核心,而不是将流处理只是作为某一个实时计算的项目使用。本文将对比传统数据架构与流处理架构的区别,并将介绍如何将流处理架构应用于微服务及整体系统中。
用户6070864
2019/08/30
6670
数据架构的未来——浅谈流处理架构
《AI高效运维体系建设创新》技术连载(二)
AI运维(AIOps)是将人工智能技术与IT运维相结合的新型运维方法论。其核心概念与原理包括:
蓝葛亮
2025/05/31
930
《AI高效运维体系建设创新》技术连载(二)
两届黑客马拉松冠军:K8S深度学习平台实践经验分享
内容来源:2017年11月19日,饿了么资深后端工程师江骏在“11.19上海 | K8S Sail!系列技术沙龙”进行《饿了么Docker&K8S实践经验分享》演讲分享。IT 大咖说(微信id:itd
IT大咖说
2018/04/18
8320
两届黑客马拉松冠军:K8S深度学习平台实践经验分享
使用 Istio 治理微服务
使用云平台可以为组织提供丰富的好处。然而,不可否认的是,采用云可能会给 DevOps 团队带来压力。开发人员必须使用微服务以满足应用的可移植性,同时运营商管理了极其庞大的混合和多云部署。Istio 允许您连接、保护、控制和观测服务。
搜云库技术团队
2019/10/17
1K0
传奇程序员用“考古”方式剖析微服务利弊:我们都被骗了?
编译 | 核子可乐、Tina 忘记历史之人,注定将重蹈覆辙。 最近,关于微服务的讨论又多了起来,包括马斯克、GitHub 前 CTO 都加入了批判微服务的阵营。昨天,传奇程序员 Ted Neward 也在他博客上发了一篇文章,作为一位 IT 行业的“老年人”,他用溯源的方式,挑选文献进行了“考古”,以此分析微服务想解决的问题,以及由此带来的利弊。 Ted Neward 在 IT 行业工作了 30 多年,在这期间他多数时间都在担任初创企业的架构师或 CTO。同时他还在各种技术会议上发表主题演讲,撰写了很
深度学习与Python
2023/03/29
1680
传奇程序员用“考古”方式剖析微服务利弊:我们都被骗了?
模块化 VS 微服务:别让架构选择误入 “伪需求” 陷阱
架构有时候挺难捉摸的——人们不断提出新想法,这些想法在没有任何背景或者细微差别的情况下快速成为主流“实现方式”;而迫于寻求架构改进之法的行业则盲目跟进,不假思索地全盘接受。
架构精进之路
2025/04/30
1150
模块化 VS 微服务:别让架构选择误入 “伪需求” 陷阱
大数据技术学习路线指南
要说当下IT行业什么最火?ABC无出其右。所谓ABC者,AI + Big Data + Cloud也,即人工智能、大数据和云计算(云平台)。每个领域目前都有行业领袖在引领前行,今天我们来讨论下大数据Big Data这个方向。如果您感觉阅读文字太累,可以点击下面音频!
用户2292346
2019/01/26
7480
大数据技术学习路线指南
微服务架构中Java的应用
在微服务架构中,Java是一种非常常用的编程语言。Java生态系统非常庞大,有许多框架和工具可以用来构建和管理微服务。
程序员阿伟
2024/12/09
1070
女友问粉丝过万如何庆祝,我发万字长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学妹|学弟|小白看了就懂
Java基础语法,面向对象,字符串,异常,集合,IO,线程、数据库、JDBC,Maven
Lansonli
2021/10/11
4920
Spring AI发布!让Java紧跟AI赛道!
在当今技术发展的背景下,人工智能(AI)已经成为各行各业中不可忽视的重要技术。无论是在互联网公司,还是传统行业,AI技术的应用都在大幅提升效率、降低成本、推动创新。从智能客服到个性化推荐,从语音识别到图像处理,AI的广泛应用已经渗透到生活中的各个角落。\
有一只柴犬
2025/02/16
5080
Spring AI发布!让Java紧跟AI赛道!
在线推理和在线学习,从两大层级看实时机器学习的应用现状
与美国、欧洲和中国一些大型互联网公司的机器学习和基础设施工程师聊过之后,我发现这些公司可以分为两大类。一类公司重视实时机器学习的基础设施投资(数亿美元),并且已经看到了投资回报。另一类公司则还在考虑实时机器学习是否有价值。
机器之心
2021/01/20
1.2K0
职位情报局 | 1.65亿天使轮融资背后,林元庆需要怎样的AI人才?
林元庆离开百度三个多月后(戳这里看大数据文摘此前报道),他的新公司Aibee拿到了1.65亿元的天使轮融资。 作为曾经的百度研究院院长、深度学习实验室(IDL)主任,林元庆这番创业选择了传统行业,与他的前同事、百度前首席科学家吴恩达(Andrew Ng)的选择不约而同(戳这里了解吴恩达新公司landing.ai)。 Aibee(爱笔)寓意AI2B,意即用AI技术对传统行业赋能升级。 对于一家AI创业公司来说,最重要的工作可能是“抢人”——精干的AI团队将成为公司最大的资产。目前,Aibee有近20名员工,其
大数据文摘
2018/05/24
7320
2021腾讯犀牛鸟精英工程人才培养计划课题介绍(上篇)
12月11日,2021年腾讯犀牛鸟精英科研人才培养计划正式对外发布。计划截止申报时间为2021年1月28日24:00。 本年度犀牛鸟精英计划首次发布(试运行)“犀牛鸟精英工程人才培养计划”,该计划由校/院级教学组织推荐学生及指导老师组队申报,入选团队及学生将借助产业真实问题和实战平台,深度参与推进技术在产业场景中应用落地。 首次试运行共发布8项课题,其中包含腾讯微信、地图、安全等与日常生活紧密相关的核心产品及技术领域。 本文推送计划中四个课题内容: 课题一场景化多模态聊天助手; 课题二面向抢占式资源的多云
腾讯高校合作
2021/01/06
1.9K0
文末福利-如何构建核心竞争力? | 25位技术大咖的通关秘籍在此
核心竞争力的概念首次出现是在1990年,将其定义为“是在组织内部经过整合了的技术、知识和技能,尤其是关于怎样协调多种生产机能和整合不同技术和技能”。概括地讲,就是指提供企业竞争优势基础的多方面技术、技能和知识的有机组合。 它是企业竞争力的基础和获得竞争优势的根源,特别在中国加入WTO以后,经济全球化进程日益加快,企业间的竞争也愈加激烈,构建并提高自身的核心竞争能力不仅成为企业的必然选择,也成为每位技术人的追求目标。 由msup主办的第44届MPD工作坊深圳站将于9月21日-22日在深圳华侨城洲际酒店举
腾讯大讲堂
2019/09/17
1K0
文末福利-如何构建核心竞争力? | 25位技术大咖的通关秘籍在此
微服务架构系列一:关键技术与原理研究
作者:zhilongwang(王志龙) 导语:人不为己,天诛地灭这个成语中的“为”念作wéi,阳平二声,是“修养,修为”的意思。成语的意思是:如果人不修身,那么
腾讯技术工程官方号
2019/08/16
3.3K0
微服务架构系列一:关键技术与原理研究
大数据学习路线
上图是一个简化的大数据处理流程图,大数据处理的主要流程包括数据收集、数据存储、数据处理、数据应用等主要环节。下面我们逐一对各个环节所需要的技术栈进行讲解:
小歪
2019/12/15
9280
校招进大厂,分享 Tom哥的读书单
大家好,我是Tom哥。校招进阿里,研究生,P7技术专家,出过专利,竞赛拿过奖,CSDN博客专家,负责过电商交易、社区生鲜、营销、金融等业务,多年团队管理经验,爱思考。
微观技术
2021/07/28
8220
浅析2025年后端编程发展趋势
随着技术的不断发展,2025年的后端编程可能会有多种热门技术。云原生技术将持续火热,云原生应用强调将应用程序完全构建和部署在云环境中,充分利用云计算的优势。容器化技术作为云原生的重要组成部分,像Docker这种容器化技术可以将应用程序及其依赖项打包成一个独立的运行单元,实现了跨平台、可移植的部署方式,在2025年也依然会是后端开发的重要技术。
码农编程进阶笔记
2024/11/29
1.2K0
浅析2025年后端编程发展趋势
浅谈人工智能的学习
人工智能(AI)的发展是一个从学术研究、行业验证、商业落地、行业平台到智能生态的一层层深入过程,这也是人工智能理想的发展阶段。人工智能的重要性无需赘述,对AI学习对我们来说同样重要,但是如何学习人工智能呢?
半吊子全栈工匠
2019/05/10
1.1K0
浅谈人工智能的学习
推荐阅读
相关推荐
TikTok的算法为何如此有效?
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档