Gemma新版本本地部署踩坑记录
12GB显存跑新版Gemma 2的时候,直接崩在OOM(显存溢出)上,报错信息非常典型:
下一篇
Web Components第三方库怎么用?小白保姆级实操 →
RuntimeError: CUDA out of memory. Tried to allocate ...。本来以为量化后能跑动,结果加载模型那一刻直接内存爆掉。排查了一下发现是加载配置的问题,默认的加载方式在某些环境下没能正确触发 4-bit 量化。这次尝试了用 bitsandbytes 强制指定量化参数才勉强跑起来。
分享一下我最终能跑通的加载配置,大家部署时可以参考:
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch
# 核心是这个量化配置,否则显存直接爆掉
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_compute_dtype=torch.bfloat16,
bnb_4bit_quant_type="nf4",
bnb_4bit_use_double_quant=True
)
model = AutoModelForCausalLM.from_pretrained(
"google/gemma-2-9b",
quantization_config=quantization_config,
device_map="auto"
)虽然过程有点折腾,但跑起来之后发现这个模型的推理能力确实顶,逻辑比之前版本强不少。只要配置对了,本地部署大模型其实没那么难,建议显存吃紧的朋友一定要检查 device_map 和量化参数。