有没有实操过本地化部署开源 llm 的老哥?这个需要大概多少的算力?
|  |      1timeance      2024-04-29 10:26:26 +08:00 你先测一下大概每秒有多少 token ,然后换算一下就大概知道了 | 
|      2hi2hi      2024-04-29 10:26:33 +08:00 这,为什么还想着用 4090 呢?找论坛看看,用专业卡跑 | 
|  |      3levn      2024-04-29 10:36:24 +08:00 云 gpu 服务器租一天测试一下不就知道了 | 
|      4kenvix      2024-04-29 11:45:44 +08:00 根据我用 VLLM 部署的结论,4090 的显存不够用 | 
|  |      5herozzm      2024-04-29 11:46:46 +08:00 最少 2 块 4090 能基本跑起来,如果是 100 并发,就不太清楚了 | 
|  |      6murmur      2024-04-29 11:47:02 +08:00 如果没有精挑的必要,建议一个公司租几个 gpt4 或者文心一言,使用成本和部署难度比自己 llama 简单太多 | 
|      8iOCZS      2024-04-29 11:51:49 +08:00 100 并发。。。人很多啊 | 
|  |      9t41372      2024-04-29 12:09:46 +08:00 via Android 有那种 host 像 llama3 70b 这种开源模型的 serverless api 接口,比 open AI 的要便宜很多,速度也会比自己部署一台要快很多。我知道 groq 上面 llama3 70b 的价格是差不多每一百万个 token 0.5 刀左右的样子,不知道会不会比自部署便宜。 我记得像是 ollama 这种好象是还不支持并发的,所以很多人同时用体验可能不会太好。 | 
|  |      10echoless      2024-04-29 12:25:49 +08:00 via Android ollama 下个版本才支持并发 | 
|      11lovestudykid      2024-04-29 12:31:11 +08:00 自建的话要保证并发,可能有很长闲置时间 | 
|      12tap91624      2024-04-29 13:12:44 +08:00 4090 没 nvlink 多卡会比单卡慢的 | 
|  |      13R4rvZ6agNVWr56V0      2024-04-29 13:15:37 +08:00 4090 跑 70B 的模型非常吃力,直接上 A100 吧 | 
|  |      14msn1983aa      2024-04-29 13:22:43 +08:00 挑战老黄的刀法? a100 上起才行 | 
|      15whileFalse      2024-04-29 13:35:40 +08:00 确认是有 100 并发,还是你们有 100 个要使用的人? | 
|  |      16Solix      2024-04-29 13:42:31 +08:00 via iPhone 你去换算,1 秒多少人用,大概要出多少 token ,看一下 | 
|  |      17winglight2016      2024-04-29 13:43:07 +08:00 30G 的 llm ,显存至少 40g 吧。lz 说清楚到底是 100 个用户,还是 100 个并发,如果是后者,为什么不用 gpt-4 ?毕竟,这并发量私有加自建投资太大,lz 提到 4090 ,大概率没什么 AI 经验,还是上云靠谱。 | 
|      19lizhisty      2024-04-29 13:46:18 +08:00 @lovestudykid 闲置时间是什么意思 | 
|      20lizhisty      2024-04-29 13:47:32 +08:00 @winglight2016 大哥,100 个并发是不是就吃力了,1 张 A100 能支持 70b 的一秒 10w token 吗 | 
|  |      21FgHh07ObvBiST5po      2024-04-29 13:52:02 +08:00 @t41372 groq 还没有收费吧 | 
|      22lovestudykid      2024-04-29 14:16:42 +08:00 @lizhisty #17 峰值 100 人的话,平均人数可能远远不到啊,其他硬件也就算了,显卡这么贵,闲置一分钟都是钱。 | 
|  |      23winglight2016      2024-04-29 15:13:06 +08:00 @lizhisty 没试过 70b 呀,支持是一回事儿,多久能响应是另一回事儿。云上开一个 GPU 服务器试试不就知道了? 我用 ollama 在 cpu 上跑 8b ,也不是不能用,至少比 llama2 快多了 | 
|  |      24nathandoge      2024-04-29 17:49:13 +08:00 显存太低,别折腾了,上 h100 | 
|  |      25fionasit007      2024-04-29 18:23:54 +08:00 100 并发对于本地化部署的 llm 是相当大的压力了,先不说计算 token 之类的,怎么也得几十张才能满足吧,成本太高了 | 
|      26lizhisty      2024-04-29 18:28:49 +08:00 @fionasit007 为啥 100 并发就压力大,一个问题也是计算,100 个也是计算啊 | 
|  |      29locoz      2024-04-29 19:19:56 +08:00 via Android @lizhisty #22 每个计算都是独立的,又不是一个算好了其他 99 个就都好了。假设处理一个请求需要一张显卡满载运算,那一百个并发请求就得要一百张显卡,压力当然大… | 
|  |      30zjhzxhz      2024-04-29 19:29:17 +08:00 | 
|  |      31fnd      2024-04-29 19:32:52 +08:00 上面说的都太业余了,说点实际的。 首先,100 个人用≠100 并发,要结合你的业务场景去评估实际需要支持多少并发。比如:每个人是时时刻刻一直用?还是 5%的时间段在用?重合度多少?峰值可能是多少? 其次,现在并发数的成本很高,并不是一定要支持峰值的并发。当前业内通用的做法是只支持特定的并发,然后做一个队列进行并发控制。如果并发满了一定数量内的先队列等待,等待队列也满了就提示并发数超限稍后再试之类的。 然后,4090 就先不说并发了,70b 的模型都不一定能跑起来,可能得上 A100 。 实际并发数的计算得看单卡每秒 tokens ,然后根据业务场景预估单次请求可能的 tokens 大小,计算得到单卡并发。 | 
|      32robbaa      2024-04-29 22:29:42 +08:00  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 | 
|      34thorneLiu      2024-04-30 01:33:26 +08:00 via Android 多卡 A30 | 
|  |      35proxychains      2024-04-30 09:20:06 +08:00 @lizhisty #19 晚上没人用, 但仍要开机. 期间的资源就是闲置浪费了. | 
|      36TerranceL      2024-04-30 09:31:50 +08:00 推荐一下我司产品,目前性价比可能比较高,由服务器也有小型工作站解决方案 aW5mb0BoZXhhZmxha2UuYWk= | 
|  |      37whusnoopy      2024-04-30 09:34:08 +08:00 在 m3max 64G 的 MacBook Pro 上跑着玩过,速度有点慢,但也还能用,大概吃掉 40G+ 内存 llama3:8b 的模型跑起来就挺快的 | 
|  |      39whusnoopy      2024-04-30 10:53:51 +08:00 @cuteguy 没在 M2 Ultra 192G 上试过,不过可能差异不会那么大?因为 1. 内存大小只要能把模型加载上,额外的内存容量对处理速度并没有啥帮助 2. 内存速度上,M3 Max 满血版的内存带宽是 400GB/s ,残血版是 300GB/s ,64G 的 M3 Max 已经是满血版了 3. M3 还没出 Ultra ,看评测,M3 Max 的单核比 M2 Ultra 还略强一点,多核是要弱,但可能没差那么多? | 
|      40mscsky      2024-04-30 11:23:46 +08:00 上面没人说量化?用 q4 量化非常快 | 
|  |      41jwangkun      2024-04-30 14:59:56 +08:00 目前我用的 Quadro RTX 8000 ,并发没测过,不知道怎么压测 | 
|  |      42BQsummer      2024-04-30 15:22:12 +08:00 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 测试一些模型,用起来是真方便 | 
|      43snuglove      2024-04-30 15:51:28 +08:00 到底是内存跑的 还是显存跑的啊 我现在用的内存跑的很好啊 | 
|      45robbaa      2024-04-30 20:46:15 +08:00 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" } ] } ``` | 
|  |      47leeum OP | 
|      48robbaa      2024-05-01 23:22:01 +08:00 @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 我初学状态 | 
|  |      49joetao123      2024-05-18 15:30:14 +08:00 2 个 A6000 Ada 或者 4 张 4090 的图形工作站是否可以跑 qwen:72b 的推理?如果是微调的话,需要多少资源?哪位大神能给点建议。 | 
|      50wsbqdyhm      2024-05-22 09:59:42 +08:00 @fnd 我用 m1 max 64g 部署了 llama3:70b ,感觉还可以,会比 chagtp3.5 稍慢,特别是第一次问问题的时候 | 
|      51g0147456g      2024-06-28 12:17:30 +08:00 4090 估计是完全不行。4bit 量化下仍然需要 40+GB 的显存,而 4090 不支持 nvlink ,难以多卡并行 | 
|  |      52keakon      2024-07-09 15:12:38 +08:00 双 4090 用 vllm 部署 qwen2:72b-int4 ,最低大概要 42GB 显存。占满 48GB 显存的情况下,32 并发下大概每秒 300 tokens 。 用 ollama 部署,大概要 40GB 显存。2 并发大概每秒 30 tokens ,再增加并发性能反而下降。 但是具体到单个请求,只有 15 tokens/s 的样子,大概是 gpt-4o 的 1/4 。 |