人工智能随着核心算法、计算能力的迅速提升,以及海量联网数据的支持,在本世纪终于迎来了质的飞跃,人工智能将是未来应用最广泛的技术之一,在市场经济领域带来更多的机遇与机会,在医学领域可以大大加快诊断速度和准确性,在军事领域人工智能武器将成为未来武器的王牌……
(一)了解深度学习算法
深度学习两个主要过程:训练(Training)和推理(Inference)。其中:
训练(Training)是将大量数据加载到机器中并分析数据以建立用于分类,识别,预测等的模式的过程(已建立的模式称为训练后的模型),训练需要高速密集并行计算---“高性能计算”
|
任务领域 |
原始输入 |
浅层特层 中层特征 高层特征 |
训练目标 |
|
语音 |
样本 |
频段 声音 音调 音素 单词 |
语音识别 |
|
图像 |
像素 |
线条 纹理 图案 局部 物体 |
图像识别 |
|
文本 |
字母 |
单词 词组 短语 段落 文正 |
语义理解 |
推理(Inference)是将未知数据输入到通过学习过程创建的训练模型中,然后根据已建立的模式对数据进行实际分类,识别和预测的过程,推理需要快速将推理结果转化为行动—“边缘计算”、实时要求高
深度学习是指多层神经网络上运用各种机器学习算法解决图像、文本、语音等各种问题的算法集合
|
典型算法 |
应用领域 |
|
CNN卷积神经网络 |
计算机视觉:医学图像分析、图像识别、面部检测、识别系统、全动态视频分析,自动驾驶,卫星图像 药物发现、推荐引擎、游戏 |
|
RNN递归神经网络 变体:LSTM、GRU、NTM、双向RNN |
自然语言处理(NLP):机器翻译、情感处理,语言生成,文本分类和句子完成: 时间序列预测:股票预测、金融工程,应用物理、医学医药 顺序图像处理:图像分类、图像字幕 分割的手写识别、语音识别 问题解答系统,机器人控制, |
|
DBN深度信念网络 |
图像识别、信息检索、自然语言理解、故障预测 |
|
DSN深度堆栈网络 |
信息检索、连续语音识别 |
|
GAN生成对抗网络 |
图像样式转换,高分辨率图像合成,文本到图像合成,图像超分辨率[例如小剂量PET重建,异常检测,3D对象生成[例如牙齿修复],音乐生成,科学模拟加速度(例如天体物理学或高能物理 |
|
Autoencoder自动编码器 |
推荐系统,图像重构、聚类、机器翻译,异常值检测、数据去噪(图像、音频),图像修复,信息检索 |
(二)深度学习主流算法计算特点
2019年,Nvidia(英伟达)公司上市Turing架构的RTX系列的GPU卡,增加了Tensor张量计算单元,大幅提升了深度学习关键的矩阵乘法计算、卷积计算(借助张量Tensors),GPU卡性能的关键指标:Tensor张量核数、显存带宽、FP16/FP32计算精度
目前可选GPU型号(2020年1季度)的主要技术参数
|
型号 |
CUDA核 |
张量 核数 |
显存1 |
显存带宽2 |
张量计算3 |
FP16半精度计算4 |
FP32单精度计算5 |
|
Quadro GV100 |
5120 |
640 |
32 |
870 |
133 |
33.32 |
16.66 |
|
Quadro RTX8000 |
4608 |
576 |
48 |
672 |
130 |
32.62 |
16.31 |
|
Quadro RTX6000 |
4608 |
576 |
24 |
672 |
130 |
32.62 |
16.31 |
|
Titan RTX |
4608 |
576 |
24 |
672 |
130 |
32.62 |
16.31 |
|
TITAN V |
5120 |
640 |
12 |
651 |
119 |
29.80 |
14.90 |
|
TESLA V100 |
5120 |
640 |
16 |
897 |
113 |
28.26 |
14.13 |
|
RTX2080Ti |
4352 |
544 |
11 |
616 |
108 |
26.90 |
13.45 |
|
Quadro RTX5000 |
3072 |
384 |
16 |
448 |
89 |
22.30 |
11.15 |
|
RTX2080S |
3072 |
368 |
8 |
496 |
85 |
22.30 |
11.15 |
|
TESLA T4 |
2560 |
320 |
16 |
320 |
65 |
65.13 |
8.14 |
|
RTX2070S |
2560 |
288 |
8 |
448 |
65 |
18.12 |
9.06 |
|
Quadro RTX4000 |
2304 |
288 |
8 |
416 |
57 |
14.24 |
7.12 |
|
RTX2060S |
2176 |
272 |
6 |
336 |
57 |
14.36 |
7.18 |
标注1 显存单位GB,标注2 显存带宽单位GB/s,标注3-5 单位Tflops(每秒万亿次)
应用1 CNN(卷积神经网络)计算特点
这类应用主要是计算机视觉应用,计算机获得对图像的高级“理解”。为了评估模型是否真正“理解”了图像,研究人员开发了不同的评估方法来衡量性能
主要算法:卷积神经网络(CNN)
-
CNN主要模型:AlexNet,VGG,GoogleNet, ResNet, Inception 等
-
主流深度学习框架:Theano、Caffe、MXNet、TensorFlow、Torch/Pytorch
-
CNN多GPU并行计算特点:非常理想
利用GPU加速主要是在conv(卷积)过程上,conv过程可以像向量加法一样通过CUDA实现并行化。具体的方法很多,最好的是用FFT(快速傅里叶变换)进行快速卷积,NVIDIA提供了cuFFT库实现FFT,复数乘法则可以用cuBLAS库里的对应的level3的cublasCgemm函数。
GPU加速的基本准则就是“人多力量大”。CNN说到底主要问题就是计算量大,但是却可以比较有效的拆分成并行问题。随便拿一个层的filter来举例子,假设某一层有n个filter,每一个需要对上一层输入过来的map进行卷积操作。那么,这个卷积操作并不需要按照线性的流程去做,每个滤波器互相之间并不影响,可以大家同时做,然后大家生成了n张新的谱之后再继续接下来的操作。既然可以并行,那么同一时间处理单元越多,理论上速度优势就会越大。所以,处理问题就变得很简单粗暴,就像NV那样,暴力增加显卡单元数(当然,显卡的架构、内部数据的传输速率、算法的优化等等也都很重要)。
GPU计算性能出众的根本原因是处理矩阵算法能力的非常强大,CNN中涉及大量的卷积,也就是矩阵乘法等,所以在这方面具有优势,GPU上的TFLOP是ResNet和其他卷积架构性能的最佳指标。Tensor Core可以显着增加FLOP,使用卷积网络,则应首先确定具有高GPU张量计算能力的优先级,然后分配高FLOPs的CUDA数量,然后分配高内存带宽,然后分配具有FP16位精度数据
-
CNN硬件配置要点:Tensors> FLOP> 显存> 半精度计算(FP16)
GPU可选型号:
|
No |
CUDAs |
Tensors |
显存1 |
显存带宽2 |
张量计算3 |
F16半精度4 |
F32单精度5 |
|
|
1 |
Quadro GV100 |
5120 |
640 |
32 |
870 |
133 |
33.32 |
16.66 |
|
4608 |
576 |
48 |
672 |
130 |
32.62 |
16.31 |
||
|
Quadro RTX6000 |
4608 |
576 |
24 |
672 |
130 |
32.62 |
16.31 |
|
|
Titan RTX |
4608 |
576 |
24 |
672 |
130 |
32.62 |
16.31 |
|
|
2 |
TITAN V |
5120 |
640 |
12 |
651 |
119 |
29.80 |
14.90 |
|
TESLA V100 |
5120 |
640 |
16 |
897 |
113 |
28.26 |
14.13 |
|
|
RTX2080Ti |
4352 |
544 |
11 |
616 |
108 |
26.90 |
13.45 |
|
|
3 |
3072 |
384 |
16 |
448 |
89 |
22.30 |
11.15 |
|
|
RTX2080S |
3072 |
368 |
8 |
496 |
85 |
22.30 |
11.15 |
|
|
4 |
TESLA T4 |
2560 |
320 |
16 |
320 |
65 |
65.13 |
8.14 |
|
RTX2070S |
2560 |
288 |
8 |
448 |
65 |
18.12 |
9.06 |
|
|
2304 |
288 |
8 |
416 |
57 |
14.24 |
7.12 |
||
|
RTX2060S |
2176 |
272 |
6 |
336 |
57 |
14.36 |
7.18 |
标注1—单位GB,标注2—单位GB/s, 标注3~5 ---单位TFlops
说明:
|
GPU卡型号 |
显存 |
计算规模 |
说明 |
|
|
1 |
RTX2070s RTX2080s RTX2080ti |
8GB 8GB 11GB |
小型模型开发 |
较小的GPU内存占用空间, 高吞吐量工作负载应用 涡轮式散热,单台工作站中最多配置8个 |
|
2 |
Titan RTX |
24GB |
中等模型开发 |
大显存支持使用更大的批处理 需要训练大型计算机视觉模型,TITAN RTX可以做到。 最多4块,不支持密集地装进工作站 |
|
3 |
RTX6000 |
24GB |
中大等规模开发 |
配备涡轮风扇,支持密集安装 支持单机最大9块 |
|
4 |
RTX8000 |
48GB |
超大规模 |
拥有所有NVIDIA GPU中最大的内存容量, 配备涡轮风扇,支持密集安装 支持单机最大9块 |
应用2 RNN(循环神经网络)计算特点
这类典型应用主要是自然语言处理(NLP),包括语音识别,语言翻译,语音转文本和Q&A系统。
-
主要算法:RNN(包括变体: LSTM、GRU、NTM、双向RNN等)、Transformer
-
主流框架:CNTK、Torch/PyTorch、Keras
-
多GPU并行计算: 不明确,跟程序设计、算法、框架、SDK以及具体应用都有很大关系,一些应用CPU多核并行反倒更快。
RNN和LSTM的训练并行计算是困难的,因为它们需要存储带宽绑定计算,这是硬件设计者的噩梦,最终限制了神经网络解决方案的适用性。简而言之,LSTM需要每个单元4个线性层(MLP层)在每个序列时间步骤中运行。线性层需要大量的存储带宽来计算,事实上,它们不能使用许多计算单元,通常是因为系统没有足够的存储带宽来满足计算单元。而且很容易添加更多的计算单元,但是很难增加更多的存储带宽(注意芯片上有足够的线,从处理器到存储的长电线等)
GPU内存非常重要,因为诸如XLNet和BERT之类的transformer网络需要大量的内存才能达到最高的精度,考虑矩阵乘法A*B=C的一种简单有效的方法是受内存(显存)带宽限制:将A,B的内存复制到芯片上比进行A * B的计算要昂贵。这意味着如果您要使用LSTM和其他执行大量小矩阵乘法的循环网络,则内存(显存)带宽是GPU的最重要功能。矩阵乘法越小,内存(显存)带宽就越重要,介于卷积运算和小型矩阵乘法之间的transformer在整体求解过程环节中并行效率低,加快方式提升显存带宽和足够的显存容量
-
RNN硬件配置要点: 显存带宽+显存> 半精度计算(FP16) > Tensors> FLOP
GPU可选型号
|
No |
CUDAs |
Tensors |
显存1 |
显存带宽 2 |
张量计算3 |
F16半精度4 |
FP32单精度5 |
|
|
1 |
TESLA V100 |
5120 |
640 |
16 |
897 |
113 |
28.26 |
14.13 |
|
Quadro GV100 |
5120 |
640 |
32 |
870 |
133 |
33.32 |
16.66 |
|
|
2 |
4608 |
576 |
48 |
672 |
130 |
32.62 |
16.31 |
|
|
Quadro RTX6000 |
4608 |
576 |
24 |
672 |
130 |
32.62 |
16.31 |
|
|
Titan RTX |
4608 |
576 |
24 |
672 |
130 |
32.62 |
16.31 |
|
|
TITAN V |
5120 |
640 |
12 |
651 |
119 |
29.80 |
14.90 |
|
|
RTX2080Ti |
4352 |
544 |
11 |
616 |
108 |
26.90 |
13.45 |
|
|
3 |
RTX2080S |
3072 |
368 |
8 |
496 |
85 |
22.30 |
11.15 |
|
Quadro RTX5000 |
3072 |
384 |
16 |
448 |
89 |
22.30 |
11.15 |
|
|
RTX2070S |
2560 |
288 |
8 |
448 |
65 |
18.12 |
9.06 |
|
|
2304 |
288 |
8 |
416 |
57 |
14.24 |
7.12 |
||
|
4 |
RTX2060S |
2176 |
272 |
6 |
336 |
57 |
14.36 |
7.18 |
|
TESLA T4 |
2560 |
320 |
16 |
320 |
65 |
65.13 |
8.14 |
说明
|
GPU卡型号 |
显存 |
可选 |
说明 |
|
|
1 |
RTX5000 |
16GB |
Good |
拥有16GB显存, |
|
2 |
Titan RTX |
24GB |
Better |
支持NVLink桥接,加速训练更大的NLP网络模型, |
|
RTX6000 |
24GB |
Better |
类似TITAN RTX性能指标, 涡轮散热设计允许密集配置,支持单机最大9块卡扩展 |
|
|
3 |
Quadro GV100 |
32GB |
Best |
拥有最高的显存带宽870GB/s和最高的张量算力 |
|
3 |
RTX8000 |
48GB |
Best |
拥有最大48GB显存,是NLP的最佳GPU 涡轮散热设计允许密集配置,支持单机最大9块卡扩展 |
(四)深度学习计算系统平台配备
4.1深度学习框架对比
|
框架 |
重点应用 |
编程语言 |
多GPU速度 |
深度学习主要算法 |
|||
|
CNN |
RNN /LTSM |
GAN |
RBM/ DBN |
||||
|
TensorFlow |
自然语言处理,文本分类/摘要,语音/图像/手写识别,预测和标记 |
Python , C++, R语言 |
++ |
+++ |
++ |
支持 |
|
|
Caffe |
视觉识别 |
C,C++,Python,Matlab |
+ |
++ |
|||
|
CNTK |
手写和语音识别.处理图像 |
C++,Python |
++ |
+ |
+++ |
支持 |
|
|
PyTorch |
处理图像,手写和语音识别 |
CUDA,C/C++ |
+++ |
+++ |
++ |
支持 |
支持 |
|
MXNet |
图像,手写/语音识别,预测和NLP |
Python,R,C++ Julia,CUDA |
+++ |
+++ |
+ |
支持 |
|
|
Chainer |
情感分析,机器翻译,语音识别 |
CUDA |
支持 |
支持 |
|||
|
Keras |
分类,文本生成和摘要,标记和翻译,以及语音识别 |
Python |
支持 |
支持 |
|||
|
DL4J |
图像识别,欺诈检测,文本挖掘,词性标记和自然语言处理 |
Java |
支持 |
支持 |
支持 |
||
|
Theano |
Python |
+ |
++ |
++ |
4.2 深度学习开发库SDK
开发环境:CUDA Toolkit
训练SDK:cuDNN (7.0版本支持Tensor Core)、NCCL、cuBLAS、cuSPARSE
推理SDK:TensorRT(版本3.0支持Tensor Core)、DALI
4.3 深度学习操作系统
操作系统:Windows 10 Pro 64位+ Ubuntu 18.04或RHEL 7.5
容器:Docker 18.06.1,NVIDIA Docker运行时v2.0.3
容器:RAPIDS容器
(五)深度学习计算硬件配置推荐
打造一个快速高效的深度学习计算平台,涉及到多方面因素:
(1)超算硬件设备-—GPU、CPU、内存、硬盘io…
(2)深度学习算法---CNN、RNN…
(3)深度学习框架---Tensorflow、PyTorch…
(4)开发库SDK---CUDA、cuDNN…
(5)程序设计算法优化—-张量单元、FP16精度数据计算、针对算法SDK优化、多卡并行优化算法…
5.1 深度学习工作站配置推荐(科研类)
机型:UltraLAB GX380i/GT410
支持2~4块GPU卡
配备nvidia RTX---配置张量计算单元Tensor,支持inte X-512
|
No |
产品型号 |
主要配置 |
FP16半精度性能 |
显存带宽 |
显存 |
理想算法 |
价格 |
|
1.1 |
GX380i 14932-SA2X |
intel第9代处理器(6核@4.9Ghz )/32GB DDR4 /2*RTX2070s/960GB SSD /4TB SATA/微塔式(2000w)/23"图显 |
36Tops |
448GB/s |
16GB |
CNN |
¥29,990 |
|
1.2 |
GX380i 14964-SB2X |
intel第9代处理器(6核@4.9Ghz)/64GB DDR4/ 2*RTX2080Ti/1.9TB SSD/4TB SATA/微塔式(1200w)/23"图显 |
54Tops |
616GB/s |
22GB |
CNN |
¥49,990 |
|
1.3 |
GX380i 14964-SB2D |
intel第9代处理器(6核@4.9Ghz) /64GB DDR4 / 2*RTX5000/1.9TB SSD/6TB SATA/微塔式(2000w)/23"图显 |
45Tops |
448GB/s |
32GB |
RNN |
¥69,990 |
|
1.4 |
GX380i 14996-SB2T |
intel第9代处理器(8核4.9Ghz) /96GB DDR4 / 2*Titan RTX /1.9TB SSD/6TB SATA/微塔式(2000w)/23"图显 |
65Tops |
672GB/s |
48GB |
CNN+ RNN |
¥97,500 |
|
1.5 |
GX380i 15096-SB2T |
intel第9代处理器(8核5.0Ghz) /128GB DDR4 /2*Quadro GV100 /960TB SSD+2TB M2.SSD /6TB SATA/微塔式(2000w)/23"图显 |
67Tops |
870GB/s |
64GB |
RNN |
¥169,990 |
|
1.6 |
GT410i 14664-SB4X |
intel第10代至尊处理器(10核4.6Ghz) /64GB DDR4 /4*RTX2080s /1.92TB SSD/4TB SATA/微塔式(2000W)/23"图显 |
89Tops |
496GB/s |
32GB |
CNN |
¥69,990 |
|
1.7 |
GT410i 14596-SB4X |
intel第10代至尊处理器(12核4.5Ghz ) /96GB DDR4 /4*RTX2080Ti /1.92TB SSD /6TB SATA/微塔式(2000W)/23"图显 |
108Tops |
616GB/s |
44GB |
CNN |
¥89,990 |
|
1.8 |
GT410i 145192-SC4E |
intel第10代至尊处理器(12核4.5Ghz ) /192GB DDR4 /4*RTX6000/ 3.84TB SSD/10TB SATA/微塔式(2000W)/23"图显 |
131Tops |
672GB/s |
96GB |
CNN+ RNN |
¥210,000 |
|
1.9 |
GT410i 142256-SC4F |
intel第10代至尊处理器(18核4.2Ghz ) /256GB DDR4 /4*RTX8000/3.84TB SSD/10TB SATA/微塔式(2000W)/23"图显 |
131Tops |
672GB/s |
192GB |
RNN |
¥330,000 |
|
1.10 |
GT410i 142256-SC4G |
intel第10代至尊处理器(18核4.2Ghz ) /256GB DDR4/4*Qudro GV100/3.84TB SSD /10TB SATA/微塔式(2000W)/23"图显 |
133Tops |
870GB/s |
64GB |
RNN |
¥350,000 |
5.2 深度学习工作站配置推荐(高性能类)
机型:UltraLAB GT410P
支持支持5~7块GPU
|
No |
产品型号 |
主要配置 |
FP16半精度性能 |
显存带宽 |
显存 |
理想算法 |
价格 |
|
2.1 |
GT410P 14696-SB5X |
intel第10代至尊处理器 (10核4.6Ghz)、96GB DDR4 /5*RTX2080s/1.92TB SSD+6TB SATA /双塔式(双2000w)/27"-4K图显 |
112Tops |
496GB/s |
40GB |
CNN |
¥97,000 |
|
2.2 |
GT410P 14596-SB6X |
intel第10代至尊处理器 (12核4.5Ghz)、96GB DDR4 /6*RTX2080s/1.9TB SSD+ 8TB SATA /双塔式(双2000w)/27"-4K图显 |
134Tops |
496GB/s |
48GB |
CNN |
¥108,000 |
|
2.3 |
GT410P 145128-SB7X |
intel第10代至尊处理器 (12核4.5Ghz)、128GB DDR4 /7*RTX2080s/1.9TB SSD+ 10TB SATA/ /双塔式(双2000w)/27"-4K图显 |
156Tops |
496GB/s |
56GB |
CNN |
¥118,000 |
|
2.4 |
GT410P 145192-SC7X |
intel第10代至尊处理器 (12核4.5Ghz)、192GB DDR4 /7*RTX2080Ti 3.84TB SSD+ 8TB SATA/ 双塔式(双2000w)/27"-4K图显 |
188Tops |
616GB/s |
77GB |
CNN |
¥148,000 |
|
2.5 |
GT410P 145192-SC5T |
intel第10代至尊处理器 (12核4.5Ghz)、192GB DDR4 /5*Titan RTX/3.84TB SSD+ 10TB SATA/双塔式(双2000w)/27"-4K图显 |
163Tops |
672GB/s |
120GB |
CNN+ RNN |
¥228,000 |
|
2.6 |
GT410P 142256-SC7E |
intel第10代至尊处理器 (18核4.2Ghz)、256GB DDR4 /7*RTX6000/3.84TB SSD+ 14TB SATA/双塔式(双2000w)/27"-4K图显 |
228Tops |
672GB/s |
168GB |
CNN+ RNN |
¥370,000 |
|
2.7 |
GT410P 142256-SC7F |
intel第10代至尊处理器 (18核4.2Ghz)、256GB DDR4 /7*RTX8000/3.84TB SSD+ 14TB SATA/双塔式(双2000w)/27"-4K图显 |
228Tops |
672GB/s |
240GB |
RNN |
¥535,000 |
5.3 深度学习工作站配置推荐(超级类)
机型:UltraLAB GX630M)
支持8~9块GPU
|
No |
产品型号 |
主要配置 |
FP16半精度性能 |
显存带宽 |
内存/显存 |
理想算法 |
价格 |
|
3.1 |
GX630M 237192-MB9X |
2*Xeon金6234(16核3.7GHz)/ 睿频4GHz /192GB DDR4 /9*RTX2080s/960GB SSD+2TB M2.SSD/28TB存储/双塔/27"-4K图显 |
201Tops |
496GB/s |
40GB |
CNN |
¥199,990 |
|
3.2 |
GX630M 243192-MB8X |
2*Xeon金6244(16核4.3GHz)/ 睿频4.3GHz /192GB DDR4 /8*RTX2080Ti/1.9TB SSD+2TB M2.SSD/42TB存储/双塔/27"-4K图显 |
215Tops |
616GB/s |
88GB |
CNN |
¥245,000 |
|
3.3 |
GX630M 241384-60T7T |
2*Xeon金6246(24核4.1GHz)/ 睿频4.2GHz /384GB DDR4 /7*Titan RTX/3.84TB SSD /60TB并行存储/双塔/27"-4K图显 |
228Tops- |
672GB/s |
168GB |
CNN+ RNN |
¥399,990 |
|
3.4 |
GX630M 241384-42T8E |
2*Xeon金6246(24核4.1GHz)/ 睿频4.2GHz /384GB DDR4 /8*RTX6000/1.92TB SSD+2TB M2.SSD/42TB并行存储/双塔/32"-4K图显 |
261Tops |
672GB/s |
192GB |
CNN+ RNN |
¥499,990 |
|
3.5 |
GX630M 239768-150T8F |
2*Xeon金6254(36核3.9GHz)/ 睿频4.0GHz /768GB DDR4 /8*RTX8000/3.84TB SSD+3.2TB P-SSD/150TB并行存储/双塔/32"-4K图显 |
261Tops |
672GB/s |
384GB |
CNN+ RNN+ 推理 |
¥750,000 |
|
3.6 |
GX630M 235768-210T8G |
2*Xeon白金8268(48核3.5GHz)/睿频3.9GHz /768GB DDR4 /8*QGV100 /3.84TB SSD /6.4TB P-SSD/210TB并行存储/双塔/32"-4K图显 |
266Tops |
870GB/s |
256GB |
CNN+ RNN+ 推理 |
¥850,000 |
|
3.7 |
GX630M 2331T-266T9F |
2*Xeon白金8280(56核3.3GHz/ 睿频4.0GHz /1TB DDR4 /9*RTX8000/3.84TB SSD系统盘/6.4TB P-SSD/266TB并行存储/双塔/32"-4K图显 |
293Tops-地球最强 |
672GBs |
432GB |
CNN+ RNN+ 推理 |
¥999,990 |