
学位论文简介
矩阵分解作为一种有效的数据降维和特征提取技术,被广泛的应用于推荐系统、音频处理、自然语言处理等人工智能领域。随机梯度下降算法,因其资源占用低、数据不敏感、训练灵活等特征,能快速高效训练矩阵分解。然而,随着海量数据的输入,SGD算法串行训练矩阵分解需要耗费大量的时间,难以满足应用快速发展的需求。因此,十分必要通过并行手段加速SGD矩阵分解。多CPU/GPU系统是当前在人工智能领域应用最为广泛的并行系统,通过良好设计使系统中CPU和GPU协同计算,比单纯使用GPU发挥系统更多算力。更重要的是,利用性能较弱的多个CPU、GPU协同能以较少成本达到高端GPU的性能,是打破当前高端GPU垄断,进行国产替代的可行方案。因此,本文将面向多CPU/GPU计算架构研究SGD矩阵分解的系统级优化方法,主要创新如下:
(1) 提出了面向多CPU/GPU同步训练的数据分配框架。数据分配框架基于本文针对多CPU/GPU系统建立的矩阵分解训练时间与节点数据分配关系模型,能有效根据同步开销占比执行不同分配策略。实验表明,框架中的两种数据分配策略在各自应用场景中均能有效提升系统训练性能。
(2) 提出了一种面向多CPU/GPU矩阵分解异步计算方法。为解决CPU缓存性能显著下降问题,设计了以CPU线程为工作节点的训练计算方式。为突破平台内存带宽限制提出了两种应对不同矩阵规模的内存访问模式。为减少数据冲突,基于数据更新的时空分离思路,设计异步数据更新安全机制。
(3) 提出了面向多CPU/GPU矩阵分解系统的通信优化方法。根据不同通信架构,构建多CPU/GPU矩阵分解的通信开销模型,并在此基础上研究最佳通信拓扑序搜索方法。为进一步突破通信开销的优化极限,提出流水化通信优化方法。
主要学术成果
[1] Yizhi Huang, Yan Liu, Yang Bai, Si Chen and Renfa Li, UMA-MF: A Unified Multi-CPU/GPU Asynchronous Computing Framework for SGD-Based Matrix Factorization," in IEEE Transactions on Parallel and Distributed Systems, vol. 34, no. 11, pp. 2978-2993, Nov. 2023. (CCF A类期刊,第一作者)
[2] Yizhi Huang, Yanlong Yin, Yan Liu, Shuibing He, Yang Bai, Renfa Li. A novel multi-CPU/GPU collaborative computing framework for SGD-based matrix factorization, Proceedings of the 50th international conference on parallel processing. 2021. (CCF B类会议, 第一作者)
[3] Bai Y, Huang Y, Xie G, et al. ASDYS: Dynamic scheduling using active strategies for multifunctional mixed-criticality cyber–physical systems[J]. IEEE Transactions on Industrial Informatics, 2020, 17(8): 5175-5184. (SCI一区, 第二作者)