人工智能随着核心算法、计算能力的迅速提升,以及海量联网数据的支持,在本世纪终于迎来了质的飞跃,人工智能将是未来应用最广泛的技术之一,在市场经济领域带来更多的机遇与机会,在医学领域可以大大加快诊断速度和准确性,在军事领域人工智能武器将成为未来武器的王牌……
(一)了解深度学习算法
深度学习两个主要过程:训练(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,支持intel AVX-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 |
专注高性能图形工作站定制