ROCm加持下的AMD 显卡AI性能究竟有多强?

发布日期:2024-04-09 21:04:54     文章作者: 新闻中心

  如果说游戏的世界离不开高性能显卡的陪伴,那么在AI大肆发展的今天,个人如何利用显卡的高性能并行解决能力,实现游戏设备到生产力装备的华丽变身,或许就是普通人赶上AI热潮的重要节点。

  但疑问总是有的,目前AI热潮中,云端和本地都是各大软硬件厂商们争夺的焦点,由于云端计算更容易发挥集群效能,更容易运行需要海量算力的巨无霸模型,尤其是在硬件厂商们提供的统一计算平台加持下,通用性、灵活性、弹性乃至算力都不是个人所能比拟的。但云端计算不可避免的需要网络以及涉及隐私的缺点,就让个人终端AI算力也有可用之地,最近爆火的NPU AI计算硬件就是如此,虽然算力远不及云端,但极度个性化的优点就注定了终端算力可成为每个人的随身生产力工具。

  问题就是,如何在兼顾隐私、高灵活性、高度个性化的同时,获得强大且随叫随到的性能呢?其实答案在上一段就有提到,就是通用计算平台,而AMD作为全世界内为数不多的AI硬件提供商,也为自家的CPU、APU以及GPU开发了一套通用、开源的软件平台——ROCm。

  作为一个玩家们不太了解的“新”名词,做一个大致的了解是必须的,ROCm,全称为Radeon Open Compute platform,是由AMD开发的用于图形处理器(GPU)编程的软件栈,以广泛通用而著称,但我们并不是特别需要了解太深,只需要记住它的几个特点。

  覆盖领域广:覆盖图形处理器通用计算(GPGPU)、高性能计算(HPC)和异构计算。

  编程模型多:HIP(基于GPU内核的编程)、OpenMP/讯息传递介面(基于指令的编程)和OpenCL。

  开放生态:ROCm是一个开放式软件堆栈,包含了多种编程模型、工具、编译器、库和运行时,用于开发面向AMD GPU的AI和HPC解决方案。它支持广泛的AI软件ECO,包括大型语言模型、图像/视频检测与识别、生命科学与药物研发、无人驾驶、机器人等领域的优化方案。

  一图以蔽之,作为介于算力硬件与AI生态的必要底层平台,ROCm可以为使用者发挥出AMD硬件应有的性能水准。

  看到这儿你可能会有疑问,这与个人消费者关系有多大?或者说我们普通消费者能用到ROCm平台的便利吗?

  别忘了,上文提到ROCm是为AMD自家算力硬件开发的,那么不仅是用于云端AI计算的MI300以及用于专业工作站的Pro系列显卡,个人消费用来玩游戏的Radeon显卡也能用上ROCm,而运行在ROCm的Radeon显卡究竟能发挥出多少性能,我们不妨探究一下。

  为此我们特意请来了一块Radeon RX 7900XT显卡,作为专业的游戏玩家,这次我们不拿它讲游戏,而是来一场离经叛道的AI计算,在此之前我们已探究过Radeon RX 7900XT在游戏方面有过出色的性价比表现,但这次我们大家可以单纯的看看Radeon RX 7900XT在各个精度的算力表现。

  显然,Radeon RX 7900XT作为目前高端显卡,配备的20GB GDDR6显存对于AI计算推理来说有着不小的作用,当然,最为受用的是基于RDNA3架构打造的Radeon RX 7900XT拥有了全新的AI加速单元,能够极大的提升大参数量下的计算速度。

  而据AMD官方称,RDNA3架构下的AI计算性能相较于上一代拥有至高2.7倍的性能提升,在目前硬件性能逐渐显露瓶颈的当下,如此提升也能看出RDNA3架构的优势。

  回到AI计算本身,以一经推出就广受大家追捧的文本to图像工具Stable Diffusion为例,由于软件本身并不是基于AMD硬件所开发,所以在Windows环境下,Stable Diffusion的运行效率并不那么完美,发挥不出AMD硬件应有的超高计算性能。即便是AMD联合微软推出的Olive优化工具在进行模型优化后能带来近乎翻倍的性能提升,但转译以及需要预先优化带来的繁琐依旧是不够完美。

  那么一块儿来看看在Ubuntu环境下使用ROCm平台的Stable Diffusion能够拥有怎样的表现,测试平台如下:

  在完成系统部署之后,崭新的Ubuntu桌面引入眼帘,相较于Windows系统下部署Stable Diffusion要准备复杂的变量设置、Git安装以及Python部署而言,Ubuntu系统只需简单的两行命令部署完ROCm以及Python即可准备好环境。

  我们在安装完ROCm以及Python后,在主目录下完成基于Stable Diffusion的AUTOMATIC1111 WebUI部署,全程仅需花费十分钟左右,当然,大部分时间花销在在线拉取资源,如若网络环境优秀,几分钟即可安装一个Stable Diffusion。

  与Windows环境下的Stable Diffusion WebUI相似,使用终端运行启动脚本,同时必须要格外注意的是,由于原版Stable Diffusion添加了对CUDA环境的检测,如未检测到CUDA硬件会进行警告导致程序没办法运行,当然,我们直接通过添加命令的方式跳过了这一检测步骤,同时,为了安装更多有意思的插件(如提示词翻译、提示词超市等),我们也一步到位提前通过命令关闭了Stable Diffusion对未经认证插件的安装限制。

  当然,你可以再一次进行选择官方主线提供的海量插件,或者通过链接直接部署各种第三方插件,只要此前有接触过Windows版本的Stable Diffusion,那么Ubuntu环境下的Stable Diffusion自然能够很快上手。

  简单小试牛刀,在Stable Diffusion自带的1.5版本模型下,采用DPM++ 2M Karras采样器,进行512x512分辨率,正向提示词为“a girl”,不添加反向提示词,迭代次数设置20次,不开启Hires.fix分辨率修复,其余参数默认的情况下,这块Radeon RX 7900 XT能够达到8.42it/s(步/秒)的速度,全图生成仅花费2.7秒,如此成绩相较Windows非ROCm环境下成绩提升极为夸张,当然,这才是这块Radeon RX 7900 XT的真正实力。

  此前我们有讲过,目前借用AI形成一整套工作流的生产方式已经很成熟,以从业人数众多的服装类电子商务行业为例,使用文生图AI工具进行服装打版、店铺装修、商品详情页设计,并且用本地算力能够自由打造专属的图像风格,对于效率而言是一个极为夸张的提升。

  而售前及售后,能想象的是,针对店铺以及所售商品、平台政策甚至商家个性而打造的专属大语言模型能够7x24小时不间断服务,实现运营效率的极大提升。这一切不能离开一个专职的高算力终端,那么结合算力与构建成本来看,拥有ROCm平台加持的Radeon RX 7900 XT或许会是更好的选择。返回搜狐,查看更加多