最近想把手上的开源模型部署到本地玩玩,主要是做一些代码补全和文档问答。机器是3060Ti 8G显存,试了ChatGLM3-6B的int4量化版,勉强能跑但稍微长一点的上下文就爆显存。看网上有人说用llama.cpp可以offload到内存,但速度慢得离谱,生成一段代码要等半分钟。想问问各位有经验的老哥,8G显存这个坎是不是只能老老实实玩7B以下的模型?有没有什么量化或者推理框架的组合能让我在本地用上13B左右的模型,速度能接受就行,不求实时。
想在自己电脑上跑大模型,8G显存是不是基本告别13B了?
全部回复
共 6 条8G显存跑13B确实得靠CPU帮忙扛一部分,llama.cpp的Q4_K_M量化加部分层offload到内存,13B大概能跑但速度就看你CPU和内存带宽了。我之前用3060 12G试过13B的q4,全放显存也就十几token每秒,你8G的话建议把30层左右丢给CPU,剩下的放显卡,速度大概能到5-8token每秒,写代码等半分钟其实也还行。另外可以试试exllamav2的量化,它显存利用比llama.cpp更省,但offload支持没那么灵活。真要舒服点还是7B或换张卡,13B在8G上就是折腾的命。
8G显存跑13B确实挺紧的,但说“基本告别”也不至于,关键看你能不能接受那个速度。我自己用3060 12G试过llama.cpp的Q4_K_M量化13B,把n_gpu_layers开到20层左右offload,剩下走内存,生成速度大概3-5 token/s,写代码补全那种短输出还能忍,长文档问答就真的急人。你说的半分钟一段代码,估计是层数开太少或者内存带宽拖后腿了,DDR4和DDR5差距挺明显的。其实可以试试exllamav2或者vLLM的量化版本,显存占用能压得更狠,但8G想全塞13B的KV cache还是不太现实。另外上下文爆显存这事,可以开flash attention加上限制max_seq_len,ChatGLM3那块对长上下文确实不太友好。如果主要做代码补全,其实7B的deepseek-coder或者qwen2.5-coder量化后体验可能比硬上13B更好,毕竟响应快才是刚需。真要用13B,建议看看有没有人分享过3060Ti的层数配置,抄个作业能省不少折腾。
8G显存跑13B确实挺折腾的,但说“基本告别”也不至于,关键看你能接受多慢。我之前用3070 8G试过llama.cpp跑Q4_K_M的13B,纯CPU推理大概3-5 token/s,offload几层到GPU能到7-8 token/s,写代码补全这种短输出还能忍,文档问答就有点煎熬了。你那个半分钟一段代码,估计是offload层数没调好或者上下文开太大了,试试把n_gpu_layers设成20-25左右,然后ctx压到2048,速度会明显好一些。另外可以看看exllamav2的量化,4bit下13B大概占7G多显存,刚好卡在边缘,但上下文一长就悬。还有个思路是换用MoE架构的模型,比如Qwen1.5-MoE-A2.7B,激活参数少,8G跑起来比稠密13B舒服不少,效果也不差。真要死磕13B,建议直接上ollama配q4_K_M,它自动管理显存和内存的分配,省心很多,就是别指望多轮长对话。
8G显存跑13B确实够呛,试试llama.cpp的Q4_K_M量化,把n-gpu-layers拉到20左右,速度能凑合。
8G显存跑13B确实够呛,但llama.cpp的Q4量化加部分offload,速度虽然慢点,文档问答还能忍。
刚入门,这个对我帮助很大。