当前位置: 首页 > news >正文

如何冻结llava的参数,在训练时不动

思路很简单:把 LLaVA 的所有参数 requires_grad=False,只训练你自己的模块(比如 mask 头)。下面给出几种常见写法,任选其一。

  1. 冻结整个 LLaVA(vision + projector + language model)
def freeze_llava(llava):for p in llava.parameters():p.requires_grad = False# 你的封装里(以 XVQAModel 为例)
model = XVQAModel(llava_model=llava, ...)
freeze_llava(model.llava)# 只把需要训练的模块交给优化器(例如 mask 头)
optimizer = torch.optim.AdamW(params=[p for p in model.mask_head_deocder.parameters() if p.requires_grad],lr=1e-4
)

记得优化器只传入可训练参数,否则会把被冻结的也塞进去(虽然不会更新,但浪费时间/显存)。

  1. 选择性冻结(只留 projector 或某些层可训)

只训练 mm_projector(常见微调方式):

def freeze_all_but_projector(llava):for p in llava.parameters():p.requires_grad = Falsefor p in llava.mm_projector.parameters():p.requires_grad = Truefreeze_all_but_projector(model.llava)
optimizer = torch.optim.AdamW(list(model.mask_head_deocder.parameters()) + list(model.llava.mm_projector.parameters()),lr=1e-4
)

只训练语言模型最后 N 层(举例 N=2):

def freeze_all_but_last_n_transformer_blocks(llava, n=2):for p in llava.parameters():p.requires_grad = False# LLaVA 的 LLM 一般在 llava.model.layersfor blk in llava.model.layers[-n:]:for p in blk.parameters():p.requires_grad = Truefreeze_all_but_last_n_transformer_blocks(model.llava, n=2)

只训练视觉塔(不常见):

def freeze_all_but_vision(llava):for p in llava.parameters():p.requires_grad = Falsefor p in llava.vision_tower.parameters():p.requires_grad = True
  1. 冻结后的小检查
def count_trainable_params(m):return sum(p.numel() for p in m.parameters() if p.requires_grad)print("trainable in XVQAModel:", count_trainable_params(model))
print("trainable in LLaVA:", count_trainable_params(model.llava))
print("trainable in mask head:", count_trainable_params(model.mask_head_deocder))
http://www.jsqmd.com/news/33682/

相关文章:

  • 解决CentOS 7中NAT模式无法连接网络
  • Linux 音频管道测试
  • 课程评价
  • 2025 年 11 月微通道换热器厂家推荐排行榜,微通道蒸发器,微通道换热器,高效换热解决方案专业制造商
  • 2025 年 11 月冷库板/聚氨酯冷库板/机制板, 冷库门, 冷库工程/冷库集成厂家推荐排行榜,专业定制与高效保温解决方案精选
  • 2025 年 11 月冷库板/聚氨酯冷库板/机制板, 冷库门, 冷库工程/冷库集成厂家推荐排行榜:专业制造与高效保温系统解决方案
  • Codeforces Global Round 30 (Div. 1 + Div. 2)
  • 价值权衡的完整计算模型:价值体系与规则体系的辩证统一
  • 试试用 MiniMax Agent 做一个介绍 JSON 格式化网站的页面
  • 【esp32 学习笔记】采用 millis() 函数的非阻塞循环的写法
  • USSD 代码
  • 2025年11月脸部泛红产品推荐榜:泛红舒缓精华实测排名
  • 2025年11月脸部泛红产品推荐榜:屏障修护精华对比榜单
  • 2025年11月进度管理工具评价榜:行业数据与用户反馈全解析
  • 2025年11月北京房产纠纷律师排名分析:客观评价与实务参考
  • 2025年11月黄黑皮美白产品对比榜:从成分到肤感十款实测排名
  • 2025年11月学生平板品牌推荐:护眼大屏榜对比学习场景差异
  • 2025年11月学生平板品牌评测榜:从双师1对1到全科AI精准学横向对比
  • 2025年11月智能学习机品牌推荐:AI精准学榜多维评测
  • 2025年11月智能学习机品牌对比榜:新课标同步与护眼大屏机型排名
  • 2025年11月学生平板品牌推荐:新课标榜排行六合一功能解析
  • 2025年11月智能学习机品牌推荐:市场热销榜排行全透视
  • 2025年11月智能学习机品牌推荐:护眼大屏榜与用户评价排行
  • 2025年11月学习机品牌推荐榜:AI精准学机型口碑对比评测
  • 2025年11月卖得好的学习机品牌推荐:AI学习机榜横向评测
  • 2025年11月干皮精华产品推荐榜:五款干敏肌适用精华排行
  • 2025年11月干皮精华产品精选榜:五款干敏肌适用精华对比
  • 2025年11月卖得好的学习机品牌推荐:市场销量榜与对比评价
  • 2025年11月学习机品牌推荐:清北规划师口碑评价榜
  • 2025年11月黄褐斑改善产品推荐榜:成分技术与用户反馈综合排行