|
* D- {, H" |2 W8 A/ P a0 _. L8 v
GPU小常识:
3 i% @$ c5 j! y& L! w8 o GPU(Graphics Processing Unit),中文名:图形处理器,曾用名:显卡。 * A* g2 ~" T7 ]+ W+ @
1999年,Nvidia(英伟达)公司“ZAO”了GPU,这玩意除了极大的推动了基于PC的游戏市场发展,还彻底改变了并行计算。
4 @3 C: C( ^- k0 N5 D 没想到二十年后,Nvidia摇身一变成了高大上的AI计算公司,还用GPU绑架了整个人工智能圈子。
1 S2 p4 X8 M" k! I 我有个客户,几年前新建了一个数据中心,通过P2V技术淘汰了大量X86物理服务器,直接在IT基础设施上成功完成了服务器虚拟化转型,之后就马不停蹄的向云计算转型,而当下,又开始了人工智能转型。
T7 w- G; i O, p0 p 随着智能商业时代的到来,一些大公司对于AI技术的关注和使用也快速增加,这些企业都非常注重自身科技能力的构建。其中,搭建自有AI平台,赋能业务成了这些有实力企业的首选。我这个客户自然也不能免俗,采购了大量的GPU服务器进行部署。
/ p5 Y9 K7 X3 D3 r5 A 在落地AI场景的同时,客户也希望对建立GPU资源池做一个评估。针对客户需求,做了一些功课。对于AI,我依然只是知道一点皮毛,要说什么算法和模型,我是没戏的,但是可以把交流的学习心得分享一下。
4 ?) B: D% S7 y- M( h+ P GPU当前主要应用于计算、图形和人工智能领域。从GPU资源的虚拟化实现路径看,主要有三种技术方案。 VSGA(Virtual Shared Graphics Acceleration),把物理GPU分享给多个桌面用户,每个VDI通过SVGA驱动调用虚拟化的GPU驱动程序,再来调用GPU的运算能力,这个属于典型的桌面虚拟化场景。VDGA(Virtual Dedicated Graphics Acceleration),把物理GPU分配给一个指定的VM,资源专用,这种模式也称为直通(Pass Through)模式,该方案具有比较高的性能优势,但成本相对较高。vGPU(Virtualized GPU),把一块物理GPU虚拟成多块vGPU卡,每个VM都独占一块vGPU,每个vGPU直接跟物理GPU对接。
) N4 c1 v( C1 V z/ n 现实世界的应用状况又是怎样的呢?
& }$ v! g% _ n% h9 D 通过技术交流,发现传统行业大多数的GPU资源池案例都是VDI的桌面虚拟化应用场景,针对后台服务器虚拟化的案例几乎没有。在互联网行业,像百度这样在AI领域比较强的,用的都是自研的GPU服务器和资源调度平台。 : g- I( X% [5 ^3 [! x1 g7 b% P
真正的商业案例中,大量客户使用的还是基于X86物理服务器搭配GPU卡的方式来部署AI应用。
' y C+ W" H$ H% _7 h 之后,对这个客户也做了相应的调研。客户现状:针对AI技术部署了独立的语音分析、OCR和人脸识别等多个平台,支撑整个公司对于AI场景的需求。(目前有GPU服务器:50台+,GPU卡:180+,后续还有200+的GPU卡扩容计划)。针对调研情况,也做个简要分析。
, B' F1 j$ r. W. T( k 应用场景:
6 H+ E5 q! p/ V) |# t0 e 目前AI技术主要为两种场景,训练(Training)和推理(Inference),从我这个客户的使用情况看,几乎都是推理场景,相对训练而言,对于GPU的算力的要求不是很高,这一点从用户的性能数据上也有体现。客户模型训练都是在供应商端进行的。
. E0 _/ l, x8 o 技术方案:
$ S1 H7 h# z( i: Z J GPU资源池只是一种概念,对于资源的形态来说,GPU是物理的还是虚拟的不是最重要的。从资源管理角度看,主要是考虑利用效率、访问性能、安全隔离等因素。
% y, @' Y3 h: x2 W% C 如果是物理服务器方案,上层最佳的部署形式的直接基于容器,但是现实情况是大多数用户的应用部署还是基于PM和VM的。另外,也可以考虑基于服务器虚拟化+多GPU卡的方案,一个VM对应一个GPU卡的直通模式,但是应用密度显然受制于GPU卡的数量,如果这时再追加使用vGPU技术,似乎方案在VM技术平台上就更完美了,当然容器嵌套VM的方案也是一种好的形式。
% O/ ^; \0 K; M; z 商务成本:
- J5 d* ^! ?* x1 ^ 成熟的商业虚拟化软件是有软件许可费的,而Nvidia的vGPU技术也需要支付相应的软件许可费,这样每个GPU卡可以根据显存的不同配置,被切分为固定数量的vGPU,在相同数据物理GPU卡配置情况下,提升VM的部署密度。 . Y! o# {/ z; \
其他因素: # \' Q0 g- _6 c/ S' R/ A8 q
当然,目前的“AI芯片”也不是只有Nvidia一家,国内的寒武纪和华为也都用相应的产品支撑AI应用,对于主流的TensorFlow,Cafee框架可能还可以,但对于其他框架和模型在支持上略显不足,还需要加强生态建设。毕竟连英伟达都声称自己是一家软件研发公司。在这个Software Define Anything的时代,软实力才是真正贴近用户的硬实力。
' X1 I+ y/ P5 N/ F/ {* r2 p 关于建立后台支撑AI算力的GPU资源池这件事,技术本身并不存在限制,是个具有规模效应的事情。如果规模大了,也许百度的“孔明”平台就是一个需要达到的高度。至于其他公有云服务商,现在也都提供了相应的GPU服务,等有机会再去调研一下。 $ b# n/ U# H0 L0 Y$ Y; j) {0 Q& u, J
啥叫Deep Learning?就是这种不断学习更新,还要用输出倒逼输入的方式! ) b' \" D5 N8 b0 l
" c C5 ]/ Z6 @$ ^4 p0 Q, I Z* A8 L& J4 H* ~% S. h0 ?" g, w
( Q4 B% j. }8 `# I+ p5 K |