CN114358859B - 用于点击率预测的基于图的大规模embedding模型训练方法及系统 - Google Patents

用于点击率预测的基于图的大规模embedding模型训练方法及系统 Download PDF

Info

Publication number
CN114358859B
CN114358859B CN202210277082.9A CN202210277082A CN114358859B CN 114358859 B CN114358859 B CN 114358859B CN 202210277082 A CN202210277082 A CN 202210277082A CN 114358859 B CN114358859 B CN 114358859B
Authority
CN
China
Prior art keywords
embedding
graph
model
vertex
rate prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210277082.9A
Other languages
English (en)
Other versions
CN114358859A (zh
Inventor
崔斌
苗旭鹏
梁宇轩
石屹宁
张海林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Peking University
Original Assignee
Peking University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University filed Critical Peking University
Priority to CN202210277082.9A priority Critical patent/CN114358859B/zh
Publication of CN114358859A publication Critical patent/CN114358859A/zh
Application granted granted Critical
Publication of CN114358859B publication Critical patent/CN114358859B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公布了一种用于点击率预测的基于图的大规模embedding模型训练方法及系统,系统包括密集参数模块和客户端模块,采用混合通信架构,将点击率预测输入数据集分配给不同工作节点,每个工作节点维护一个客户端,本地模型参数均直接存储在GPU内存中;每个工作节点均持有模型参数副本,并在训练时进行同步。本发明采用Embedding模型参数表示点击率预测输入数据对应类别特征值的重要性,将点击率预测数据和embedding模型向量表示为二元图模型,利用图局部性和度数偏斜特性执行模型并行训练;设计基于图的分区和有界同步,提高训练大型embedding模型的可扩展性和并行计算效率。

Description

用于点击率预测的基于图的大规模embedding模型训练方法 及系统
技术领域
本发明属于分布式机器学习技术领域,涉及大规模embedding模型训练方法及系统,尤其涉及一种用于点击率预测的基于图的大规模embedding模型训练方法及系统。
背景技术
Embeddings通常用于处理高维数据上的表征学习问题,例如文本语料库中的单词、用户和推荐系统中的项目。深度Embedding技术使用连续向量来表示离散变量,具有大量的实际应用,例如点击率(CTR)预测系统、图形处理和信息提取。然而,随着深度Embedding模型规模的不断扩大和输入数据量的增加,构建一个庞大的Embedding模型训练系统在有效性和效率上都更具挑战性。例如,Facebook 的生产平台提出了一个真正的深度学习推荐模型(DLRM),具有数万亿个参数和 TB 级大小,这带来了严重的可扩展性挑战。
由于稀疏大模型中的稀疏参数规模极大,现代分布式机器学习 (ML) 系统通常采用基于参数服务器(Parameter Server)或AllReduce的解决方案进行横向的规模扩展,将Embedding均匀地划分到不同服务器上。在训练过程中,计算节点采用稀疏通信的形式,动态地从参数服务器上拉取所需的Embedding向量,完成当前轮次的计算后,再将Embedding的梯度提交回参数服务器。尽管这种方式可以灵活地扩展模型规模,但是也面临大型Embedding模型的可扩展性问题。最大的低效率来自严重的通信瓶颈。以主流深度学习框架TensorFlow为例,在实际数据测试中,通信时间甚至会占到总训练时间的80%以上。目前大多数改进方向是在参数服务器的工程实现上进行优化,例如充分挖掘硬件性能来提高整个系统的吞吐率。然而并没有从根本上解决稀疏参数通信量大的问题,通信仍然是系统的核心技术难点。
现有的Embedding模型分布式训练方案(包括Parallax[1], Kraken[2], HugeCTR[3])通常采用参数服务器和AllReduce原语。进一步的,为了减少传统架构的网络通信,通常采用动态参数分配方法[4]利用参数访问局部性并在训练期间重新分配模型参数。此外,图计算系统依往往依靠图分区来最小化网络通信并确保计算均衡。为了保证计算结果的正确性,分布式训练方案采用不同的一致性协议(BSP, ASP, SSP)来提供确定性收敛保证。
现有的大规模embedding模型训练系统通常会遇到通信瓶颈。尽管Parallax,Kraken, HugeCTR等系统通过内存层次结构(例如 CPU 主内存或 SSD)提高了训练大型embedding模型的可扩展性,但它们仍然受到 CPU-GPU 或 GPU-GPU 通信瓶颈的困扰。
a.为了减少网络通信开销提出了动态参数分配方法,然而该方法无法适用于深度学习模型(数据样本可能需要更新大量不同的embeddings),从而难以在粗粒度的块上执行本地访问。
b.现有的图处理算法强调以一次性方式划分节点,以在图计算时间短的情况下最小化预处理开销。相比之下,embedding模型的训练时间要大得多,这允许考虑更多的预处理能力。此外,现有的分布式图处理算法假设每对工作节点的图是同构图和同构网络带宽。但是embedding模型的图通常有不同类型的节点扮演不同的角色(例如,参数和用户节点)。此外,embedding模型通常在表现出异构连接性(例如 NVLink、PCIe、QPI 和以太网)的 GPU集群上进行训练,导致工作节点对之间的带宽不均匀。
c.传统的一致性协议和学习系统中尚未研究过embedding之间的更新依赖关系。
综上,现有的点击率预测技术无法适用于深度学习模型,在大规模分布式训练场景下存在昂贵的网络通信开销;现有的图处理算法不适用于用于点击率预测的embedding模型的训练;现有传统的一致性协议和学习训练系统中不会考虑到embedding之间的更新依赖关系;开销大、效率低。
参考文献:
[1]Soojeong Kim, Gyeong-In Yu, Hojin Park, Sungwoo Cho, Eunji Jeong,Hyeonmin Ha, Sanha Lee, Joo Seong Jeong, and Byung-Gon Chun. 2019. Parallax:Sparsity-aware Data Parallel Training of Deep Neural Networks. In EuroSys.ACM, 43:1–43:15. https://doi.org/10.1145/3302424.3303957
[2]Minhui Xie, Kai Ren, Youyou Lu, Guangxu Yang, Qingxing Xu, BihaiWu, Jiazhen Lin, Hongbo Ao, Wanhong Xu, and Jiwu Shu. 2020. Kraken: memory-efficient continual learning for large-scale real-time recommendations. InSC. 21.
[3]2021. NVIDIA HugeCTR. https://github.com/NVIDIA/HugeCTR.
[4]Alexander Renz-Wieland, Tobias Drobisch, Zoi Kaoudi, RainerGemulla, and Volker Markl. 2021. Just Move It! Dynamic Parameter Allocationin Action. Proc. VLDB Endow. 14, 12 (2021), 2707–2710。
发明内容
为了克服上述现有技术的不足,本发明提供一种用于点击率预测的基于图的大规模embedding模型训练方法及系统,基于图实现大规模embedding模型训练,提高大规模embedding模型的可扩展性;使用混合图分区机制来解决通信瓶颈,可实现好的局部性和负载均衡;采用基于图的有界异步方法进一步提高副本的可利用性;可有效减少embedding模型的通信开销。
在本发明所提供的技术方案中,采用一种新的基于图的大规模embedding模型训练系统方法,旨在提高训练大型embedding模型的可扩展性;并提出了一种新的二元图表示来管理输入数据和embedding参数。采用一种混合图分区机制,有效缓解通信瓶颈。采用基于图的一致性模型机制,执行一种独特的有界异步形式来放松一致性保证。本发明可应用于推荐系统中的点击率预测CTR嵌入模型(CTR预测),机器学习模型(如主题模型)和图embedding嵌入模型(如知识图嵌入)。CTR 嵌入模型由于对大型嵌入表的大量并发访问而呈现出最显著的挑战和通信瓶颈。在CTR 预测场景中,从多个资源(例如查询广告相关性、广告特征和用户画像)中获取输入数据,然后估计用户点击给定广告的概率。CTR 模型输入数据的特征为类别特征,这些输入通常采用 One-hot 编码将分类特征编码为稀疏二进制向量,每个输入样本只有一小部分非零特征值(对应embedding参数)。深度 CTR 模型包括嵌入层和MLP层。嵌入层将高维稀疏输入数据转换为低维密集向量。稀疏特征很容易达到数十亿甚至数万亿的规模,使得嵌入层的参数大小达到数百GB甚至TB,明显大于单个GPU设备的内存容量。因此,在进行分布式训练时,仅进行数据并行不是一个合理的解决方案,因为单个 GPU 无法始终容纳所有嵌入参数。 由于这个原因,大多数现有的分布式训练框架都考虑了模型并行性。
本发明提供的技术方案是:
一种用于点击率预测的基于图的大规模embedding模型训练方法,将embedding模型参数和CTR点击率预测中表示用户数据对应的分类特征值的重要性作为输入数据集,将embedding模型向量表示为二元图的结构,而不是随机划分的参数块;通过利用图局部性和度数偏斜特性执行更有效的模型并行训练;进一步地引入了基于图的分区和同步,可提高训练大型embedding模型的可扩展性和并行计算效率;包括如下步骤:
1)将输入数据(点击率预测CTR分类特征和embedding模型参数)表示为二元图模型;
输入数据可包括为用户推荐的广告、产品等项目的特征数据。采用二元图模型
Figure 865637DEST_PATH_IMAGE001
来表示和管理具有大规模稀疏embedding表的深度 CTR Embedding模型的数据布局,将每个用户输入数据映射为二元图中的样本顶点,将CTR模型Embedding层的每个特征值顶点映射为embedding顶点;Embedding层的边(参数)映射为边
Figure 181605DEST_PATH_IMAGE002
。图中有两种类型的顶点,包括embedding顶点x和样本顶点
Figure 177243DEST_PATH_IMAGE003
。在二元图模型中,输入数据集中的每个样本都由一个样本顶点表示,embedding表中的每个embedding向量都由一个embedding顶点表示。 一个样本顶点与其邻接embedding顶点之间的边
Figure 377280DEST_PATH_IMAGE002
表示当前样本
Figure 370644DEST_PATH_IMAGE004
具有对应的分类特征
Figure 672443DEST_PATH_IMAGE005
。对输入特征建模为二元图模型,可支持多数现有的embedding模型。
2)采用一种混合图分区机制,对构建的二元图模型进行分区,以减少不同工作节点之间的embedding/梯度通信,同时实现最佳均衡的工作负载。
为了有效缓解通信瓶颈,本发明提供了一种混合图划分算法,来寻找具有良好局部性和工作负载均衡的分区,该算法结合了edge-cut(用于均匀分布顶点)和vertex-cut(用于均匀分布高度的边);包括:
首先执行边-划分的分区方法(1D边切割分区),以将数据和embedding图的顶点均匀地分配给工作节点,以最小化跨越工作节点的边数。
定义了一个新的分数公式来指导分配过程并均衡所有工作节点之间的资源需求(例如,embedding的数量、通信成本、计算工作量)。
为了进一步提高局部性,我们执行了额外的顶点-划分的分区方法(2D 顶点切割分区),以通过切割和复制节点在工作节点之间均匀分配高度embedding顶点的边缘。
3)本发明采用一种基于图的一致性模型机制。
顶点划分方法可能会切割和复制embedding顶点,从而在写入时引发一致性问题。为了释放顶点划分方法全部潜力,本发明执行一种独特的有界异步形式来放松一致性保证。本发明通过引入两个可以容忍陈旧状态的同步点来提出一种新颖的基于图的有界异步:读取特定embedding顶点时跨副本的embedding内同步,以及在执行计算时跨特定数据样本顶点使用的embedding间同步。
具体实施时,本发明将输入数据集分配给不同的工作节点(包括客户端、GPU以及密集参数模块)。其中,每个工作节点都维护一个客户端(client),所有的本地模型参数都直接存储在GPU内存中。将系统设计为基于 GPU 的模型并行计算系统。
与现有技术相比,本发明的有益效果是:
本发明提供一种用于点击率预测的基于图的大规模embedding模型训练方法及系统,使用基于图的系统方法,提高了大规模embedding模型的可扩展性;使用混合图分区机制来解决通信瓶颈,相对于传统的图分区算法,混合图分区机制结合了边划分算法和顶点划分算法,可以实现好的局部性和负载均衡;引入基于图的有界异步方法进一步提高副本的可利用性;搭建了一个分布式embedding系统来实现以上方法,可以有效减少embedding模型的通信开销,并且支持
Figure 409455DEST_PATH_IMAGE006
Figure 463999DEST_PATH_IMAGE007
参数规模的embedding模型训练。在图分区算法上,本发明以迭代的方式提高图划分性能,这在本质上与现有传统的图计算系统不同。为了捕捉embedding模型的这些特征,本发明还采用了异构感知的负载均衡器,用于计算和通信, 解决了现有技术处理开销大的缺点。本发明还通过使用图视图显式捕获embedding间的更新依赖关系,发明了一种以基于图的有界异步机制。
本发明通过在embedding的细粒度上利用访问局部性和偏斜特性,采用新的基于图的系统方法的分区和同步,从根本上提高了embedding模型的训练效率,解决了现有技术难以在粗粒度的块上执行本地访问的缺陷。
本发明在点击率预测应用取得良好效果,包括:具有良好的扩展性,可以支持具有
Figure 690581DEST_PATH_IMAGE008
Figure 932206DEST_PATH_IMAGE007
参数规模的点击率预测应用;在训练点击率预测应用时可以有效减少高达 87.5%的embedding通信开销;与最先进的embedding训练方法(HugeCTR)相比,本发明实现了27.5倍的加速性能。
附图说明
图1为CTR模型的图例。
图2为本发明具体实施例用于点击率预测的基于图的大规模embedding模型训练系统的结构示意图。
图3为本发明具体实施例采用的embedding模型的二元图模型示意图;
图中有两种类型的顶点
Figure 207330DEST_PATH_IMAGE009
,包括embedding顶点x和样本顶点
Figure 381959DEST_PATH_IMAGE003
。 在这个二元图模型中,输入数据集中的每个样本都由一个样本顶点表示,而embedding表中的每个embedding向量都由一个embedding顶点表示。
Figure 717126DEST_PATH_IMAGE010
表示更新的梯度值。
图4为本发明具体实施中读取操作中图分区和两个同步点的示意图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供用于点击率预测的基于图的大规模embedding模型训练方法及系统,设计一种新的基于图的系统方法,提出了一种新的二元图表示来管理输入数据和embedding参数,可提高训练大型embedding模型的可扩展性。
基于本发明新构建的二元图,需要对图进行分区以减少不同工作节点之间的embedding/梯度通信,同时实现最佳均衡的工作负载。为了减少通信开销并且实现最佳的工作负载,本发明基于embedding模型设计了一个混合的图分区机制;而混合图分区机制使用的顶点划分方法可能会切割和复制embedding顶点,从而在写入时引发一致性问题。为了释放顶点划分方法全部潜力,设计了基于图的一致性模型机制。将CTR预测模型使用图的方法进行抽象表示,为后续基于图的优化方法(混合图分区机制, 一种基于图的一致性模型机制) 奠定基础;减少通信开销并且实现最佳的工作负载,解决写入时引发的一致性问题。
图2所示为本发明具体实施例用于点击率预测的基于图的大规模embedding模型训练系统的结构;本发明方法包括如下步骤:
1)采用一种混合图分区机制。为了有效缓解通信瓶颈,我们提供了一种混合图划分算法来寻找具有良好局部性和工作负载均衡的分区,该算法结合了edge-cut(用于均匀分布顶点)和vertex-cut(用于均匀分布高度的边)顶点):
首先执行边-划分的分区方法(1D边切割分区)以将样本数据和embedding层的顶点均匀地分配给工作节点,以最小化跨越工作节点的边数。
定义了一个新的分数公式来指导分配过程并均衡所有工作节点之间的资源需求(例如,embedding的数量、通信成本、计算工作量)。
为了进一步提高局部性,我们执行了额外的顶点-划分的分区方法(2D 顶点切割分区),以通过切割和复制节点在工作节点之间均匀分配高度embedding顶点的边缘。
2)本发明采用一种基于图的一致性模型机制。
顶点划分方法可能会切割和复制embedding顶点,从而在写入时引发一致性问题。为了释放顶点划分方法全部潜力,本发明执行一种独特的有界异步形式来放松一致性保证。本发明通过引入两个可以容忍陈旧状态的同步点来提出一种新颖的基于图的有界异步:读取特定embedding顶点时跨副本的embedding内同步,以及在执行计算时跨特定数据样本顶点使用的embedding间同步。
具体实施时,本发明还提供一个实现了上述基于图的方法的分布式大规模Embedding模型训练系统,利用Embedding访问模式的局部性和偏斜特性来提高效率和可扩展性。如图2所示,系统采用混合通信架构,由多个工作节点组成,其中每个工作节点都持有密集模型参数的副本,并在训练期间使用All-Reduce 进行同步。由于Embedding参数占据了大部分的通信成本,本发明专注于加速Embedding参数的通信。总体来说,本发明将embedding参数和输入数据集分配给不同的工作节点。每个工作节点维护一个客户端模块和一个密集参数模块,所有的本地模型参数都直接存储在GPU内存中。
密集参数模块:持有密集模型参数的副本,在训练期间使用 All-Reduce 进行同步。
客户端模块:将embedding向量组织成图抽象,而不是随机划分的参数块。因此本发明可以通过利用图局部性和度数偏斜特性来执行更有效的模型并行训练。
进一步的,客户端模块引入了基于图的分区和同步方法,这使得本发明与现有解决方案有根本的不同。
特别地,由于Embedding参数占据了大部分的通信成本,本发明专注于加速Embedding参数的通信。
本发明中,将用户的类别特征数据作为输入数据集,采用Embedding参数表示CTR预测中表示用户数据对应的类别特征值的重要性。广泛使用的推荐数据集包括Avazu、Criteo,以及一些特定公司数据集。其中,Avazu 是在 Kaggle 的 CTR 预测竞赛中发布的。Criteo 包含一个月的点击日志,数十亿的数据样本。公司数据集可以是从包含广告特征(例如 ID、类别)的现代网络公司中的推荐场景中收集得到。
本发明具体实施时,将embedding参数和CTR预测中表示用户数据对应的分类特征值的重要性作为输入数据,分配给不同的工作节点。其中,每个工作节点都维护一个客户端(client),所有的本地模型参数都直接存储在GPU内存中。系统设计可以被视为基于 GPU的模型并行方法。本发明将embedding向量组织成图抽象,而不是随机划分的参数块。因此本发明可以通过利用图局部性和度数偏斜特性来执行更有效的模型并行训练。进一步的,本发明引入了基于图的分区和同步,这使得本发明与现有解决方案有根本的不同。
(1) 图的表示
将图1映射到图3。具体的,将图1的每个用户输入数据映射为图3的样本顶点
Figure 492052DEST_PATH_IMAGE011
,图1的Embedding层的每个特征值顶点映射为图3的embedding顶点
Figure 570867DEST_PATH_IMAGE012
。图1中Embedding层的边映射为图3的边
Figure 68844DEST_PATH_IMAGE013
如图3所示,本发明提出了一种二元图表示来管理具有大规模稀疏embedding表的深度 CTR Embedding模型的数据布局。图中有两种类型的顶点
Figure 371650DEST_PATH_IMAGE009
,包括embedding顶点x和样本顶点
Figure 322288DEST_PATH_IMAGE014
。 在这个二元图模型中,输入数据集中的每个样本都由一个样本顶点表示,而embedding表中的每个embedding向量都由一个embedding顶点表示。 一个样本顶点与其邻接embedding顶点之间的边
Figure 1531DEST_PATH_IMAGE015
表示当前样本
Figure 354015DEST_PATH_IMAGE016
具有对应的分类特征
Figure 296563DEST_PATH_IMAGE017
。通过从图的角度对输入特征进行建模,二元图抽象可以支持许多现有的embedding模型。
embedding模型在训练时需要多轮迭代。先进行前向传播阶段,执行深度神经网络计算并最终输出预测的结果。之后进行反向传播阶段,计算前向传播阶段中embedding层的中间结果的梯度。之后利用这些计算出的梯度更新embedding顶点的模型参数。进入下一轮训练迭代。具体来说,embedding模型在采用二元图抽象后进行训练的过程如下:
Step 1: 给定一小批数据样本,二元图模型的embedding层从相邻的embedding顶点执行查找操作,以访问相应的embedding向量
Figure 281968DEST_PATH_IMAGE018
Step 2: 在前向传播阶段,执行深度神经网络计算,将输入的数据通过embedding层,MLP层进行前向传播,计算中间结果并对目标进行预测。
Step 3: 在接下来的反向传播阶段之后,计算前向传播阶段中使用的embedding参数所产生中间结果的梯度。
Step 4: 最后,更新embedding顶点的embedding梯度
Figure 702585DEST_PATH_IMAGE019
,并进入下一轮的训练迭代。
(2) 混合图分区机制
为了对图进行分区以减少不同工作节点(即分区)之间embeddings/梯度的通信,同时实现最佳的工作负载均衡。 本发明探索embedding模型的潜在特性,包括顶点的偏斜分布特性和局部性等多个特性,以得出良好的图分区。具体的,我们设计了一个混合迭代图分区框架来提高embedding模型的分布式训练性能。本发明提出的图划分算法(混合图分区机制)在每次迭代中包括两个步骤:
Step 1: 边-划分的分区方法;
考虑到图的局部性,我们首先进行边-划分的分区算法,以均衡的方式在不同的GPU 工作节点之间分配embedding顶点和样本顶点。
首先,给定跨多个工作节点的分区
Figure 706313DEST_PATH_IMAGE020
,顶点v被分配到分区
Figure 819763DEST_PATH_IMAGE021
使得全局分数
Figure 744993DEST_PATH_IMAGE022
Figure 766039DEST_PATH_IMAGE023
Figure 827536DEST_PATH_IMAGE024
定义为
Figure 883524DEST_PATH_IMAGE025
。其中
Figure 296050DEST_PATH_IMAGE026
表示第i个GPU的GPU间通信开销,
Figure 324049DEST_PATH_IMAGE027
是均衡公式。
对于同构的通信架构,
Figure 302370DEST_PATH_IMAGE028
与分区
Figure 492042DEST_PATH_IMAGE029
上边-划分分区算法相同:
Figure 923024DEST_PATH_IMAGE030
。其中函数
Figure 489134DEST_PATH_IMAGE031
表示第i个分区中的数据样本使用embedding x的次数。
为了探索网络带宽的不均匀性,我们建议通过边-划分赋权重方法来捕获异构连接。具体来说,本发明分析了所有 GPU-GPU 对的通信速度,并将它们规定为权重矩阵。在计算边-划分时,我们将矩阵中的相应权重值乘以count函数结果,以便数据图分区之间的跨分区边数可以更好地适应工作节点之间不均匀的带宽。
均衡公式
Figure 790803DEST_PATH_IMAGE032
作为将顶点v添加到分区
Figure 698847DEST_PATH_IMAGE033
的边际成本,用于均衡不同分区之间的工作负载。具体的,通过下述公式:
均衡公式
Figure 85966DEST_PATH_IMAGE034
样本顶点数量
Figure 252505DEST_PATH_IMAGE035
Embedding数量
Figure 143101DEST_PATH_IMAGE036
其中
Figure 471314DEST_PATH_IMAGE037
是超参数,
Figure 80150DEST_PATH_IMAGE038
Figure 253642DEST_PATH_IMAGE039
分别用于均衡每个分区的样本和embedding顶点的数量。 他们的定义描述了分区中的样本数和embedding顶点数与所有分区的平均值之间的差距。
第三项
Figure 310329DEST_PATH_IMAGE040
用于均衡分区之间的 GPU 间通信
Figure 278285DEST_PATH_IMAGE041
,它描述了第 i 个 GPU上的不均衡通信
Figure 905575DEST_PATH_IMAGE042
与所有 GPU 的平均通信之间的差距。
Step 2: 顶点-划分的分区方法(2D分区)。
顶点-划分复制了高度数的embedding顶点以进一步减少通信开销。由于高度顶点不可避免地会访问大多数机器上的邻居顶点,因此本发明通过允许单个顶点的边被划分到多个工作节点上来进一步应用 2D 分区(即顶点-划分)。
但是,随机 2D 分区可能效率不高。考虑到有限的 GPU 内存,在减少远程访问的好处和冗余复制的开销之间存在权衡。本发明对此问题的解决方法是鉴于embedding顶点的高度偏斜的幂律度分布特性减轻了这种权衡,在工作节点之间对受欢迎的embedding顶点进行小规模复制可以有效地增强数据局部性。
基于上述特征,本发明提供了一个顺序的贪心启发式方法来复制分区(即工作节点)上的embedding顶点,从而最大化预期的交叉边。分数公式定义为:
Figure 617179DEST_PATH_IMAGE043
其中,函数
Figure 482367DEST_PATH_IMAGE031
表示第i个分区中的数据样本使用embedding x的次数。x表示特定的embedding顶点,v泛指embedding顶点。给定P的1D分区,
Figure 417962DEST_PATH_IMAGE044
,当
Figure 1390DEST_PATH_IMAGE045
Figure 532997DEST_PATH_IMAGE046
Figure 518270DEST_PATH_IMAGE047
时,embedding顶点
Figure 828029DEST_PATH_IMAGE048
比其他embeddings具有更高的被复制到分区
Figure 695491DEST_PATH_IMAGE049
的优先级。
如图4所示例,每个工作节点的本地embeddings包含两种类型的顶点。1D分区产生不重叠的分区结果,这些顶点是它们所属分区上的主顶点。embedding顶点在其他分区上的复制是镜像顶点。例如,
Figure 748897DEST_PATH_IMAGE050
是 GPU 0 中的主顶点,它被复制到 GPU 1。类似地,
Figure 119836DEST_PATH_IMAGE051
是 GPU 1中的主顶点,它被复制到 GPU 0。每个embedding只有一个对应的主顶点,并且在不同的工作节点上可能有多个镜像顶点。均衡图分区最小化了远程访问开销,并且对副本的设置进一步提高了本地访问。
(3) 基于图的一致性模型机制(有界异步机制)
高度embedding的顶点-划分副本降低了远程访问成本,但也带来了跨副本模型同步的一致性问题。为了释放副本的全部性能,本发明引入了有界异步训练,在大多数情况下,本地embedding不需要等待其副本上的所有更新继续进行。
embedding模型的分布式训练有两个同步点:(1)读取特定embedding时的副本,以及(2)同一数据节点使用时的多个embedding的副本。本发明在这两个同步点上使用容忍陈旧性的有界异步方法。如图4所示,在执行读取操作时,首先检查请求的embedding是否在本地存在。主节点可以直接在本地访问,因为我们始终保持它们是最新的,即镜像副本的每次更新都将被写回主副本。对于镜像顶点,我们执行两次同步以确保有界的陈旧性:
·Embedding内的有界异步。
当一个数据样本读取一组使用的embedding X时,对于每个embedding
Figure 600496DEST_PATH_IMAGE052
,我们首先检查本地镜像embedding的版本是否在远离其主副本的 s 更新内(如图4的①)。如果不是,我们在本地镜像embedding与其远程主embedding之间执行同步操作。
·Embedding间的有界异步。
在收集了embeddings集X之后,我们检查每对embeddings的版本
Figure 941872DEST_PATH_IMAGE053
是否以 s 为界,即相同数据样本顶点的镜像embedding不落后于其他相关的本地embeddings(即E)(如图4的②)。如果不是,我们在本地镜像embeddings和其远程主顶点之间进行同步,或者让工作节点在副本状态仍然太陈旧时等待。这样可以避免embedding的质量被它所依赖的那些相关embedding的陈旧性所影响。
为了实现Embedding内部和Embedding间的有界异步,我们为embedding顶点
Figure 798969DEST_PATH_IMAGE054
维护一个clock
Figure 493256DEST_PATH_IMAGE055
用于在 工作节点 k上记录该副本上累积的更新次数。一旦embedding未能通过有界陈旧性检查(即clock间隔超过阈值 s),远程访问就会与主顶点同步。在当前的训练迭代之后,所有embeddings执行梯度更新,镜像embedding直接写回相应的主顶点(即更新)。请注意,为了消除不同embeddings之间固有的不均匀访问频率特性的影响以进行陈旧性验证,我们基于访问频率
Figure 941555DEST_PATH_IMAGE056
对每个embedding
Figure 986871DEST_PATH_IMAGE057
执行clock归一化。具体来说,当使用clocks
Figure 913239DEST_PATH_IMAGE058
检查来自 工作节点 k1和k2 的给定embedding对
Figure 462032DEST_PATH_IMAGE059
的有界陈旧性时。 假设
Figure 97544DEST_PATH_IMAGE060
,则两个embedding之间的归一化clock间隔为
Figure 364577DEST_PATH_IMAGE061
。 在特殊情况 i=j(例如,embedding内同步)时,归一化clock间隔仍然通过该embedding的副本上的更新次数来衡量,即
Figure 563477DEST_PATH_IMAGE062
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (8)

