一、前言

京东广告练习结构跟着广告算法事务开展的特色也在快速迭代晋级,回顾近几年大致阅历了两次大版本的计划架构演化。第一阶段,跟着2016年Tensorflow练习结构的开源,业界开端根据Tensorflow开源结构练习更杂乱的模型。模型对特征规划和参数规划需求不断提高,大规划稀少模型具有更强的表征才能,逐步成为算法的主流趋势。可是Tensorflow在大规划稀少参数的练习机制不齐备,因此第一次最大才能晋级是经过自研高功用参数服务器,支撑超大规划TB级稀少参数模型的建模才能以及根据此架构支撑在线学习的才能。 第二阶段,跟着用户行为序列建模、多模态建模、多目标等算法技能的开展,模型变得既宽且深,核算算力、通讯功用和存储容量逐步成为瓶颈。根据之前的计划虽然有可能经过扩大练习集群规划满意练习需求,可是在节点拓扑的杂乱度、参数通讯功用、集群稳定性和模型作用等多个方面都存在较大的问题。跟着更先进的NVIDIA A100 等练习GPU硬件资源的呈现,根据高功用GPU算力构建的新一代软硬深度结合的练习计划成为第2次架构演化的首要方向。接下来,本文将针对大规划稀少场景,结合模型的开展趋势,具体介绍各阶段的练习计划。

二、继续演进的大规划稀少场景练习计划

2.1 根据分布式参数服务器的TB级大规划稀少场景练习计划

2.1.1 Tensorflow在大规划稀少场景的局限性

跟着事务规划和算法才能不断开展,练习样本规划扩展到百亿级,练习参数规划达到千亿级,为了提高模型练习功率和规划,业界一般选用数据并行和模型并行方法来进行分布式练习。因为Tensorflow选用静态Embedding机制来存储稀少参数,约束了参数规划,对练习的功率和作用并不友爱:

静态存储局限性:词表空间过小,hash抵触加重;词表空间过大,浪费内存资源,难以支撑大规划参数存储。

在线学习不支撑:针对在线学习场景,无法筛选不重要的特征,也无法单独开释该特征Embedding的内存,参数更新时效性成为瓶颈。

2.1.2 自研高功用参数服务器

为了处理静态Embedding的问题,我们经过自研动态Embedding的高功用参数服务器,将不同的Embedding映射到不同的内存空间,优化存储空间,支撑大规划稀少参数的高效存储,并考虑高并发读写场景,针对稀少参数规划高功用二级检索计划,优化数据结构,减少并发读写抵触。

京东广告算法架构系统建造--大规划稀少场景高功用练习计划演化

图1 动态Embedding参数服务器&练习架构

参数二级检索

▪一级参数分片,支撑分布式千亿乃至更大规划参数存储。

▪二级参数分桶,并行无锁读写,支撑数据并行形式下的高并发读写场景。

稀少参数存储&练习

▪根据Map完成稀少参数存储,支撑动态Embedding、增量导出等杂乱功用。

▪稀少参数推迟初始化,支撑特征准入&筛选等杂乱战略。

▪参数&优化器状态同构存储,支撑杂乱优化算法(带一二阶动量)的高功用完成。

离&在线一体化规划

▪通用化服务接口&模型参数格局,一套中心结构服务离&在线场景,支撑在线学习。

京东广告算法架构系统建造--大规划稀少场景高功用练习计划演化

图2 动态Embedding高功用参数服务器完成规划

在2020年底广告完成了高功用参数服务器架构,2021年头在查找广告场景构建了离在线一体实时在线学习闭环系统。功用方面,支撑千亿参数规划,提高算法建模空间,比照TF原生PS练习功用提高25%,比照阿里DeepRec和腾讯TFRA,内存节约约15%至20%。作用方面,在查找精排模型场景落地京东零售首个OnlineLearning架构,模型时效性从天级提高到分钟级。

2.2 根据高功用算力的全GPU练习计划

2.2.1 分布式参数服务器计划的局限性

为了精密刻画用户的行为,捕捉用户的爱好改变,引荐系统模型进入到更深层次的序列化、多模态建模。引荐领域模型建模逐步开展到以一定规划Transformer结构结合大规划Embedding为主,笼统结构则是中等规划稠密参数 + 大规划稀少参数,对模型练习架构的存储、核算、IO等方面都提出了更高的要求。虽然能够经过更大的参数服务器规划 + 更大的数据并行规划来提高全体练习集群吞吐,但该计划存在一定局限性:

▪参数服务器规划仅能满意大规划Embedding稀少模型,可是针对Transformer等稠密模型无法分片,会导致模型练习功用&作用明显下降;

▪练习节点规划急剧扩大到上百,导致通讯拓扑杂乱,练习稳定性下降,梯度过期问题加重;

▪大量参数IO使得参数服务器与练习节点之间的参数传输成为通讯功用瓶颈。

京东广告算法架构系统建造--大规划稀少场景高功用练习计划演化

图3 分布式参数服务器存在的问题

