汇量科技利用AWS打造一站式大数据机器学习平台,日均高效处理1000亿次线上预测

2020

广州汇量信息科技有限公司 (以下简称“汇量科技”) 定位为向全球移动开发者提供综合性服务的技术平台,于2018年12月作为“新经济移动智能营销第一股”上市港交所,在全球16个城市设有办事处,旗下拥有超过700名员工。
汇量科技旗下拥有程序化的互动式移动广告平台 Mintegral、移动效果营销平台 Nativex、移动游戏数据分析平台 GameAnalytics 三大品牌,形成了以移动广告、数据统计分析与技术两条业务线,覆盖了庞大的开发者与客户群体。其中,在 AppsFlyer 发布的2019年下半年《广告平台综合表现报告》中,汇量科技旗下程序化广告平台 Mintegral 跃升至全球综合增长榜第2、全球综合实力榜第6。此外,GameAnalytics 服务游戏开发者累计达到7.1万个,该平台的平均月活跃用户达到12亿,覆盖了全球超过1/3的游戏用户。

业务需求与挑战

  • 日均千亿次大规模广告请求
  • 作为第三方移动营销平台,汇量科技为全世界超过200个国家与地区提供24小时不间断的移动营销解决方案和洞察。不论是传统的网盟、各大媒体,还是目前入选世界第六的Mintegral程序化平台,其数据请求规模都十分巨大。汇量科技每天需要通过复杂的算法预测处理超过1000亿个广告请求,这一需求的背后,是每天数十个PB的数据处理规模、每小时数十亿个特征规模的模型训练,以及每天数万次的分析和模型训练工作。这对解决方案的高存储吞吐量与弹性要求,达到近乎严苛的地步。如何满足高吞吐量、高弹性的同时,实现成本上的优化与节省,成为汇量科技面临的首要挑战。

  • 行业特性对数据实时性的要求
  • 另一挑战来自于广告平台行业场景的特殊诉求。对于广告行业而言,其业务特点对数据时效性的需求极高:每个广告请求背后的复杂算法预测,其端到端的数据延迟要求必须少于50毫秒(p99 <50ms)。汇量科技集团副总裁朱亚东表示:“出于数据实时性方面的考虑,我们必须快速捕捉用户实时的兴趣变化,这样才能满足流量变现或者用户增长效率最大化的诉求。”这就要求汇量科技必须更有效地发掘变现流量的特点,并将这种精准、有效的数据实时传递给客户,使其流量价值最大化。

  • 数据稀疏性与复杂性的双重考验
  • 此外,其大数据机器学习平台的搭建,还面临着极大的数据稀疏性和数据复杂性的双重考验。汇量科技不同于传统的头部App,作为立足全球的服务提供商,其数据稀疏性较强且数据维度复杂。汇量科技的DNN模型拥有巨大的稀疏嵌入层,包含超过百亿维度的特征。此外,在进入分析环节前,从点击日志到训练样本,都需要对数据进行复杂的预处理。

基于上述业务需求考虑,汇量科技迫切需要搭建一套完善的一站式大数据机器学习平台体系,以自动化地满足业务增长需要。

Amazing vibrant Times Square crowded with tourists and people sightseeing. New York City, Manhattan, USA.
kr_quotemark

汇量科技利用 AWS 云服务打造的一站式大数据机器学习平台,极大地提升了我们的广告收入表现,轻松应对日均10亿台独立移动设备在线数据请求,高效处理超1000亿次线上预测,使我们的收入和净利润均有大幅提升。”

蔡超
汇量科技集团副总裁、首席工程架构师

为什么选择Amazon Web Services

