欧美优质美女网站_国产大片精品免费永久看nba_亚洲自拍与偷拍_精品久久久久久久久久久院品网_中文字幕日韩一区二区_欧美中文字幕在线_美女一区二区久久_夜夜嗨av一区二区三区免费区 _欧美一区二区在线不卡_日韩三级电影网址

PICASSO:面向搜推廣業務的工業級稀疏訓練引擎

作者:玄慈、石浪、松岳、滿神

概述

近日,阿里巴巴自研稀疏訓練引擎論文《PICASSO: Unleashing the Potential of GPU-centric Training for Wide-and-deep Recommender Systems》被國際數據工程頂級會議ICDE 2022 (International Conference on Data Engineering) 收錄。PICASSO(Packing, Interleaving and Caching Augmented Software System Optimization)是阿里巴巴智能引擎事業部廣告訓練引擎XDL團隊和阿里云計算平臺PAI團隊深度合作研發的成果,在集團內部PICASSO作為XDL2、PAI-Tensorflow和PAI-HybridBackend三個產品服務于搜索、推薦、廣告業務。本文將對PICASSO訓練引擎的設計方案及思路展開介紹,歡迎閱讀交流。

搜推廣模型訓練的性能會直接影響到迭代開發效率及模型時效性,如今已是一項非常熱門的研究主題。阿里巴巴在搜推廣稀疏模型訓練優化上有著深厚的經驗與積累,近年來我們也看到大量相關設計或是為解決某類問題的新方案不斷涌現。然而,隨著模型復雜度以及數據規模的快速增長,即便有多種稠密計算及稀疏處理的優化,在通用硬件上的訓練任務仍然不能表現出持續高水平的資源使用率。結合阿里巴巴實際業務場景,我們進一步探索了提升資源利用效率的方法,在滿足業務質量的嚴苛要求的同時,也期望可以起到拋磚引玉的作用,吸引更多從事相關工作的同學提出更為高效優雅的稀疏訓練解決方案。

PICASSO技術轉化

阿里巴巴XDL2訓練引擎

XDL是阿里巴巴自研的PS訓練模式的稀疏訓練引擎,通過高并發的方式提升在混部集群中搜推廣任務的訓練效率。自2018年開源以來,XDL團隊結合工業實踐對XDL框架進行了大范圍的革新,包括但不限于I/O、通信、訪存、編譯優化、軟硬件計算加速等。XDL2是綜合XDL多年的業務經驗與PICASSO中所介紹技術的成果,支持在高性能集群中充分利用硬件優勢提升訓練效率,為阿里巴巴內部的多條搜推廣業務線訓練任務保駕護航。

阿里云HybridBackend高性能稀疏訓練引擎

HybridBackend是阿里云推出的提升稀疏模型在異構硬件集群訓練效率的訓練框架,服務阿里云數十家搜推廣業務用戶,平均帶來了2-3倍的訓練性能提升。HybridBackend將PICASSO中所介紹的技術作為Tensorflow的擴展,能夠享受到Tensorflow社區的最新加速技術并在異構集群中最大化提升訓練效率,且與基于Tensorflow實現的前沿學術或工業優化策略完全正交。

GitHub地址:https://github.com/alibaba/HybridBackend

工業級稀疏訓練

圖1 典型推薦系統模型結構

稀疏訓練主要由Embedding階段, 特征交叉(feature interation)階段和多層感知器(MLP)階段組成。實際訓練中,Embedding階段在PS范式的訓練下經常能夠占據50%以上的訓練時間。經過分析發現,Embedding階段的算子主要以訪存密集型(memory access intensive)和通信密集型的算子(communication intensive)為主,主要需要的硬件資源是內存和網絡的帶寬,而后兩個階段的算子則是計算密集型的算子占主導,需要的資源是算力。這意味著在PS的范式訓練下,任何一個階段都有可能存在某一種硬件資源成為瓶頸而其他硬件資源被浪費的現象。以GPU的算力資源為例,我們觀察GPU使用率(SM Util)在不同的訓練階段之間呈現脈沖式變化(pulse),而不是持續高水位。考慮到最前沿的稀疏模型可能包含截然不同比例訪存密集型、通信密集型和算力密集型算子,其他硬件資源上也會出現相似的情況。

