本节课将为大家介绍如何基于 GPU 加速 Deeplearning4j 的建模过程。首先我们将为大家介绍异构计算的基本框架和原理,包括主流的 GPU 供应商英伟达各系列显卡的相关情况;接着,结合 Deeplearning4j 的具体情况,我们将讲解如何在使用单 GPU 和多 GPU 情况下加速训练过程的相似步骤;最后,我们会介绍一些调优的手段并对本节课做下总结。本节课核心内容包括:
- 异构计算框架加速深度学习
- Deeplearning4j 对 GPU 的支持
- Deeplearning4j 在多 GPU 环境下训练
15.1 异构计算框架加速深度学习
我们日常接触的开发工作其实都是对 CPU 进行编程。应当说在过去的几十年,在摩尔定律还比较有效的时期内,大家将提升计算速度的注意力集中在 CPU 的工艺和晶体管的集成度上——高主频的 CPU 以及多核 CPU 相继面世,可以说,以英特尔为代表的 CPU 厂商长期占据着高性能计算服务的制高点。
但是,CPU 作为计算机系统的大脑所承担的控制和计算任务非常繁重,再加上近几年晶体管工艺的瓶颈逐渐显现,CPU 性能提升放缓,因此在面对现在庞大数据的计算和优化迭代任务时,往往显得力不从心。
与之相比的 GPU,本身就作为显示计算的器件存在,功能相对单一和独立,擅长大规模的矩阵/张量计算,因此目前很多主流的深度学习框架都支持基