如何估算一个大模型需要用到什么性能配置的硬件?

2 天前
zcm3579  zcm3579
经常看到例如 R1-7B ,4060 显卡能跑,14B 又多少显卡能跑这样的结论,
有例如最近又看到 QwQ 单 4090 能跑的文章,
然而我去到官网看文档又没有找到对应的说明,
那么一般从哪个参数能大致看出来需要多少 cpu 、内存、显存之类的呢?
926 次点击
所在节点   Local LLM  Local LLM
16 条回复
gaobh
gaobh
2 天前
因为没有人真的跑起来,所以也没有人真的知道用多少
ex9527
ex9527
2 天前
没有标准说不准,跑得起来也分跑不跑得快,效果好不好。要多少量化位数跟参数也要说清楚。
wtks1
wtks1
2 天前
一般来说都是有人实操过后才知道行不行的
lithiumii
lithiumii
2 天前
理论上最低限度的跑起来:显存 + 内存 + 硬盘 > 模型 + context
但是比较傻瓜的软件(比如 ollama )一般不能直接把硬盘当缓存用,所以比较傻瓜的一键跑起来:显存 + 内存 > 模型 + context
人的阅读速度大概是 5 token 每秒,所以跑起来并且速度勉强能用:每秒 token 数 > 5
因为速度主要瓶颈是内存或显存的带宽,普通家用双通道 < 服务器 4 通道 < 中低端显卡、苹果统一内存 < 高端显卡,所以模型放到显卡的比例越大,速度越快。另外就是做推理的时候模型不同的层可以放进不同的显卡,不走 nvlink 仍然速度很快,因为不同的层之间通信要求没有那么高,所以多个 PCIe 槽直接插多显卡就可以放下更大的模型并且获得更快的速度。
最后是计算模型体积,一般的完整模型 fp16 每 B 近似 2G ,量化到 q4 的模型近似 0.5G 每 B ,但是这样算太粗糙了可以再加个 20% 当余量。context 计算很麻烦,不同参数的模型需要的不一样,而且可以自己调高调低,ollama 默认给得非常低只有 2k (很多模型支持到 128k ),所以再加个 10% 当余量。
那就是 显存 + 内存 > 1.3 × 模型体积。
mumbler
mumbler
2 天前
villivateur
villivateur
2 天前
duanxianze
duanxianze
2 天前
并没有统一的标准,最简单的,每个人对能用的理解不一样,有的人需要一秒就出答案,有的人不介意等 10 秒
est
est
2 天前
7B == 7,000,000,000 ,得到 7G 。每一个参数 4byte (fp32) 那么就需要 7x4 == 28GB 显存

用了 fp16 优化就只需要 14GB 显存。用 int8 量化就需要 7GB 显存,用 int4 量化就需要 3.5GB 显存

当然 transformer 还有很多其他的各个环节提升,这里 x4 x2 x1 x0.5 可以进一步打折优化。这里只是一个大概的计算
est
est
2 天前
另外再说一个简单的 token 吐字效率计算。大语言模型你可以看成所有参数都需要顺序激活一次参与计算,假如 7G fp32 的 LLM 每一秒钟输出一个 token ,就至少需要 28 GB/s 的显存带宽。
AirTag
AirTag
2 天前
我是按照 1B 需要 1G 内存来算的,跑过 ds 23b qwq32b ,因为 ds 已经给删了,刚刚试了下 qwq32b ,计算运行前后内存差值的话,大概占用了 20GB 的联合内存。总联合内存占用大概 30GB ,可能是系统还有其他程序的占用。
这个信息可以参考下,它的真实运行过程我也不是很了解。
我的输出速度很慢大概 6token/s 。
conn457567
conn457567
2 天前
不仅要看 tks ,还需要看并发。像一些本地部署自有 10+token/s 的,基本就只能单机自己玩玩,面向生产的我建议还是找专门的模型供应商。生产级别的不仅要保证 token 数量,至少还得有 100+的并发,首 token 延迟控制,更别说云化的 gpu 调度,算力加速等。
tool2dx
tool2dx
2 天前
之所以不给,是因为 ollama 上下文要求的显存特别夸张。

不上传文件,纯聊天你可以大体按照 1:1 来计算,不爆显存速度就是正常的。不过小于 16G 显存,就算勉强跑起来,智商堪忧也没啥价值,只能当个娱乐玩具用用了。
tool2dx
tool2dx
1 天前
@villivateur 感觉不准,主要就是依赖 CUDA 和显存大小,和 CPU 关联性很小,我基本上 CPU 都没怎么波动过。
geagerg
geagerg
1 天前
wyntalgeer
wyntalgeer
1 天前
能跑、流畅、高并发,不是一个概念,当下优化空间不小,优化方向各异,所以最好自己调试
ChristopherY
ChristopherY
4 小时 34 分钟前
@lithiumii 激活参数,输出张量这些需要算在里面吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1118897

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX