前言:
自从去年10月份以ChatGPT和stable diffusion的发布引发了一波生成式AI浪潮,但很多人特别是某些领导整天在会议上说人工智能带来的各种风险和不足,其实自己几乎没用过ChatGPT和stable diffusion,对生成式AI(AIGC)只有偏见!缺少实践对新生事物的理解和抓住机会是有害的,由于这一波AI浪潮带着复杂难懂的各种专业术语和昂贵的平台,给习惯了点击购买云主机的IT从业者和个人开发者带来了不小的门槛,加之最近美国实体名单居然把游戏显卡RTX4090都加入禁止出售给中国的实体清单,我觉得有必要在”廉价”游戏显卡上把大模型对话和stable diffusion画小姐姐的生成式AI在自己的PC机上跑起来!这样才能谈后面的体验和带来的机会。
原文首次发表于:https://zhuanlan.zhihu.com/p/663179436
以下评测数据都是自己花钱、花时间原创测试得到,希望给所有开发者实践大模型和AI画图予参考,有帮助和喜欢的朋友请收藏、关注和点赞,让人人都能够参与的AI才是真正的AI
测试环境说明:
测试平台硬件为:Intel Xeon Platinum 8360Y,256G内存(当然你用i3 cpu+16G内存也没有问题)
操作系统:开始用Linux Ubuntu 22.0.4,由于对比windows发现性能差异很小后面也有部分测试用了windows 10,
软件组件:这部分是重点,对性能有明显差异,所以特别强调
驱动安装的是537.42(980Ti 特别点用的只有低版本536.40)
CUDA: 12.2
python: 3.10.11
Pytorch: 2.0.1+cu121
transformers :在大模型对话(chatglm2-6b)用的是4.34.0;Stable difusion画小姐姐用的是4.30.0
大模型选用的是智谱AI与清华KEG实验室发布的中英双语对话模型chatglm2-6b,有60亿个参数,控制得当在980Ti的6Gb显存也勉强可以跑起来。参考:https://github.com/THUDM/ChatGLM2-6B
大模型加载webui用的官方text-generation-webui snapshot-2023-10-15最新版,参考:https://github.com/oobabooga/text-generation-webui
stable diffusion webui加载器用的官方v1.6版本,没用xformers,启动参数除了端口全部都默认,参考:https://github.com/AUTOMATIC1111/stable-diffusion-webui
模型用的:chilloutmix_Ni.safetensors
测试分为两部分,第一部分为stable diffusion的测试,用SD生成10张512*512 的图片,提示词prompt如下:
masterpiece, best quality, realistic, 1girl,solo,25 years old,blue vest, blue skirt,white shirt,short sleeves,standing,<lora:officelady:0.7>office-lady
Negative prompt: EasyNegative,glasses
Steps: 20, Size: 512x512, Seed: 1194320243, Model: chilloutmix_NiPrunedFp32Fix, Version: v1.4.0, Sampler: Euler a, CFG scale: 7, Model hash: fc2511737a, "officelady: a8444e611ffc", Face restoration: CodeFormer
记录所用时间和speed的it/s
第二部分为本地大模型测试用text-generation-webui 和chatglm2-6b来测试2个问题,记录总时间和token/s,这部分测试由于回答内容的长度有区别所以记录的总时间仅提供参考,并不是很严谨,但不同卡的速度差异感受起来还是非常明显的。
问题1:请用以下关键词写一段有意境的散文。深秋、小溪、小舟、红叶、明月
问题2: 1个苹果=2个梨,3个梨=4个橙子,6个橙子=7个香蕉,56个香蕉等于多少个苹果?
接下来我们就准备正式开始测试,在开始之前简单说明一下测试的背景知识,AI领域需要算力的地方主要分为2种,一种叫做训练,第二种叫做推理。训练简单来说就是用原始数据去教AI知识最终“变成”为有知识的模型的过程,目前主流技术用的都是无监督学习。模型研究和开发者例如OpenAI在发布新模型之前都需要巨大的算力去训练模型,由于不是几块计算卡可以搞定的所以训练需要极高的互联带宽,这也是英伟达推出nvlink的初衷,在训练领域特别是大模型训练由于互联带宽差距比较大还不是游戏显卡的主战场。推理是已经有了模型用算力来接收各种请求,并且推理出答案的过程。比如我们有了训练完成的chatglm2-6b大语言模型需要加载聊天服务来对话,就需要算力做推理了。这部分由于对数据量和带宽的压力没有训练这么大,所以完全可以用游戏显卡来做,我们接下来测试的也是AI推理环境下各张游戏显卡的能力。
测试的主角登场,980Ti,1080Ti,TiTan V,2080Ti,3090,4090,价格从1000块钱到1万多块钱不等,都是各代旗舰游戏显卡,之所以用旗舰游戏显卡是综合考虑了价格和显存带宽之后的结果,毕竟各代旗舰卡和甜品卡无论显存大小还是显存带宽差距都非常大。以上几块卡的GPU-Z显示的基础规格如下:
980Ti:是2015年英伟达Maxwell架构产品,当年”泰坦皮”的公版就是从980Ti开始叫起来的,主要改进了上一代Kepler架构的效率问题,控制住了发热提升了效率成为一代经典游戏显卡。这张8年前的卡在stable diffusion中可以运行起来,测试一共用时2分33秒,speed:1.37it/s,平均每张图用时14秒,但可以看出来6G显存明显太小了,512*512都用了4.6G显存,尺寸再大一点就爆现存了!
在60亿参数的chatglm2大模型测试中,6G显存差一点没有跑起来,由于显存限制980Ti其实不适合做AIGC。在大模型测试中,推理速度很慢,问题1成绩为时 291.83秒,速度只有为:0.39tokens/s, 114 tokens, context 401 seed 42465164;问题2成绩为308.89 秒 速度为:0.37 tokens/s, 113 tokens, context 556 seed 529669374,两道题都是要等3分钟左右才出来,像看幻灯片一样的一个字一个字的蹦,着急的人完全看不下去? ,由于模型原因苹果这道题回答是错误的,正确答案是18个苹果。
1080Ti:是当年Pascal架构的期间产品,相比前一代980Ti强出不少当时可谓风光无限,在stable diffusion测试中一共用时1分04秒,speed:3.52it/s,平均每张图用时6.4秒。在大模型测试中由于有11G显存,它对于60亿参数chatglm2模型的显存占用相比980Ti好出不少。问题1成绩为时 70.35 秒 速度为:0.54 tokens/s, 38 tokens, context 76, seed 487220817;问题2成绩为156.68 秒 速度为:0.59 tokens/s, 92 tokens, context 76,都比980Ti明显快出不少。
2080Ti:是Turing架构旗舰产品,主要新加入光追单元,但在传统非光追游戏中没有比上代1080Ti强多少。在stable diffusion测试中一共用时28秒,speed:11.33it/s,平均每张图用时2.8秒,相比1080Ti强得可真多啊!在大模型测试中问题1成绩为时 80.09 秒 速度为: 1.54 tokens/s, 128 tokens, context 76, seed 2092046724;问题2成绩为37.95 秒 速度为: 1.53 tokens/s, 58 tokens, context 87, seed 1157219376,测试结果无论画小姐姐还是大语言模型2080Ti都比1080Ti强上不少,进步幅度相当大。
TITAN_V: 在2017年12月8日的全球神经信息处理系统大会上老黄发布了这款怎么看都不太像游戏卡的新一代TiTan卡皇,采用Volta架构内建12GB HBM2显存,售价高达2万元人民币。几乎就是专业的Tesla V100仅仅把HBM2的显存带宽从4096 bit减到3072bit,并且把16G/32G显存砍到12G显存(当然还有极少量的CEO限量版32G TiTan V),其它什么都没有变的Tesla V100,特别是双精度FP64 (double)居然有7.450 TFLOPS,直到今天的4090双精度也才1,290 GFLOPS,差不多强6倍的能力更不要说其它2080Ti,3090了。在stable diffusion测试中一共用时23.75秒,speed:10.66it/s,平均每张图用时2.4秒,好像也没有比2080Ti快多少。在大模型测试中,问题1成绩为28.45 秒 速度:1.72 tokens/s, 49 tokens, context 76, seed 686505813,问题2成绩为61.42秒 速度:1.84 tokens/s, 113 tokens, context 87, seed 1,当年由于显存带宽和双精度优势明显这张卡在挖矿最厉害的时候是矿工神卡,但在AIGC时代好像它的优势就不太行了,也许需要大带宽和双精度浮点的应用才能重整雄风再次成为AI神卡。
3090:基于Ampere架构旗舰产品3090是一张在挖矿高峰上市的大号产品,24G大显存,三星代工和高规格带来的巨大发热量,当然性能确实也提升明显。在stable diffusion测试中一共用时21秒,speed:13.68it/s,平均每张图用时2.1秒,好像提升也不算太大应该还有其它瓶颈!在大模型测试中由于有24G显存确实很多模型都可以跑起来很爽,是一张性价比很高的大模型卡。问题1成绩为时 4.55 秒 速度为:16.91 tokens/s, 77 tokens, context 87, seed 1803684911;问题2成绩为6.95 秒 速度为:17.55 tokens/s, 122 tokens, context 76 seed 1667600403。大模型速度很快,明显比2080Ti和TiTan V感觉快得多。
4090:基于Ada Lovelace架构旗的4090相比3090的CUDA Core提升了75%,达到了恐怖的18432 个,提升巨大也许这就是这款游戏卡进入美国实体名单的由来吧!在stable diffusion测试中只用了17秒就全部完成10张小姐姐的画图快得离谱,speed:17.68it/s,平均每张图用时1.7秒。在大模型测试中问题1成绩为时 4.56 秒 速度为:18.07 tokens/s, 117 tokens, context 76, seed 2087753083;问题2成绩为7.03 秒 速度为:18.33 tokens/s, 68 tokens, context 76 seed 778373684,在3090已经很高的基础上效率就更进一层楼了。
Stable diffusion出图测试小结
SD绘图时间(秒)
SD单位效率(it/s)
980Ti
140
1.37
1080Ti
64
3.52
2080Ti
28
11.33
TITAN_V
24
10.66
3090
21
13.68
4090
17
17.68
在Stable diffusion测试中2080Ti开始以上的卡性能相比之前的卡都有一个飞跃明显快于之前的卡。
大模型推理效率测试小结
问题2时间(秒)
LLM效率(tokens/s)
980Ti
309
0.37
1080Ti
157
0.59
2080Ti
38
1.53
TITAN_V
61
1.84
3090
7
17.55
4090
7
18.33
在大模型推理测试中由于我们用的模型只有6B的参数量,对3090和4090的压力不够没有能够让这两张卡足够的区隔开来。3090和4090两张卡明显比其它卡大模型推理能力高出一大截。
购买推荐
如果预算能够达到6k-7k肯定选择RTX3090,无论画图还是大模型都是最高性价比的卡,24G大显存也是卖点。
如果预算不多只有3k,非常建议用改到22G显存版本的2080Ti,画小姐姐没比3090慢多少,但价格便宜一大半。如果觉得手动改显存心里感觉不是很靠谱可以选择TITAN V,2k出头的价格什么都不用改造,黄金散热泰坦皮核心就是Tesla V100的出图也非常快,就是大模型12G显存有点少,不过可以用量化也可以减少点显存压力,毕竟只有2k的预算要什么自行车。本论测试所有软件都用的开源官方未优化版本,大模型也是标准模型没有用量化版,主要考虑公平,真实开发测试环境下用量化模型还能快不少。
这一波人工智能来势汹汹,明显有颠覆性创新的极大可能性。在经历了第一波互联网.com和第二波移动互联网浪潮之后第三波AI创业浪潮也不远了。从技术和市场成熟度看这一波AI浪潮目前还在很早期,处在技术快速迭代进步和应用渗透式场景落地的阶段,一方面各式各样的技术如雨后春笋般快速发展,第一阶段技术相对成熟就会技术迭代降速应用落地加速的阶段,这也是我觉得AI创业者需要敏锐的观察和把握的大好时机。那个时刻就是依托数据为核心的AI产品经理披荆斩棘大显身手的时候到了。目前还差点火候,所以这个时期除了极少数技术牛人和数据垄断大厂之外大家AI创业要相当小心,很可能看好的“机会”还在低头打造产品就被某一个产品的版本更新给彻底杀死了,有过移动互联网创业经验的朋友都知道我在说什么,欢迎大家私信我讨论沟通。如果这次的测试对大家有用就是为AI发展尽的微薄之力!