汇量科技从成立之初,就采用 All-in on Cloud 的原生架构,基于 AWS 逐步建立起全栈式的移动广告平台。因此从业务的原生状态考虑,汇量科技与 AWS 之间合作十分紧密;此外,AWS 具备全球性的、成熟完善的服务生态体系,与汇量科技服务全球化的理念无缝衔接,所以双方的合作可以说是顺理成章。

  • 完善而强大的云服务体系
  • 基于汇量科技需求,AWS 为其提供了丰富的产品解决方案,包括 Amazon Elastic Compute Cloud (Amazon EC2)、 Amazon Simple Storage Service (Amazon S3)、Amazon EC2 Auto ScalingAmazon EC2 Spot 实例 等。

    在整体的架构选型上,首先需要考虑的就是汇量科技庞大的数据量与弹性需求。汇量科技经过前期调研与性能评估,打破传统思维,创新地选择了 Amazon EC2 M5d 这一新推出的实例类型。该实例类型的优势在于,每台 Amazon EC2 的实例均搭配一个本地 NVMe 磁盘,在进行高性能数据混洗的同时,轻松解决 Spark 在大规模 Shuffle 过程中数据激增的性能瓶颈,能够同时满足对 CPU、内存和磁盘的需求,配比合理。随后,汇量科技决定将整个计算集群迁移至 M5D 机型,部署规模在上千台实例,单个 spark 作业在 M5D 实例的本地 NVMe 磁盘上产生的 Shuffle 数据超过 10TB,最终在成本无需增加的同时,性能提升3倍。

    Amazon S3 数据湖为汇量科技提供了一个弹性且具有成本效益的存储池,可直接将数十个 PB 的数据存储在 Amazon S3。Amazon S3 具备的高吞吐量适用于大规模数据分析和模型训练,包括算法、模型读取的样本数据、日志数据等,不会遇到性能瓶颈,吞吐量轻松达到 20GB/s,而且非常容易地实现集群的弹性伸缩。相较于传统自建的 HDFS 存储平台,Amazon S3 无论是存储成本还是开发运维成本都能降低 90%。

    此外,汇量科技还选择大规模应用 Amazon EC2 Spot 实例作为计算资源去部署全部在线与部分离线数据集群,同时配合 Amazon Auto Scaling Group 使用。这样的选择,不仅弥补了部分时段高峰期激增的资源需求,而且节省了近 50% 的离线和在线资源成本通过这种协同创新的方式,汇量科技实现了数据流转的闭环。“AWS 为我们提供了非常丰富的产品解决方案,不管是丰富的 Amazon EC2 机型、完整的弹性扩容,还是强大的数据湖,都对我们平台的成功搭建有非常关键的驱动。”朱亚东强调。

  • 低延迟全球跨地域数据处理与模型训练
  • 在数据处理方面,为了支撑日均千亿次的广告在线读取需求,汇量科技为数据科学家提供统一的开发体验,率先选择将机器学习平台中的数据处理与模型训练都集成在 PySpark 脚本中,使用Apache MXNet,Gluon API 进行模型的训练,使用 MXNet C++SDK 进行在线预测。通过 MXNet 特有的 Parameter Server 架构,支持了大规模稀疏嵌入层的模型训练和动态批处理,在实现 PB 级别的巨量参数分析的同时,单次请求数据延迟少于10毫秒(p99 <10ms)。
    为了保证数据的全局性和完整性,汇量科技需要对部署在全球的业务数据进行统一处理。AWS 拥有高速网络连接的全球骨干网布局,可在全球范围内部署在线服务,在不同地域间提供无差别带宽的支撑,数据可实时在线传输,对算法工程师的开发效率有极大提升。

  • Apache MXNet 开源框架高效处理稀疏数据
  • 在诸多开源分布式学习框架中,汇量科技选择了 Apache MXNet,究其原因是 MXNet 在整体实现、架构等方面均与汇量科技的需求契合。MXNet 具备丰富的功能,同时汇量科技对 MXNet 开源代码进行了部分定制,使其能够更好地支持稀疏数据的计算,包括通讯、基于特征的存储等方面。在二次开发中,针对离线的模型训练,汇量科技选择将 MXNet 集成到 Spark 上,这样就可以通过 Spark 直接读取 Amazon S3 数据湖上的数据,之后再将读取的数据传给 MXNet 框架进行分布式学习的模型训练,整个算法开发流程因此变得容易操作且方便快捷。
    汇量科技资深算法架构师陈绪表示:“这对于汇量科技来说非常重要,因为 MXNet 针对大规模广告产品的特征以及数据上的稀疏性,提供了架构方面的强大优势。通过对 Spark 的适配和二次开发,汇量科技形成了自有平台的特殊功能。未来,汇量科技也会向其它客户开放相关的服务。”

