目录
广告平台的建设和完善是一项长期工程。例如,谷歌早于2003年通过收购Applied Semantics开展Google AdSense 项目,而直到20年后的今天,谷歌展示广告平台仍在持续创新和提升。广告平台是负有营收责任的复杂在线平台,对其进行任何改动都必须格外谨慎。同时,随着平台的成熟,广告效果提升的难度也会加大。一套完备、易用、严谨的线上实验系统,是质量团队长期维持高效输出的关键工具,其重要性不亚于大航海时代的指南针。
每家跨国互联网公司都会有一个广告系统,为公司源源不断地贡献利润。互联网的发展史与互联网广告的发展史也基本吻合,互联网广告可以说是利用现代信息技术打造的完美商业模式。
广告平台通常分为业务(通常包含投放系统、业务数据库等)、系统(也叫工程、基建)和质量(也叫算法,通常还包括数据)三大领域。而广告平台的核心竞争力在于,利用高效、规模化的系统提升广告质量,从而帮助客户达成商业目标。
《互联网广告系统:架构、算法与智能化》
唐溪柳 著
融合作者在Google和腾讯的10余年广告工作经验
全面讲解互联网广告系统的架构、技术选型、落地方法论、实施路径和行业案例
本书是作者基于自身丰富的行业知识与实战经验撰写而成的,旨在帮助读者深入了解广告平台的建设和完善,获取实战经验,提高自身技能和竞争力。**例如,数据工程是大数据平台的核心,而要充分发挥数据优势,就需要强大的系统能力来支持各种针对商业目标的算法实现。**本书第5章完整覆盖了数据架构的要素,更介绍了几类常见广告定向特征处理算法,其中包含许多业界难得一见的实战经验分享。第6章专门阐述了实验系统构建的各种细节。
本书是"秘笈",也是极为详尽的大规模广告平台"线路级设计图"。相信无论是系统工程师、算法研究员、产品经理,还是有志于加入广告行业的人员,都可以通过本书深入了解先进广告系统的架构和应用。
内容简介
这是一部从工程实践角度讲解互联网广告系统的业务价值、产品形态、架构设计、技术选型、落地方法论、实施路径和行业案例的著作,是作者在谷歌和腾讯从事广告系统架构设计与工程实现的10余年经验总结。
通过本书,你将掌握以下内容:
-
互联网广告的生态和产品形态
首先介绍了谷歌、Meta、亚马逊、微软等主要在线广告平台;然后介绍了主要在线广告网络和程序化购买生态;最后介绍了在线广告产品形态,包括在线广告的投递方式和计费方式。主要目的是帮助读者建立对互联网广告生态的宏观认知
-
广告投放系统的架构与设计
结合Facebook Marketing、Google Ads、Twitter Ads等广告平台讲解了广告投放系统,主要内容包括广告的层级结构、三个广告平台API的特点及用法演示,以及API的基本设计原则和设计方法论。读者可以从本章中学到现代广告系统投放子系统的设计思想。
-
广告系统的设计方法论
互联网广告系统的规模往往比较大,因此本部分详细介绍了以分布式系统为代表的大规模网络系统的架构设计方法论,为读者设计广告系统打下基础。
-
广告系统的工程架构
详细讲解了广告播放系统的架构设计、广告系统的数据架构设计、广告系统中的A/B测试等。
-
广告策略系统的架构设计
首先介绍了广告竞价原理和广告策略系统设计;然后讲解了广告系统预估子系统,包括预估模型数据处理、常用的模型评价方法与指标、常用的模型训练方法,以及新广告点击率预估和转化率预估。
本书系统阐述了互联网广告系统设计的方方面面,对广告系统、推荐系统、大数据系统的建设具有很高的参考价值。
作者简介
唐溪柳资深广告技术专家和软件架构专家,先后就职于谷歌和腾讯,曾担任腾讯广告技术总监(T13专家工程师)、腾讯广告引擎总架构师。主导了腾讯广告检索系统、海量数据分析系统、深度学习系统的架构设计与开发工作,以及腾讯社交广告系统从0到1的搭建,现为汇量科技资深架构师。
从事软件架构工作20余年,经历过各种项目,从小型Web服务到大型企业应用程序。专注于深度学习系统技术、检索系统、分布式网络服务、语言模型、大数据处理等方向,对编码、设计原则、数据库和软件架构等概念有深刻理解。工作目标是创建健壮、安全和可扩展的软件系统,热衷于开发解决复杂问题并帮助组织实现目标的创新解决方案。
在领导开发团队、管理资源以及与其他团队协作方面经验丰富,是一个优秀的沟通者,善于向非技术人员解释复杂的技术概念。对细节有敏锐的洞察力,能够在潜在风险和问题出现之前识别它们。
读者对象
本书是对广告系统的综合性总结,适合架构师、算法工程师以及希望了解互联网大规模系统的在校师生阅读。此外,希望了解广告系统原理的市场营销人员也可以有选择地阅读,应该不无裨益。
大咖推荐
本书作者是腾讯广告引擎的主要设计和开发负责人,主导了检索系统、海量数据分析系统、深度学习系统等的开发,这些系统支撑了腾讯广告十年的快速发展。其间,腾讯广告的年收入规模从数亿元增长到数千亿元。本书系统地介绍了互联网广告系统,覆盖架构和算法设计,主要内容包括深度学习系统技术、检索系统、分布式网络服务、大数据处理等,是一个面向广告技术从业人员的实用而全面的指南。
------林世飞 腾讯广告技术总监
一个能承接百亿级海量请求的广告系统是如何在工程实践中被有效构建出来的?这本书给出了细致的指引。我和本书作者在腾讯社交广告系统从0到1的搭建过程中合作多年,非常佩服作为架构师的他在系统架构上的深厚功底,同样欣赏他身先士卒、冲在一线写代码的精神。相信这本书能为广告系统的一线工程师带来很大帮助。
------靳志辉 火光摇曳教育科技CEO
溪柳是我在谷歌工作时的老同事,也是多年的好友。在我近20年的工作生涯里,我遇到过各种各样的牛人,有算法的,有工程的,还有理论的,而在这些人当中,溪柳是少数善于将算法应用于实践的大师。而且,溪柳在他所涉足的领域总能做到既有广度,又有深度。本书就是对上述评价的鲜活证明。在本书中,溪柳由浅入深地讲述了当前在线广告的方方面面,从互联网广告的生态现状到广告模型算法,从广告投放到广告效果测试,从分布式云计算架构到广告系统架构,从广告系统数据架构到竞价策略。相信在线广告系统的从业人员和爱好者都能从本书中获益。
------刘超 camect.com CTO&联合创始人
书本目录
序
前 言
第1章 互联网广告生态1
1.1 互联网广告生态的参与者1
1.1.1 主要在线广告平台2
1.1.2 主要在线广告网络8
1.1.3 程序化购买生态12
1.2 在线广告产品形态15
1.2.1 在线广告的投递方式15
1.2.2 在线广告的计费方式18
1.3 本章小结19
第2章 广告投放系统20
2.1 广告层级结构20
2.1.1 Facebook Marketing广告层级结构20
2.1.2 Google Ads广告层级结构22
2.1.3 Twitter Ads广告层级结构25
2.2 API的基本设计原则26
2.2.1 API的价值性27
2.2.2 API的规划性28
2.2.3 API的灵活性30
2.2.4 API的可管理性32
2.2.5 API的可支持性34
2.3 广告平台API36
2.3.1 Google Ads API37
2.3.2 Facebook Marketing API40
2.3.3 Twitter Ads API50
2.4 本章小结57
第3章 大规模网络系统架构
设计58
3.1 大规模网络系统历史背景58
3.2 分布式集群管理系统59
3.2.1 Docker简介61
3.2.2 微服务技术简介63
3.2.3 Kubernetes简介64
3.3 分布式文件系统66
3.3.1 GFS66
3.3.2 HDFS68
3.4 分布式存储69
3.4.1 分布式存储介绍69
3.4.2 HBase介绍70
3.5 分布式共识服务72
3.5.1 分布式共识算法介绍72
3.5.2 ZooKeeper使用场景73
3.6 负载均衡76
3.6.1 前端请求的负载均衡76
3.6.2 数据中心内部的负载
均衡77
3.7 监控与告警系统77
3.8 网络服务接口规范78
3.8.1 RESTful介绍79
3.8.2 GraphQL介绍79
3.8.3 RPC介绍81
3.9 本章小结84
第4章 广告播放系统架构设计85
4.1 广告播放系统架构85
4.2 数据ETL模块86
4.2.1 数据提取87
4.2.2 数据转换91
4.2.3 数据加载92
4.3 检索模块95
4.3.1 文本检索技术96
4.3.2 布尔检索103
4.3.3 最近邻搜索119
4.4 本章小结129
第5章 广告系统数据架构设计130
5.1 广告系统数据架构130
5.2 广告系统数据类型131
5.2.1 广告元数据131
5.2.2 广告日志数据133
5.2.3 用户画像数据134
5.2.4 广告上下文数据147
5.2.5 广告主私有数据与
再营销148
5.3 数据管理平台150
5.3.1 数据管理平台简介150
5.3.2 相似受众扩展153
** 5.4 特征工程平台157**
5.4.1 特征生产157
5.4.2 特征补录与训练样本
数据流159
5.4.3 特征存储161
5.4.4 特征处理算法162
5.4.5 建设统一特征工程平台的
必要性165
5.5 本章小结165
第6章 A/B测试与互联网广告166
** 6.1 A/B测试介绍166**
** 6.2 收集实验数据167**
6.2.1 流量管理168
6.2.2 流量分层169
6.3 实验数据分析176
6.3.1 大数定律与中心极限定理176
6.3.2 A/B测试中的样本量
估计179
6.3.3 辛普森悖论181
6.3.4 Mantel-Haenszel指标182
6.3.5 分桶与Jackknife重
采样186
6.4 实验信息管理191
6.5 A/B测试的广告应用场景194
6.6 本章小结194
第7章 广告系统策略195
7.1 广告竞价195
7.1.1 博弈论基础197
7.1.2 纳什均衡200
7.1.3 纳什均衡存在性证明202
7.1.4 机制设计理论211
7.1.5 广义第二价格竞价231
7.1.6 VCG竞价237
7.2 广告策略系统设计242
7.2.1 广告系统粗排设计243
7.2.2 广告预算控制系统245
7.2.3 广告调价算法247
7.3 本章小结250
第8章 预估算法251
8.1 训练数据准备与模型离线
评估252
8.1.1 训练数据准备252
8.1.2 模型离线评估254
** 8.2 常用的预估模型261**
8.2.1 逻辑回归模型与机器学习
基础262
8.2.2 支持自动特征发现的模型
方法288
8.2.3 深度学习模型294
** 8.3 新广告点击率预估314**
8.3.1 汤普森采样算法315
8.3.2 蒙特卡洛采样318
8.3.3 马尔可夫链蒙特卡洛
采样325
8.3.4 吉布斯采样330
8.3.5 拉普拉斯近似331
** 8.4 广告转化率预估334**
8.5 本章小结336