3.4.2 适用场景
异构计算目前已经被广泛地应用于生产和生活当中,主要应用场景如图 3-22 所示。
(1)图形处理
GPU 云服务器在传统的图形处理领域具有强大的优势,利用 GPU 的并行处理架构,不仅能进行深度学习的浮点运算,更可以在实时图形光栅化的应用场景下发挥巨大的优势。GPU 每秒钟可以轻易处理 750 亿以上像素的渲染,可以每秒对 1500 亿以上的纹理像素进行采样和运算。GPU 支持 DirectX(9.0 到 12.0 标准),OpenGL(2.0 到 4.5 标准)及 Vulkan 等这样的标准图形 API 进行加速,在这些 API 之上构建了丰富的软件生态,从操作系统到应用程序都能够无缝地支持,迅速获取加速 GPU 的图形渲染能力,获得流畅的图形渲染效果。
(2)视频处理
除了利用 GPU 的加速 API CUDA 来做视频处理,GPU 还集成了多种视频处理硬件加速功能。GPU 的视频硬件解压功能能够利用 GPU 片上的硬件单元快速解码高清视频流,最高可以支持 8K 高清视频解码,支持 MPEG-2、 VC-1、H.264、vp-8 和vp-9 等主流编码协议,以 1080P、24 帧/ 秒的高清解码为例,单 GPU 最高可以同时解码 30 路的视频流。
GPU 可以将解码之后的数据保存在片上的高速显存之中,然后配合运行于 GPU 之上的基于 CUDA 的深度学习算法,对解码之后的图像进行实时的分类、检测和理
解等操作 ;随后,还可以根据需要,通过 GPU 附带的硬件视频编码,把这些处理之后的 单帧视频图片,重新编码为视频流输出。GPU 可以支持最高 HEVC 的 8K 图像的编码压缩。以 H.264 协议为例,压缩 24 帧 / 秒的 1080P 高清图像,一个 GPU 最高可以同时处理 15 路图像。在相似的峰值信噪比 PSNR 下,GPU 的处理能力可以达到 X264 处理能力的 4 倍到 5 倍。
·工程设计·非线性编辑·远程教育·3D展示·大规模视频转码·高清,4K/8K直播·多人视频会议·视频信号处理·影视动画渲染·数字图像处理·计算金融·科学计算·图像处理·图像识别·语音识别·视频内容鉴别·片源修复图像视频计算深度学习
图 3-22 异构计算的主要应用场景
图 3-23 所示的是基于GPU 云服务器的加速视频转码方案,在 2018 年世界杯直播期间,其窄带高清 2.0 技术可根据画面内容优化编码,并使用AI 技术识别画面中的足球、球员、草地,并对之分别采取不同的编码优化策略,使得整个画质更具层次感、人像清晰。
用户视频媒体库转码调度系统视频scaling 视频水印Logo 处理视频滤波高速编码视频上传结果反馈任务下载结构化结果结果反馈视频URL ...... ...... ...... ...... ...... 黑边检测/去除...... 字幕叠加高速解码图形映射视频截图...... ...... ...... ...... CPU CPU CPU 弹性GPU服务集群
图 3-23 基于GPU 云服务器的加速视频转码方案
除了GPU 云服务器,使用FPGA 云服务器也能进行高效的视频转码,支持 FFMPEG 计算框架下的 H.264、H.265 等 IP 应用。
(3)计算
FPGA 云服务器的计算能力可以支持 OpenCV、ImageMagick 计算框架下的图像转码、图像缩放、 图像滤波、图像处理等,也能支持量化分析、金融分析、期权定价等金融计算场景。下面以图片转码和视频转码为例,简要描述FPGA as a Service 的应用场景和优势。
智能手机已经成为人们日常生活中的必需品,随时随地拍摄照片,在社交应用(如微博、微信)上进行分享是极高频的使用场景。随着手机摄像头像素进入亿级时代,单张照片尺寸可以轻松突破10MB,而由于手机存储的限制,大多数用户会选择将照片上传到云端保存。当用户查看云端相册时,如果仍然传输原图,则需要消耗大量带宽,同时用户往往要等待超出用户忍耐限度的时间。
对于 新的图片格式,如Webp 和HEIF,可以在对图片尺寸进行大幅压缩(比如Webp 的压缩率在25%~34%,HEIF 的压缩率可以高达58%)的同时,提供了不输于JPEG 的画质(Webp 和HEIF 均属于有损压缩,但是画质损失肉眼几乎无法分辨)。Lepton 格式则是无损压缩,可提供至少20% 的压缩率。这样,在云端保存原图,当用户要查看时,实时将原图转码成Webp、HEIF 或者Lepton 格式,可以大幅节省带宽和缩短用户的等待时间,在节省成本的同时大大提升用户的体验和满意度。
Webp、HEIF、Lepton 图片格式所带来的这种巨大优势是靠消耗巨大的算力换来的。如果采用CPU 转码,虽然可以达到和FPGA 类似的压缩率,但一是延时过大, 比如对于超过8KB 的大图,CPU 的转换时间可能高达5~10 秒;二是延时不固定,比如小图延时可能在几十毫秒,而大图延时则高达十几秒。FPGA 的流水并行特性,使得FPGA 的处理吞吐率可以达到CPU 的六七倍,而延时低了两个数量级。
CISCO 发布的白皮书显示,到2022 年,整个互联网流量的82% 将是视频。直播、VOD、短视频如火如荼、方兴未艾。现在互联网视频的主流格式仍然是H.264, 但是H.264 在支持高清视频方面力不从心,比如使用H.264 编码4K 超高清视频,码率接近40bit/s,带来了巨大的带宽成本和传输延时。H.265 标准发布已经三年,2019 年,H.265 高清视频内容占比已经超过10%。相比H.264,H.265 无论是在画质还是在码率上,对H.264 都形成了压倒性的优势。
与图片转码类似,这些优势也是建立在巨大的算力消耗之上。对比CPU(Skylake 96HT)转码H.265 1080p30,对于veryslow 画质只能做到10 帧/ 秒,而单片FPGA (VU9P 器件)则可以达到80 帧/ 秒以上;码率比CPU 低20%~40%,且延时比CPU
有数量级的降低。因此,FPGA 天然是高清直播领域的不二选择。
优酷采用阿里云FPGA as a Service 平台进行了2019 年国庆阅兵和群众联欢4K 超高清直播,取得了极佳的效果。2019 年双11 大促的猫晚晚会,也由阿里云FPGA as a Service 平台直播。
(4)人工智能
人工智能的发展经历了多个阶段,最近一次的爆发从 2010 年开始。这一次人工智能的爆发主要受到三个重要因素的影响:算法、数据和计算力。其中计算力是桥梁、也是引擎,是人工智能最终能够真实地被应用于社会生活的方方面面的重要推动因素。纵观现有的人工智能产业,异构计算技术随处可见,GPU、FPGA 和ASIC 在这个领域内可谓龙争虎斗、各放异彩。
先说GPU 云服务器,其卓越的浮点运算能力能够在大吞吐的训练场景中大幅缩短 AI 深度学习模型的训练时间,从之前在 CPU 上的几周优化到几天甚至几个小时。GPU 还支持单机多卡的高速通信,在 8 个GPU 的场景下,通过 GPU NVLink 技术, 在多块 GPU 之间共享计算能力和存储单元,实现更强大的处理能力、更加快速的响应,从而在 AI 深度学习的推理场景下满足低时延响应的业务要求。例如,在图像识别应用中,利用 GPU 可以极大地提高图像识别服务中离线模型训练和在线识别的效率,吞吐量相比主流的Xeon CPU 服务器可以提高数十倍。图 3-24 展示了使用阿里云GPU 云服务器搭建的图像识别应用架构,已广泛应用于社交网站的图片鉴别领域。
CPU CPU CPU CPU CPU CPU CPU 图片URL 结构化结果图片打标图片鉴黄场景识别检测表情定位年龄姿态识别特征性别弹性GPU服务集群图片URL 结构化结果神经网络模型打标鉴黄场景识别人脸弹性GPU服务集S群模型训练EMR
图 3-24 图像识别应用架构
FPGA 云服务器能运行支持 Caffe、TensorFlow、PyTorch、MXNet 等框架的应用,在阿里云的实践中发现,对于特定的网络框架及模型,FPGA 在推理侧往往显示出了惊人的性价比。比如采用 Yolo 网络目标识别GPU 与FPGA VU9P 的结果对比如图3-25 所示。
图3-25 采用 Yolo 网络目标识别GPU 与FPGA VU9P 的结果对比
对比业务方原始方案采用的GPU,采用FPGA 在精度几乎没有损失的前提下, TCO 只相当于GPU 的约1/3。另一个例子是广告预估CTR,也有非常突出的性价比优势,广告预估 CTR 的FPGA 与GPU 结果对比如图3-26 所示。
图3-26 广告预估 CTR 的FPGA 与GPU 结果对比
需要说明的是,如果采用性能更为强大的GPU,虽然GPU 的性能会大幅上升, 但是同时意味着成本的大幅上升,那么结果就是性价比对比大致不变,FPGA 的优势无可争议。
而基于ASIC 的人工智能芯片,天生就是用于人工智能场景的,其计算力更加惊人。以阿里巴巴在2019 年云栖大会上发布的含光800 芯片为例,在杭州城市大脑的业务测试中,1 颗含光 800 的算力相当于 10 颗 GPU。