获得的成效

经过测试和试运行,2018年10月,汇量科技成功将其大数据机器学习平台 MindAlpha 应用于自身业务,并在 AWS Marketplace 上正式上线。

  • 提升整体业务价值
  • 该平台使汇量科技实现了业务层级大规模数字化。现今,汇量科技的线上业务已经完全实现了用算法进行广告预测,包含广告召回、广告竞价、广告排序匹配,能够非常好地将新的广告预测和具体用户匹配起来。朱亚东指出:“汇量科技利用 AWS 云服务打造的一站式大数据机器学习平台,线上变现能力数倍增长,日均达到 10 亿台独立移动设备在线数据请求,高效处理超 1000 亿次的线上预测,使收入和净利润均实现大幅提升。我们在该领域的竞争力已跻身世界前列。”

  • 扩展系统能力和业务范围
  • 汇量科技成功开发的基于 AWS 云原生的一站式机器学习开发平台具有很好的扩展性和自适应能力。从投放广告端,可以灵活扩展更多新的品类,比如工具、社交、电商等品类,进一步扩大业务范围,增强业务泛化能力。“从流量端的玩法来看,已经有很多流量进行闭合。我们基于一站式大数据机器学习的系统,能够很好地自适应学习,帮助我们实现新的变现流量的扩展和无缝接入。”

  • 解放生产力,降本增效
  • 一站式大数据机器学习平台的上线,为汇量科技的开发人员提供了端到端的自动化开发体验,该平台能完成日均超过两万个的数据分析和模型训练作业。陈绪表示:“一站式大数据机器学习平台上线后,极大地拓宽了汇量科技产品运营的能力,通过进行大规模自适应的在线学习,能够释放出 50% 以上的人力投入到新的更有价值的工作中。” 成本优化方面,通过 Amazon EC2 Spot 实例、Amazon EC2 Auto Scaling 以及 Amazon EC2 M5d 这几种高性能机型和服务,平台可以轻松支持千亿级请求以及 PB 级计算,并且每月节省支出近 20 万美元。

未来,汇量科技有计划进行新硬件的尝试,例如 GPU 和 ARM 芯片等,并结合自身系统架构的需求进行优化迭代。“随着汇量科技深度学习模型的进一步发展,将结合 AWS 在机器学习领域的服务,如 Amazon SageMaker 来实现整体流程上的封装,或直接利用 Amazon SageMaker 进行离线调度,并实现机器学习的流程化。对 AWS 其它的新服务我们也都很感兴趣,未来将会继续携手进行新的探索。” 汇量科技集团副总裁朱亚东表示。

汇量科技基于 AWS 打造一站式大数据机器学习平台

汇量科技利用 AWS 日均高效处理 1,000 亿次线上预测 (3:18)

汇量科技基于 AWS 系统架构示意图


关于汇量科技

广州汇量信息科技有限公司定位为向全球移动开发者提供综合性服务的技术平台,于2018年12月作为“新经济移动智能营销第一股”上市港交所,在全球16个城市设有办事处,旗下拥有超过700名员工。

为什么使用 AWS

  • 丰富完备的产品体系
  • 低延迟全球跨地域数据处理与模型训练
  • AWS Apache MXNet 开源框架高效处理稀疏数据

使用的AWS服务

Amazon EC2 M5d

Amazon EC2 M5 和 M5d 实例采用第一代或第二代 Intel Xeon Platinum 8000 系列(Skylake-SP 或 Cascade Lake)处理器,稳定全内核 Turbo CPU 时钟速度最高可达 3.1GHz,与 M4 实例相比,性价比提高了 20%。

了解更多》

Amazon EC2 Spot 实例

Amazon EC2 Spot 实例让您可以利用 AWS 云中未使用的 EC2 容量。与按需实例的价格相比,使用 Spot 实例最高可以享受 90% 的折扣。

了解更多》

Amazon S3

Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。

了解更多》

Apache MXNet

Apache MXNet 是一种快速并且可扩展的训练与推理框架,附带简单易用的机器学习 API。

了解更多》


开始使用

各行各业中所有规模的公司都在使用 AWS 对其日常业务进行转型。联系我们的专家,立即踏上您的 AWS 云之旅。