客座博文 / Larry Price,来自 OpenX 团队
编辑 / Robert Crowe、Anusha Ramesh,TensorFlow 团队
概述
Adtech(广告技术)是一个基于大规模延迟的行业。在 OpenX,这意味着我们的交易平台在流量高峰期每秒处理超过一百万个广告请求,其中的大部分请求需要在 300 毫秒内响应。在如此高的流量和严格的时间预算下,我们必须确定流量优先级,从而确保既能帮助发布商获得最高的广告库存价格,又能确保买家实现其广告系列的目标。
为此,我们利用 TensorFlow 生态系统和 Google Cloud 中的多种产品(包括 TensorFlow Extended (TFX)、TF Serving 和 Kubeflow Pipelines)构建了一项服务,该服务会优先考虑我们买家的流量(广告技术术语为需求方平台或 DSP),更具体地说是这些 DSP 内品牌和代理商的流量。
OpenX 简介
OpenX (https://www.openx.com/) 经营着全球最大的独立广告交易平台。从基本层面来看,这个交易平台是一个通过访问量最大的网站和移动应用将成千上万的顶级品牌与消费者连接起来的市场。
交易的基本方式是拍卖,拍卖中代表品牌的买家对发布商库存(即网站和移动应用上的广告展示次数)进行出价。拍卖本身非常简单,但有两个因素让这个系统变得异常复杂:
-
规模:在流量高峰期,我们的系统每秒处理超过一百万个广告请求。通常情况下,每天会有超过 1.5 万亿次出价交易,从而产生 PB 级的原始数据。
-
延迟时间:保持用户的网络和移动应用体验对发布商至关重要,因此我们处理大多数请求的时间都严格限制在 300 毫秒或更短时间内,其中的大部分时间用于询问和接收买方的出价。这意味着在拍卖时由机器学习模型引入的任何开销都必须限制在最多 15 毫秒左右,否则我们就可能无法给买家提供足够的时间提交报价。
对机器学习系统而言,这种对低延迟和高吞吐量的需求为非典型情况。在详细介绍如何构建能够满足这两个需求的机器学