實際生產中的模型往往擁有上百路的Embedding特征查詢,每一路的特征查詢在Tensorflow內都會調用數十個算子實例(operations)。TensorFlow的引擎在調度上千級別的大量的算子執行需要額外的CPU線程開銷;對于GPU設備來說, 過多的CUDA kernel提交到流處理器上(Tensorflow下每個GPU設備只有一個stream抽象)造成了GPU Stream Multiprocessor (SM)的冗余調度開銷,同時每個零碎算子處理數據的并發度又不高,從而很難打滿GPU的計算單元。類似的問題在CV,NLP等稠密模型的訓練中也有可能發生,一般采用基于編譯技術的優化手段進行算子合并。然而,在Wide and Deep模型這樣的稀疏場景下,Embedding階段的這些算子又往往具有dynamic shape的特點,在Tensorflow靜態構圖階段無法獲取準確的算子尺寸進行優化,導致類似Tensorflow-XLA等技術在此類場景下沒有明顯的收益。

工業級稀疏中,模型復雜度、特征數目、數據總量的日益增加,然而模型交付時效性要求卻愈加嚴格。為了解決工業級稀疏訓練的效率問題,許多大型企業根據其業務模型的主要瓶頸設計了定制化硬件。然而,對于需要執行大量異構訓練任務及截然不同結構的稀疏任務的集群上,部署定制化硬件是很昂貴且效率不高的。對于個人用戶或小型機構的用戶也是如此。所以,在通用硬件設備上進行工業級稀疏訓練優化是十分有意義的。

系統架構

圖2 PICASSO同步訓練系統架構

圖3展示了PICASSO同步訓練模式的系統架構,每臺Worker各自讀取一部分數據并獨立計算梯度。各臺Worker上的梯度會在聚合后,更新于所有Worker。相較于PS(Parameter Server)訓練模式,在PICASSO中取消了PS角色。Embedding表被切分放在不同的Worker上,切分方法可根據具體ID分布情況選擇按ID切分、按維度切分、按表劃分;查表操作通過網絡傳輸分布式地進行。而所有稠密參數是以副本的形式放置在每臺Worker上的,考慮到梯度是聚合后更新因而稠密參數的梯度在每臺Worker上是完全相同的,所以在訓練過程中稠密參數在不同Worker間能夠保證一致性(諸如Batch Normalization的統計量可選擇全局同步或局部維護,已有許多算法論文討論,不在本文的范疇內)。不同Worker間通過集合通訊交換參數及梯度,能夠最大程度利用好網絡資源(如果配備了RDMA網絡,則性能會更加出色)。

核心技術設計

圖3 PICASSO核心優化策略

數據和算子協同合并(Packing)

根據稀疏模型的結構特點,大部分細碎的算子來源于龐大的Embedding特征查詢(lookup)數量。對于每一路查詢,盡管輸入的訓練數據不同,但使用的算子組合是相同的。對于這種具有數據并行特點的模式,具有相同屬性(維度、初始化器、標定特征組等)的Embedding表將被合并為一張新的Embedding表,而后后續的訪存查詢算子也可以被合并為一個新的大算子。合并算子可以用多線程的方式有序查詢Embedding,相對于亂序查詢或分成若干小表查詢,能有顯著的性能提升。查詢完畢后,再依原有代碼需要進行反去重和歸位,真正做到了對用戶透明。此外,根據特征查詢階段各個算子在分布式環境下的語義,我們將部分的計算核進行了融合,比如通過融合shuffle和stitch算子來消除冗余的數據拷貝。通過數據和算子兩個維度的基于語義的融合,PICASSO緩解了不同查表操作之間的競爭問題,并大大減少了算子數量,對于現如今動輒幾百路特征的模型是十分有幫助的;同時,相對于將所有Embedding查詢過程涉及的算子全部融合在一起的方案,PICASSO所采用的僅將相鄰的使用相同硬件資源的算子融合的方法,保留了下文敘述的通過算子間穿插遮掩來提升硬件利用率的優化機會。

訓練算子間的穿插遮掩(Interleaving)

為了消除同時執行相同硬件資源需求的算子而造成的瓶頸, 我們設計了兩種算子穿插遮掩執行(interleaving)的優化手段。1) D(ata)-interleaving是通過對訓練數據batch的切分利用pipeline的機制來調度穿插不同資源類型的算子,這樣可以在訓練的任何階段緩解某一種資源的瓶頸。比如在大batch size的訓練場景下,稀疏模型的MLP階段也會產生很高的feature map顯存占用,通過D-interleaving就可以有效降低單個GPU設備上的峰值顯存占用,從而使得更大的batch size訓練成為可能。2)K(ernel)-interleaving是在Embedding Layer內部不同的特征查詢路數之間做算子的穿插和遮掩,比如將通信密集的Shuffle操作和內存訪問密集的Gather進行遮掩,可以有效提升這兩種資源的使用率。

利用數據頻次分布做緩存(Caching)

PICASSO利用數據中ID明顯分布有偏(即存在大量長期或短期熱點ID)的特點,將Embedding表拆分到CPU和GPU之上,以最大限度利用內存的大容量和GPU的高速內存帶寬。其中,被識別的熱點ID以及對應的Embedding將被放置在顯存上,其余ID被放置在內存上,二者之間的ID定期進行刷新交換。兩張哈希表都是需要正常更新梯度的,以避免梯度更新延遲帶來的精度損失。考慮到同一Batch內的ID在訪存查詢之前已經經過去重,這種緩存機制可以大大減少跨不同Batch的冗余低速訪存,同時又沒有過多消耗用于計算的顯存。后續這套混合存儲的設計還可以擴展到包含Intel Persistent Memory, Non-volatile Memory等更多的硬件設備上。

其他集成技術

考慮到稀疏訓練任務的特點,PICASSO集成了近年來多項業務經驗,重要設計包括:在I/O上開啟了預取和列存數據格式的設計,最大限度降低I/O對整體訓練的影響;改進的集合通訊協議,減少通信過程中的冗余傳輸及校驗;算子零拷貝調整,避免不必要的訪存;基于統計值的哈希表最優切分放置方案;計算圖算子替換及編譯優化;特定算子啟用GPU加速庫,如CUTLASS、CuDNN、CuBLAS和Cub等。除此之外,對于不斷涌現的新技術,用戶可以通過Tensorflow實現集成到PICASSO中。

主要指標表現

Benchmark效果

我們通過一組benchmark模型的實驗結果橫向和目前廣泛流行的多種稀疏模型訓練框架進行了性能的測試對比。

參與對比的框架有:Tensorflow Parameter Server (TensorFlow-PS)作為Baseline,PyTorch的模型并行版本(PyTorch),以及采用數據并行模式的Horovod。參與測試的模型有: 1) MLPerf采用的DLRM模型; 2) 工業界廣泛使用的DeepFM模型,3)阿里提出的DIN/DIEN模型,擁有更加復雜的特征交叉計算量。我們使用的數據集是公開的Criteo數據集。

圖4 多種訓練框架在Benchmark上的性能效果

可以看到對比與TF-PS的baseline, PICASSO在四個benchmark模型上都獲得了1.9x至10x的性能提升,而對比Facebook的模型并行版本PyTorch, 我們也有至少2倍以上的性能提升,而且隨著模型的計算量復雜度增加(DIN, DIEN),PICASSO的優勢越明顯。

多種模型性能效果

圖5 多種模型在PICASSO上相對XDL的提升

我們隔離了若干訓練節點,并分別使用相同的Worker數目分別使用內部優化的XDL-PS模式和PICASSO模式實現若干前沿稀疏模型。我們調整了Batch size以記錄極限性能,提升幅度如圖6所示。可以看到,雖然不同的模型可能處于不同的硬件瓶頸下,但是PICASSO都能夠顯著地提升平均硬件利用率和整體性能。

內部訓練任務性能提升

截至目前,PICASSO已成功在阿里媽媽多條廣告業務中落地,本文的實驗中也介紹了在阿里媽媽CAN模型下PICASSO相對于上一代的XDL訓練框架獲得的性能優勢,在下表中可以看到在訓練時長等多個指標下獲得的顯著提升。

圖6 阿里巴巴內部訓練任務性能提升

未來展望

超大規模稀疏模型的訓練效率問題已經吸引了越來越多企業及研究機構的關注。PICASSO研發小隊目前正致力于結合真實各類大小業務場景探索通用的稀疏場景的加速優化方式,不僅僅是追求指標上的極限,更是追求提供更為易用、經濟的解決方案。另一方面,當前PICASSO在一定程度上仍然需要用戶手工調整若干參數以獲取最佳性能,將PICASSO變得更加自動化也是當前PICASSO研發小隊的重要使命。我們真誠歡迎并邀請業界研究人員、工程師或感興趣的朋友們與我們交流,共同推進稀疏訓練性能乃至所有機器學習領域模型訓練性能的發展,支撐深度學習技術更好更經濟地服務于更多的領域。

參考文獻

