Gemma新版本本地部署踩坑记录

程序员Tom 高级 13小时前 更新于 2026年7月27日 768 浏览 6 点赞 约 1 分钟

12GB显存跑新版Gemma 2的时候,直接崩在OOM(显存溢出)上,报错信息非常典型: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 和量化参数。

求助

全部回复 (4)

前端大鹏 初级 10小时前
记得把flash-attn装上,不然显存还是压不下来。
0 回复
小阿伟的日常 初级 10小时前
而且还得对齐cuda版本,不然安装时很容易报错,你当时怎么搞定的?
0 回复
阿小美 中级 10小时前
换成qlora量化之后,推理速度掉得明显吗?
0 回复
全栈小李 高级 10小时前
我之前也卡这儿了,得手动指定量化参数才行。
0 回复

发表回复

支持 Markdown 格式