有没有实操过本地化部署开源 llm 的老哥?这个需要大概多少的算力?
1
timeance 236 天前
你先测一下大概每秒有多少 token ,然后换算一下就大概知道了
|
2
hi2hi 236 天前
这,为什么还想着用 4090 呢?找论坛看看,用专业卡跑
|
3
levn 236 天前
云 gpu 服务器租一天测试一下不就知道了
|
4
kenvix 236 天前
根据我用 VLLM 部署的结论,4090 的显存不够用
|
5
herozzm 236 天前
最少 2 块 4090 能基本跑起来,如果是 100 并发,就不太清楚了
|
6
murmur 236 天前
如果没有精挑的必要,建议一个公司租几个 gpt4 或者文心一言,使用成本和部署难度比自己 llama 简单太多
|
8
iOCZS 236 天前
100 并发。。。人很多啊
|
9
t41372 236 天前 via Android
有那种 host 像 llama3 70b 这种开源模型的 serverless api 接口,比 open AI 的要便宜很多,速度也会比自己部署一台要快很多。我知道 groq 上面 llama3 70b 的价格是差不多每一百万个 token 0.5 刀左右的样子,不知道会不会比自部署便宜。
我记得像是 ollama 这种好象是还不支持并发的,所以很多人同时用体验可能不会太好。 |
10
echoless 236 天前 via Android
ollama 下个版本才支持并发
|
11
lovestudykid 236 天前
自建的话要保证并发,可能有很长闲置时间
|
12
tap91624 236 天前
4090 没 nvlink 多卡会比单卡慢的
|
13
GeekGao 236 天前
4090 跑 70B 的模型非常吃力,直接上 A100 吧
|
14
msn1983aa 236 天前
挑战老黄的刀法? a100 上起才行
|
15
whileFalse 236 天前
确认是有 100 并发,还是你们有 100 个要使用的人?
|
16
gaobh 236 天前 via iPhone
你去换算,1 秒多少人用,大概要出多少 token ,看一下
|
17
winglight2016 236 天前
30G 的 llm ,显存至少 40g 吧。lz 说清楚到底是 100 个用户,还是 100 个并发,如果是后者,为什么不用 gpt-4 ?毕竟,这并发量私有加自建投资太大,lz 提到 4090 ,大概率没什么 AI 经验,还是上云靠谱。
|
19
lizhisty 236 天前
@lovestudykid 闲置时间是什么意思
|
20
lizhisty 236 天前
@winglight2016 大哥,100 个并发是不是就吃力了,1 张 A100 能支持 70b 的一秒 10w token 吗
|
22
lovestudykid 236 天前
@lizhisty #17 峰值 100 人的话,平均人数可能远远不到啊,其他硬件也就算了,显卡这么贵,闲置一分钟都是钱。
|
23
winglight2016 236 天前
@lizhisty 没试过 70b 呀,支持是一回事儿,多久能响应是另一回事儿。云上开一个 GPU 服务器试试不就知道了?
我用 ollama 在 cpu 上跑 8b ,也不是不能用,至少比 llama2 快多了 |
24
nathandoge 236 天前
显存太低,别折腾了,上 h100
|
25
fionasit007 236 天前
100 并发对于本地化部署的 llm 是相当大的压力了,先不说计算 token 之类的,怎么也得几十张才能满足吧,成本太高了
|
26
lizhisty 236 天前
@fionasit007 为啥 100 并发就压力大,一个问题也是计算,100 个也是计算啊
|
27
chanChristin 236 天前
@lizhisty #18 下班之后的时间没人用。
|
29
locoz 236 天前 via Android
@lizhisty #22 每个计算都是独立的,又不是一个算好了其他 99 个就都好了。假设处理一个请求需要一张显卡满载运算,那一百个并发请求就得要一百张显卡,压力当然大…
|
30
zjhzxhz 236 天前
|
31
fnd 236 天前
上面说的都太业余了,说点实际的。
首先,100 个人用≠100 并发,要结合你的业务场景去评估实际需要支持多少并发。比如:每个人是时时刻刻一直用?还是 5%的时间段在用?重合度多少?峰值可能是多少? 其次,现在并发数的成本很高,并不是一定要支持峰值的并发。当前业内通用的做法是只支持特定的并发,然后做一个队列进行并发控制。如果并发满了一定数量内的先队列等待,等待队列也满了就提示并发数超限稍后再试之类的。 然后,4090 就先不说并发了,70b 的模型都不一定能跑起来,可能得上 A100 。 实际并发数的计算得看单卡每秒 tokens ,然后根据业务场景预估单次请求可能的 tokens 大小,计算得到单卡并发。 |
32
robbaa 235 天前 2
给你个参考:
环境:双 3090 + nvlink + docker 命令:ollama run llama3:70b --verbose 刚刚好可以塞下。 ollama-1 | ggml_cuda_init: found 2 CUDA devices: ollama-1 | Device 0: NVIDIA GeForce RTX 3090, compute capability 8.6, VMM: yes ollama-1 | Device 1: NVIDIA GeForce RTX 3090, compute capability 8.6, VMM: yes ollama-1 | llm_load_tensors: ggml ctx size = 0.83 MiB ollama-1 | llm_load_tensors: offloading 80 repeating layers to GPU ollama-1 | llm_load_tensors: offloading non-repeating layers to GPU ollama-1 | llm_load_tensors: offloaded 81/81 layers to GPU ollama-1 | llm_load_tensors: CPU buffer size = 563.62 MiB ollama-1 | llm_load_tensors: CUDA0 buffer size = 18821.56 MiB ollama-1 | llm_load_tensors: CUDA1 buffer size = 18725.42 MiB 测试三次结果: total duration: 25.820168178s load duration: 1.436783ms prompt eval count: 14 token(s) prompt eval duration: 483.796ms prompt eval rate: 28.94 tokens/s eval count: 448 token(s) eval duration: 25.203697s eval rate: 17.78 tokens/s total duration: 30.486672187s load duration: 1.454596ms prompt eval count: 479 token(s) prompt eval duration: 2.025687s prompt eval rate: 236.46 tokens/s eval count: 496 token(s) eval duration: 28.322837s eval rate: 17.51 tokens/s total duration: 21.176605423s load duration: 2.629646ms prompt eval count: 529 token(s) prompt eval duration: 2.325535s prompt eval rate: 227.47 tokens/s eval count: 324 token(s) eval duration: 18.622355s eval rate: 17.40 tokens/s |
34
thorneLiu 235 天前 via Android
多卡 A30
|
35
proxychains 235 天前
@lizhisty #19 晚上没人用, 但仍要开机. 期间的资源就是闲置浪费了.
|
36
TerranceL 235 天前
推荐一下我司产品,目前性价比可能比较高,由服务器也有小型工作站解决方案 aW5mb0BoZXhhZmxha2UuYWk=
|
37
whusnoopy 235 天前
在 m3max 64G 的 MacBook Pro 上跑着玩过,速度有点慢,但也还能用,大概吃掉 40G+ 内存
llama3:8b 的模型跑起来就挺快的 |
39
whusnoopy 235 天前
@cuteguy 没在 M2 Ultra 192G 上试过,不过可能差异不会那么大?因为
1. 内存大小只要能把模型加载上,额外的内存容量对处理速度并没有啥帮助 2. 内存速度上,M3 Max 满血版的内存带宽是 400GB/s ,残血版是 300GB/s ,64G 的 M3 Max 已经是满血版了 3. M3 还没出 Ultra ,看评测,M3 Max 的单核比 M2 Ultra 还略强一点,多核是要弱,但可能没差那么多? |
40
mscsky 235 天前
上面没人说量化?用 q4 量化非常快
|
41
jwangkun 235 天前
目前我用的 Quadro RTX 8000 ,并发没测过,不知道怎么压测
|
42
BQsummer 235 天前
1. llama3 70b 需要 142G 显存,4090 是 24G 显存,不量化得 6 张卡,https://llm.extractum.io/list/?query=llama3 ,可以在这个网站查下大概的显存占用,8bit 量化也要 75G ,4bit 量化 40G ,4090 不合适。31L 的 llama3:70b 是“quantization
4-bit”的: https://ollama.com/library/llama3:70b 2. 显存不是重点,重点是推理速度,取决于模型、显卡、还有部署模型的服务,比如 vllm ,都会做推理优化,而且推理速度和并发不是成线性反比的,所以实际的推理速度真的只有在跑下来才知道 3. 主流生产环境部署还是 vllm 多一点,我有在 reddit 看到吐槽 ollama 并发下卡死的,虽然我也用 ollama 测试一些模型,用起来是真方便 |
43
snuglove 235 天前
到底是内存跑的 还是显存跑的啊 我现在用的内存跑的很好啊
|
45
robbaa 235 天前
ab -c 10 -n 10 -p ./testchat.json -T "application/json" -H 'Content-Type: application/json' http://localhost:11434/api/chat
testchat.json 中内容 ``` { "model": "llama3:70b", "stream": true, "frequency_penalty": 0, "presence_penalty": 0, "temperature": 0.6, "top_p": 1, "messages": [ { "content": "安排一个南京的 2 天的旅游攻略,用中文回答", "role": "user" } ] } ``` |
47
leeum OP |
48
robbaa 233 天前
@leeum 测试版还是有问题,结果不理想。
70b 单次请求:17~20s 并行 4 ,4 个请求,4 个成功,平均 30s 并行 6 ,6 个请求,6 个成功,平均 33s 并行 8 ,8 个请求,8 个成功,平均 41s 并行 9 ,9 个请求,9 个成功,平均 130s (确实如此) 并行 10 ,10 个请求,10 个成功,平均 142s 并行 11 ,11 个请求,11 个成功,平均 150s 8b 并行 8 ,8 个请求,8 个成功,平均 14s 并行 9 ,9 个请求,6 个成功,平均 25s 并行 10 ,10 个请求,10 个成功,平均 32s 并行 11 ,11 个请求,11 个成功,平均 34s 并行 12 ,返回异常 测试多了,还会出现“话痨”现象。正常回复在 40k 左右,“话痨”状态在 380k 以上 ====== @imFu 我初学状态 |
49
joetao123 217 天前
2 个 A6000 Ada 或者 4 张 4090 的图形工作站是否可以跑 qwen:72b 的推理?如果是微调的话,需要多少资源?哪位大神能给点建议。
|
51
g0147456g 176 天前
4090 估计是完全不行。4bit 量化下仍然需要 40+GB 的显存,而 4090 不支持 nvlink ,难以多卡并行
|
52
keakon 165 天前
双 4090 用 vllm 部署 qwen2:72b-int4 ,最低大概要 42GB 显存。占满 48GB 显存的情况下,32 并发下大概每秒 300 tokens 。
用 ollama 部署,大概要 40GB 显存。2 并发大概每秒 30 tokens ,再增加并发性能反而下降。 但是具体到单个请求,只有 15 tokens/s 的样子,大概是 gpt-4o 的 1/4 。 |