
大规模图神经网络
并行和分布式技术
作品简介
本书系统介绍并行与分布式图神经网络的核心技术和实践方法,内容全面、结构清晰,既涵盖理论基础,又包含系统实现与编程案例,具有很高学术价值和工程指导意义。全书共9章。第1章介绍图神经网络的背景、发展历史和现状,并探索大规模图神经网络的缘由;第2章介绍图神经网络模型的基础知识及其应用;第3章介绍分布式并行机器学习的流程、训练模式、训练架构、物理架构等基础知识;第4章从整体上介绍分布式并行图神经网络训练的流程和方法;第5章和第6章分别介绍大规模图神经网络的小批次分布式并行训练和全图分布式并行训练方法及其优化技术;第7章介绍经典的大规模图神经网络系统;第8章介绍大规模图神经网络编程实践案例;第9章探讨大规模图神经网络技术的未来发展方向。
邵蓥侠,北京邮电大学计算机学院教授,博士生导师,国家级青年人才,北京市科技新星。长期从事数据管理、大规模图计算、图学习等研究;长期担任多个重要国际会议的程序委员和著名国际期刊的审稿人;主持国家自然科学基金项目3项、科技创新2030“新一代人工智能”重大项目子课题1项以及CCF/CAAI产学研合作基金多项。在相关领域发表学术论文100余篇,其中CCF A类论文50余篇;获数据库领域顶级国际会议VLDB 2022最佳常规研究论文奖、数据库领域重要国际会议DASFAA 2020最佳学生论文奖等国内外学术会议论文奖8项。获中国电子学会科技进步一等奖、北京市高等教育教学成果奖二等奖、ACM SIGMOD中国新星奖等奖项。
崔斌,北京大学教授,北京大学计算机学院副院长、数据科学与工程研究所所长,长江学者特聘教授,IEEE Fellow,中国计算机学会会士。在顶级国际会议和期刊发表学术论文200余篇,包括SIGMOD、VLDB、ICDE、KDD、NeurIPS、ICML、TKDE、TOIS等,并获得NSR期刊2016最佳论文、WWW 2022国际会议最佳学生论文、VLDB 2022国际会议最佳可扩展数据科学论文等奖励。自2006年起,主持和承担数十个科研项目,包括国家自然科学基金重点项目、国家重点研发计划课题、核高基重大专项以及部委资助项目等。担任中国计算机学会数据库专委会副主任,VLDB理事会理事,Springer期刊DSE主编,IEEE TKDE、VLDB Journal、DAPD等国际期刊编委,担任顶级会议VLDB 2024大会主席,数十个国际顶级会议的程序委员会委员。曾获得2008年微软亚洲研究院“微软青年教授奖”、2009年中国计算机学会“CCF青年科学家奖”、2014年*自然科学二等奖、2023年中国电子学会科技进步一等奖等奖项。指导的学生曾多次获得北京大学优秀博士学位论文、北京市优秀博士学位论文、中国人工智能学会优秀博士学位论文、CCF优秀博士学位论文、ACM中国优秀博士学位论文、微软学者、苹果奖学金、谷歌奖学金等荣誉。
作品目录
PREFACE 前言
CHAPTER1 第1章 引言
1.1 图神经网络
1.1.1 什么是图神经网络
1.1.2 图神经网络的发展历史
1.1.3 图神经网络的现状
1.2 大规模图神经网络
1.2.1 大规模图神经网络的缘由
1.2.2 大规模图神经网络与分布式训练
1.2.3 分布式图神经网络的困难与挑战
1.3 本书组织
CHAPTER2 第2章 图神经网络模型
2.3 典型的图神经网络模型
2.3.2 图卷积神经网络
2.3.3 图注意力网络
2.3.4 生成式图神经网络模型
2.4 图神经网络的应用
2.4.1 社交网络
2.4.2 生物与医疗
2.4.3 金融与风控
2.4.4 物理领域
2.4.5 交通领域
2.4.6 推荐系统
2.5 小结
CHAPTER3 第3章 分布式并行机器学习
3.1 机器学习的基础知识
3.1.1 基本概念
3.1.3 反向传播算法
3.1.4 梯度下降算法
3.2 分布式并行机器学习的流程
3.3 分布式并行机器学习的训练模式
3.3.1 数据并行
3.3.2 模型并行
3.3.3 流水并行
3.3.4 张量并行
3.3.5 混合专家并行
3.3.6 完全分片的数据并行
3.4 分布式并行机器学习的训练架构
3.4.1 分布式训练架构
3.4.2 模型更新策略
3.5 分布式并行机器学习的物理架构
3.5.1 单机多卡分布式并行训练环境
3.5.2 多机集群分布式并行训练环境
3.6 小结
CHAPTER4 第4章 分布式并行图神经网络训练
4.1 图神经网络训练的基本流程
4.1.1 全图训练
4.1.2 小批次训练
4.2 图神经网络与深度神经网络的比较
4.3 分布式并行图神经网络训练
4.3.1 小批次分布式并行图神经网络训练
4.3.2 全图分布式并行图神经网络训练
4.4 小结
参考文献
CHAPTER5 第5章 小批次分布式并行图神经网络训练与优化
5.1 朴素的小批次分布式并行训练
5.1.1 训练流程
5.1.2 问题与不足
5.2 执行引擎优化
5.2.1 小批次间的算子并行训练
5.2.2 推拉混合的并行训练
5.2.3 基于历史嵌入的并行训练
5.2.4 基于计算分解的数据并行训练
5.3 图采样及其优化
5.3.1 基本的图采样方法
5.3.2 分布式图采样方法
5.4 数据缓存优化技术
5.5 通信机制及优化
5.5.1 集合通信
5.5.2 集合通信的死锁问题
5.5.3 通信链路优化
5.6 小结
CHAPTER6 第6章 全图分布式并行图神经网络训练与优化
6.1 全图分布式图神经网络训练基本并行方法
6.1.1 子图并行的全图分布式训练
6.1.2 算子并行的全图分布式训练
6.1.3 子图并行与算子并行对比
6.1.4 全图分布式并行图神经网络训练的效率瓶颈
6.2 基于同步模型计算的效率优化
6.2.1 图划分策略
6.2.2 预聚合执行模式
6.2.3 高效的同步通信协议
6.3 基于异步模型计算的通信优化
6.3.1 异步执行模型
6.3.2 异步图神经网络训练通信协议
6.4 小结
CHAPTER7 第7章 大规模图神经网络系统
7.1 图神经网络编程模型
7.1.1 以张量为中心的编程模型
7.1.2 以全图为中心的编程模型
7.1.3 以节点为中心的编程模型
7.2 图神经网络系统与图计算
7.3 面向单机多GPU的图神经网络系统
7.4 面向GPU集群的图神经网络系统
7.5 面向CPU集群的图神经网络系统
7.6 面向其他硬件平台的图神经网络系统
7.7 图神经网络系统的对比与选择
7.7.1 硬件设备
7.7.2 模型训练方法
7.7.3 模型更新策略
7.8 小结
CHAPTER8 第8章 大规模图神经网络编程实践
8.1 基于DGL的训练环境配置
8.2 单机单卡训练
8.2.1 基本训练流程
8.2.2 简单的图神经网络训练案例
8.2.3 基于小批次的图神经网络训练案例
8.3 分布式并行训练
8.3.1 数据集的预处理
8.3.2 分布式数据通信接口
8.3.3 单机多GPU的训练
8.3.4 基于集群的训练
8.4 小结
CHAPTER9 第9章 总结与展望
推荐阅读