跟着Nvidia推出新一代NVIDIA A100 80GB SXM GPU服务器,随同NvLink、IB网络等GPU-RDMA硬件加持,相较P40,在存储容量(显存640GB、内存1~2TB、SSD10+TB等级)、通讯功用 (由PCIe总线提供的32GB/s晋级到NVLink卡间互联的600GB/s的高速带宽,多机之间经过IB网络选用RDMA进行通讯,通讯带宽相比于TCP而言,从1G/s 提高到50G/s)以及核算才能(从12TFLOPS晋级到156 TFLOPS) 都有质的打破。更高算力的硬件资源为模型迭代和优化带来了更大的机遇,一起也给练习架构规划带来了更大的应战,根据高功用GPU算力构建的新一代软硬深度结合的练习计划成为第2次架构演化的首要方向。

2.2.2 根据高功用算力的全GPU练习计划

怎么把分布式练习中上百个节点的杂乱拓扑结构,融入到高算力GPU的一体化计划中,完成千亿乃至更大规划参数在GPU上的高功用核算,在业界是一个比较有应战的问题,在新一代练习架构的落地实践中我们首要面对三个中心应战:

▪存储应战:不同于传统NLP、CV几十G模型规划,引荐领域大规划稀少模型一般在几百G以上,远超单显卡80G显存上限,需求规划一种新的参数存储和核算战略;

▪IO应战:大规划稀少参数、稠密参数的拉取与核算为练习集群带来极高的IO需求,需求规划一种新的交互式战略,完成卡与卡间,机与机间参数高功用通讯;

▪算力应战:CPU的算力功用约束了引荐模型的规划与核算杂乱度,需求规划一种新的练习并行战略,完成CPU与GPU的算力均衡。

结合对业界计划的调研以及广告引荐算法的事务场景特色,我们规划了根据高功用算力的全GPU练习计划:根据GPU-HBM+CPU-DRAM两级穿插缓存来完成全参数的GPU存储核算,结合GPU-RDMA调集通讯技能打破大规划参数练习的通讯瓶颈,一起构建CPU&GPU异构的分布式流水线并行练习结构,完成了CPU和GPU核算算力的最大化协同。

京东广告算法架构系统建造--大规划稀少场景高功用练习计划演化

图4 根据高功用算力的全GPU练习计划

根据GPU-HBM和CPU-DRAM的两级穿插参数服务器,**完成稀少参数的跨域存储。GPU作为一级缓存有用使用GPU高带宽、高算力的优势,极大提高练习吞吐,CPU作为二级缓存有用使用CPU内存的高容量、易扩展的优势,提高参数的规划上限。该计划能够进一步扩展SSD固态硬盘,形成HBM-DRAM-SSD的三级参数服务器计划,支撑更大规划万亿参数等级的高功用练习。

京东广告算法架构系统建造--大规划稀少场景高功用练习计划演化

图5 GPU-HBM+CPU-DRAM 两级穿插存储计划

根据GPU-RDMA调集通讯的全参数同步练习范式。在参数通讯方法上:**参数的拉取方法相比于传统的分布式参数服务器架构,由CPU-to-CPU的TCP通讯晋级为GPU-to-GPU的RDMA通讯,带宽吞吐量完成了数量级的明显提高(1GB/s->600GB/s)。**在参数更新方面:**经过AllReduce、AllToAll等调集通讯技能,完成全参数同步练习范式,保证模型作用。根据上述才能,结构一体化规划完成了参数交互&参数练习的最佳配速。

CPU&GPU异构的分布式流水线并行练习结构,将模型按CPU密集型子图(重逻辑)与GPU密集型子图(重核算)进行分图,部署于CPU&GPU异构集群进行分布式分图练习,在发挥各自硬件算力优势的一起,处理CPU与GPU算力不匹配的问题,达到算力均衡。一起构建多级流水线并行练习形式,使练习集群全体IO、核算吞吐最大化。

京东广告算法架构系统建造--大规划稀少场景高功用练习计划演化

图6 CPU&GPU异构的分布式流水线并行练习结构

多机多卡算力水平扩展:根据上述中心才能,凭借 IB 网络,进一步完成单机多卡到多机多卡的算力水平扩展,练习加速比达到1.85+,做到业界抢先。

三、总结与展望

综上,新一代根据高功用算力的全GPU练习计划,在广告多个事务线进行了落地实践,取得了明显的作用收益:引荐主页CTR模型规划从30G扩展到130G,资源0增加的情况下,练习功用提高55%,并经过技能搬迁仅一个月时间将技能计划复用至商详、中长尾信息流中心位置,完成模型规划百G的打破,算法迭代功率提高400%,助力引荐大盘全体点击+8.5%, 消费 +5.77%,查找精排全体点击+2%,消费+5.63%。

算法在不断的迭代开展,硬件也在不断的移风易俗,广告练习结构也在继续的演化,我们正在规划规划下一代算法架构系统,其最明显的特色便是算法、算力、架构的深度融合以及在线、离线一体化的规划计划。算法架构系统建造是一个充满应战的新的技能领域,需求不断探索、学习和创新。

作者:京东零售 刘凯宁

来历:京东云开发者社区 转载请注明来历