1.一种用于点击率预测的基于图的大规模embedding模型训练方法,采用Embedding模型参数表示点击率预测输入数据对应的类别特征值的重要性,将点击率预测数据和embedding模型向量表示为二元图模型,利用图局部性和度数偏斜特性执行更有效的模型并行训练;设计基于图的混合分区机制和基于图的一致性模型机制,将数据分配给不同工作节点,提高训练大型CTRembedding模型的可扩展性和并行计算效率;CTRembedding模型输出用户点击概率,作为点击率预测结果;包括如下步骤:
1)将点击率预测数据和embedding模型参数表示为二元图模型;点击率预测输入数据包括为用户推荐的广告、产品项目的特征数据;
采用二元图模型G表示具有大规模稀疏embedding表的深度 CTR Embedding模型数据,二元图模型中的顶点包括embedding顶点和样本顶点;样本顶点表示点击率预测输入数据集中的每个样本,embedding顶点表示embedding表中的每个embedding向量;样本顶点与其邻接embedding顶点之间的边表示当前点击率预测输入数据样本具有的类别特征;
构建二元图模型的训练过程包括:
Step 1: 对于数据样本,二元图模型的embedding层从相邻的embedding顶点执行查找操作,以访问相应的embedding向量;
Step 2: 在前向传播阶段,执行深度神经网络计算并对目标进行预测;
Step3: 在接下来的反向传播阶段之后,计算前向传播阶段中使用的embedding参数所产生中间结果的梯度;
Step 4: 最后更新embedding顶点的embedding梯度,并进入下一轮的训练迭代;
2)采用混合图分区方法,对构建的二元图模型进行分区,以有效缓解通信瓶颈;包括:
21)执行边-划分的分区方法,以均衡的方式在不同GPU工作节点之间分配embedding顶点和样本顶点;
22)定义一个分数公式,用于指导分配过程并均衡所有工作节点之间的资源需求;
23)执行顶点-划分的分区方法;
顶点-划分复制高度数的embedding顶点以进一步减少通信开销;可将单个顶点的边划分到多个工作节点上;在工作节点之间对受欢迎的embedding顶点进行小规模复制,从而有效地增强数据局部性;
3)采用基于图的一致性模型机制,以放松一致性保证;
通过引入两个可容忍陈旧状态的同步点,设计基于图的有界异步方法,包括:读取特定embedding顶点时跨副本的embedding内同步,和在执行计算时跨特定数据样本顶点使用的embedding间同步;
通过上述步骤,实现用于点击率预测的基于图的大规模embedding模型训练。
2.如权利要求1所述用于点击率预测的基于图的大规模embedding模型训练方法,其特征是,将点击率预测输入特征数据建模为二元图模型,可支持多数embedding模型。
3.如权利要求1所述用于点击率预测的基于图的大规模embedding模型训练方法,其特征是,步骤21)执行边-划分的分区方法,以将输入数据和embedding层的顶点均匀地分配给工作节点,以最小化跨越工作节点的边数;包括如下过程:
给定跨多个工作节点的分区
Figure DEST_PATH_IMAGE001
,将顶点v分配到分区
Figure 986691DEST_PATH_IMAGE002
,使得全局分数
Figure 434990DEST_PATH_IMAGE004
Figure DEST_PATH_IMAGE005
;其中定义为
Figure 277044DEST_PATH_IMAGE006
Figure DEST_PATH_IMAGE007
表示第i个GPU的GPU间通信开销,
Figure 734570DEST_PATH_IMAGE008
是均衡公式。
4.如权利要求3所述用于点击率预测的基于图的大规模embedding模型训练方法,其特征是,通过均衡公式
Figure DEST_PATH_IMAGE009
将顶点v添加到分区
Figure 814521DEST_PATH_IMAGE010
的边际成本,用于均衡不同分区之间的工作负载;均衡公式进一步表示为:
均衡公式
Figure DEST_PATH_IMAGE011
样本顶点数量
Figure 964880DEST_PATH_IMAGE012
Embedding数量
Figure DEST_PATH_IMAGE013
其中,
Figure 497492DEST_PATH_IMAGE014
是超参数,
Figure DEST_PATH_IMAGE015
Figure 823956DEST_PATH_IMAGE016
分别用于均衡每个分区的样本和embedding顶点的数量;
Figure DEST_PATH_IMAGE017
用于均衡分区之间的 GPU 间通信。
5.如权利要求1所述用于点击率预测的基于图的大规模embedding模型训练方法,其特征是,步骤22)进一步为:采用顺序的贪心启发式方法来复制工作节点上的embedding顶点,从而最大化预期的交叉边;分数公式定义为:
Figure 820731DEST_PATH_IMAGE018
其中,函数
Figure DEST_PATH_IMAGE019
表示第i个分区中的数据样本使用embedding x的次数;x表示特定的embedding顶点,v泛指embedding顶点;给定P的1D分区,
Figure 79674DEST_PATH_IMAGE020
,当
Figure DEST_PATH_IMAGE021
Figure 161899DEST_PATH_IMAGE022
Figure DEST_PATH_IMAGE023
时,embedding顶点
Figure 961228DEST_PATH_IMAGE024
比其他embeddings具有更高的被复制到分区
Figure DEST_PATH_IMAGE025
的优先级。
6.如权利要求1所述用于点击率预测的基于图的大规模embedding模型训练方法,其特征是,步骤23)中,所述顶点-划分的分区方法通过复制高度数的embedding顶点以进一步减少通信开销;进一步可将单个顶点的边划分到多个工作节点上,在工作节点之间对受欢迎的embedding顶点进行小规模复制,从而有效地增强数据局部性。
7.一种利用权利要求1所述用于点击率预测的基于图的大规模embedding模型训练方法实现的基于GPU的大规模embedding模型并行计算系统,其特征是,所述系统包括密集参数模块和客户端模块;采用混合通信架构,包括多个工作节点;将点击率预测输入数据集分配给不同的工作节点,每个工作节点维护一个客户端,本地模型参数均直接存储在GPU内存中;每个工作节点均持有embedding密集模型参数的副本,并在训练期间使用 All-Reduce进行同步。
8.如权利要求7所述的基于 GPU 的大规模embedding模型并行计算系统,其特征是,所述密集参数模块持有密集模型参数的副本,在训练期间使用 All-Reduce 进行同步;所述客户端模块用于将embedding向量组织成二元图模型,并通过利用图局部性和度数偏斜特性来执行更有效的模型并行训练;进一步地,客户端模块通过采用基于图的分区和同步方法,加速Embedding参数的通信。
CN202210277082.9A 2022-03-21 2022-03-21 用于点击率预测的基于图的大规模embedding模型训练方法及系统 Active CN114358859B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210277082.9A CN114358859B (zh) 2022-03-21 2022-03-21 用于点击率预测的基于图的大规模embedding模型训练方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210277082.9A CN114358859B (zh) 2022-03-21 2022-03-21 用于点击率预测的基于图的大规模embedding模型训练方法及系统