[1] Zhao, Weijie, Jingyuan Zhang, Deping Xie, Yulei Qian, Ronglai Jia, and Ping Li. “Aibox: Ctr prediction model training on a single node.” InProceedings of the 28th ACM International Conference on Information and Knowledge Management, pp. 319-328. 2019.

[2] Zhao, Weijie, Deping Xie, Ronglai Jia, Yulei Qian, Ruiquan Ding, Mingming Sun, and Ping Li. “Distributed hierarchical gpu parameter server for massive scale deep learning ads systems.” Proceedings of Machine Learning and Systems 2 (2020): 412-428.

[3] Mudigere, Dheevatsa, Yuchen Hao, Jianyu Huang, Andrew Tulloch, Srinivas Sridharan, Xing Liu, Mustafa Ozdal et al. “High-performance, distributed training of large-scale deep learning recommendation models.” arXiv e-prints (2021): arXiv-2104.

[4] Oldridge, Even, Julio Perez, Ben Frederickson, Nicolas Koumchatzky, Minseok Lee, Zehuan Wang, Lei Wu et al. “Merlin: A GPU Accelerated Recommendation Framework.” In Proceedings of IRS . 2020.

[5] H. Guo, R. TANG, Y. Ye, Z. Li, and X. He, “Deepfm: A factorization-machine based neural network for ctr prediction,” in Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence, IJCAI-17, 2017, pp. 1725–1731.

[6] G. Zhou, X. Zhu, C. Song, Y. Fan, H. Zhu, X. Ma, Y. Yan, J. Jin, H. Li, and K. Gai, “Deep interest network for click-through rate prediction,” in Proceedings of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, 2018, pp. 1059–1068.

[7] G. Zhou, N. Mou, Y. Fan, Q. Pi, W. Bian, C. Zhou, X. Zhu, and K. Gai, “Deep interest evolution network for click-through rate prediction,” in Proceedings of the AAAI conference on artificial intelligence, vol. 33,2019, pp. 5941–5948.

(0)
上一篇 2022年5月12日 10:54
下一篇 2022年5月12日 11:02
欧美优质美女网站_国产大片精品免费永久看nba_亚洲自拍与偷拍_精品久久久久久久久久久院品网_中文字幕日韩一区二区_欧美中文字幕在线_美女一区二区久久_夜夜嗨av一区二区三区免费区 _欧美一区二区在线不卡_日韩三级电影网址
成人97人人超碰人人99| 亚洲欧洲成人自拍| 精品剧情v国产在线观看在线| 亚洲人快播电影网| 欧美日韩一区在线观看| 久久午夜羞羞影院免费观看| 亚洲一区二区三区美女| 欧美系列一区二区| 亚洲欧美视频在线观看| 免费在线观看一区| 国产精品久99| 91蝌蚪porny成人天涯| 日韩黄色免费网站| 国产精品久久久久影院| 欧美久久久久中文字幕| 麻豆成人av在线| 综合欧美亚洲日本| 久久综合五月天婷婷伊人| 91福利小视频| 久久精品二区亚洲w码| 亚洲成人精品在线观看| 亚洲精品日日夜夜| 中文字幕在线不卡视频| 日韩欧美在线一区二区三区| 色综合天天性综合| 成人av在线资源网站| 一区二区三区在线视频观看| 久久久不卡网国产精品一区| 91麻豆精品国产91久久久资源速度| 成人黄色一级视频| 99久久精品国产麻豆演员表| 国产麻豆精品在线观看| 成人激情文学综合网| 国产一区二区三区在线观看精品 | 亚洲一区二区三区四区的 | 久久99精品一区二区三区三区| 久久中文字幕电影| 亚洲人午夜精品天堂一二香蕉| 一区二区在线观看视频| 日韩av电影天堂| www.亚洲色图| 日韩免费观看高清完整版 | 精品亚洲免费视频| 色视频成人在线观看免| 久久综合网色—综合色88| 国产精品免费看片| 激情综合五月婷婷| 日本久久一区二区| 日韩三级.com| 三级久久三级久久久| 一本色道久久加勒比精品| 精品成人一区二区三区四区| 国产精品国产a级| 国产精品一区在线| 久久久亚洲午夜电影| 国产欧美精品区一区二区三区| 极品少妇一区二区三区精品视频| 日韩欧美一级片| 亚洲三级电影网站| 欧美理论电影在线| 美女脱光内衣内裤视频久久网站 | 一区二区欧美视频| 欧美色涩在线第一页| 天天综合天天做天天综合| 色猫猫国产区一区二在线视频| 91麻豆精品国产91久久久久| 三级欧美在线一区| 精品久久久网站| 欧美性xxxxx极品少妇| 国产日韩三级在线| 国产成人免费av在线| 国产精品日韩成人| 欧美又粗又大又爽| 国产自产2019最新不卡| 国产精品福利电影一区二区三区四区| 亚洲电影你懂得| 日韩女优制服丝袜电影| 欧美影院一区二区| 成人av影视在线观看| 日韩二区在线观看| 中文字幕第一区| 欧美唯美清纯偷拍| 91看片淫黄大片一级| 国产日韩欧美一区二区三区乱码 | 久久亚洲二区三区| 成人免费视频网站在线观看| 亚洲综合色自拍一区| 国产精品人人做人人爽人人添| 日韩丝袜美女视频| 日韩免费看网站| 精品国产乱码久久久久久久| 欧美视频中文字幕| 91在线观看成人| 国产精品一区专区| 久久国产精品72免费观看| 日韩不卡在线观看日韩不卡视频| 五月婷婷久久丁香| 激情综合色综合久久综合| 国产99久久久久久免费看农村| 成人精品一区二区三区四区| 大胆亚洲人体视频| 久久疯狂做爰流白浆xx| 欧美美女喷水视频| 青青草伊人久久| 91精品福利视频| 亚洲成人av电影| 欧美日韩一区三区| 午夜伊人狠狠久久| 欧美日韩一区二区三区不卡| 艳妇臀荡乳欲伦亚洲一区| 91国在线观看| 香蕉加勒比综合久久| 欧美日韩另类国产亚洲欧美一级| 久久综合久久综合久久| 国产综合成人久久大片91| 亚洲天堂网中文字| 欧美午夜免费电影| 国产一区二区三区综合| 国产精品视频观看| 欧美视频中文字幕| 中文字幕在线一区二区三区| 国产一区二区不卡老阿姨| 国产精品久久久久久久久动漫| jvid福利写真一区二区三区| 午夜伦理一区二区| 亚洲三级电影网站| 久久久精品综合| 久久亚洲二区三区| 色悠悠久久综合| 日韩高清一区二区| 亚洲v日本v欧美v久久精品| 国产欧美一区在线| 精品少妇一区二区三区免费观看 | 99久久久免费精品国产一区二区| 亚洲国产日韩在线一区模特| 亚洲精品久久久久久国产精华液| 国产精品污www在线观看| 国产午夜精品福利| 国产喂奶挤奶一区二区三区| 国产女同互慰高潮91漫画| 欧美不卡视频一区| 国产精品日产欧美久久久久| 欧美伊人久久大香线蕉综合69| 国产精品资源在线观看| 中文字幕一区二区5566日韩| 91福利视频网站| 色噜噜久久综合| 欧美日韩国产综合视频在线观看| 91黄色免费观看| 日韩限制级电影在线观看| 欧美精品一级二级| 欧美视频中文字幕| 日韩免费观看高清完整版在线观看| 久久国产综合精品| 国产一区二区免费看| 日韩和欧美的一区| 免费久久99精品国产| 亚洲卡通动漫在线| 五月天中文字幕一区二区| 亚洲 欧美综合在线网络| 日韩国产欧美在线播放| 国产成人综合亚洲网站| www.亚洲色图| 日韩欧美亚洲国产精品字幕久久久 | 欧美肥妇bbw| 欧美网站大全在线观看| 国产日韩欧美精品一区| 日韩国产欧美三级| 黑人巨大精品欧美一区| 91国偷自产一区二区使用方法| 欧美性生交片4| 亚洲视频一二三区| 日韩国产一区二| 欧美日韩1234| 欧美高清一级片在线观看| 五月婷婷激情综合网| 欧美aaaaaa午夜精品| 56国语精品自产拍在线观看| 在线成人午夜影院| 日韩和的一区二区| 欧美三级蜜桃2在线观看| 中文字幕中文在线不卡住| 国产精品12区| 中文字幕成人av| 东方欧美亚洲色图在线| 亚洲国产高清不卡| 国产成人综合视频| 亚洲免费在线电影| 青草国产精品久久久久久| 精品国产区一区| 日本韩国一区二区三区视频| 亚洲精品免费在线| 欧美一区二区高清| 99国产精品久久久久久久久久久| 亚洲精品免费视频| 波多野结衣在线aⅴ中文字幕不卡| 亚洲欧美日韩国产综合| 日韩视频一区二区三区| 美女视频第一区二区三区免费观看网站 | 久久香蕉国产线看观看99|