Publications (2)

Publication Number Publication Date
CN114358859A CN114358859A (zh) 2022-04-15
CN114358859B true CN114358859B (zh) 2022-07-01

Family

ID=81094723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210277082.9A Active CN114358859B (zh) 2022-03-21 2022-03-21 用于点击率预测的基于图的大规模embedding模型训练方法及系统

Country Status (1)

Country Link
CN (1) CN114358859B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929627A (zh) * 2019-11-18 2020-03-27 北京大学 基于宽模型稀疏数据集的高效gpu训练模型的图像识别方法
CN113515370A (zh) * 2021-04-28 2021-10-19 之江实验室 一种面向大规模深度神经网络的分布式训练方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929627A (zh) * 2019-11-18 2020-03-27 北京大学 基于宽模型稀疏数据集的高效gpu训练模型的图像识别方法
CN113515370A (zh) * 2021-04-28 2021-10-19 之江实验室 一种面向大规模深度神经网络的分布式训练方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Miao xupeng.HET:Scaling out huge emdedding model traning via cache-enabled distributed framework.《arxiv》.2021, *
苗旭鹏 ; 周跃 ; 邵蓥侠 ; 崔斌.GSO:基于图神经网络的深度学习计算图子图替换优化框架.《计算机科学》.2022, *
苗旭鹏 ; 张敏旭 ; 邵蓥侠 ; 崔斌.PS-Hybrid:面向大规模推荐模型训练的混合通信框架.《清华大学学报(自然科学版)》.2021, *

Also Published As

Publication number Publication date
CN114358859A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
Marot et al. One machine, one minute, three billion tetrahedra
Xin et al. Graphx: Unifying data-parallel and graph-parallel analytics
Aaby et al. Efficient simulation of agent-based models on multi-GPU and multi-core clusters
Ziegler The NIRVANA code: Parallel computational MHD with adaptive mesh refinement
US7467180B2 (en) Automatically segmenting and populating a distributed computing problem
US20040244006A1 (en) System and method for balancing a computing load among computing resources in a distributed computing problem
Zhang Towards personal high-performance geospatial computing (HPC-G) perspectives and a case study
Jiang et al. Dimboost: Boosting gradient boosting decision tree to higher dimensions
US20100094870A1 (en) Method for massively parallel multi-core text indexing
Peng et al. A GPU‐based approach for massive model rendering with frame‐to‐frame coherence
Guo et al. Modeling, analysis, and experimental comparison of streaming graph-partitioning policies
Han et al. Distme: A fast and elastic distributed matrix computation engine using gpus
Li et al. Optimizing makespan and resource utilization for multi-DNN training in GPU cluster
Ayall et al. Graph computing systems and partitioning techniques: A survey
CN114358859B (zh) 用于点击率预测的基于图的大规模embedding模型训练方法及系统
Watanabe et al. A domain partitioning method using a multi-phase-field model for block-based AMR applications
Wang et al. A parallel algorithm for constructing Voronoi diagrams based on point‐set adaptive grouping
Yang et al. Parameter communication consistency model for large-scale security monitoring based on mobile computing
Dang et al. A fine-grained parallel model for the fast iterative method in solving eikonal equations
Akdogan et al. D-ToSS: A distributed throwaway spatial index structure for dynamic location data
Menshov et al. GPU-native gas dynamic solver on octree-based AMR grids
Senevirathne et al. Memory efficient graph convolutional network based distributed link prediction
Jiao et al. PGLBox: Multi-GPU Graph Learning Framework for Web-Scale Recommendation
Chen et al. A highly solid model boundary preserving method for large-scale parallel 3D Delaunay meshing on parallel computers
McColl Mathematics, Models and Architectures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant