大模型系列之模型参数冻结

第一、冻结的参数设置成False

比如说仅训练embedding层参数

for name, param in model.named_parameters():if "model.embed_tokens" not in name:param.requires_grad = False

第二、优化器过滤False的参数

optimizer = AdamW(filter(lambda p: p.requires_grad, model.parameters()))

第三、案例(以mistral为例,仅优化最后几层)

1. 加载模型

model = MistralForSequenceClassification.from_pretrained(args.model_dir, num_labels=num_labels).half()

2. 默认是优化所有参数,如下所示:

for name, p in model.named_parameters():print(name, p.requires_grad)

输出:

model.embed_tokens.weight True
model.layers.0.self_attn.q_proj.weight True
model.layers.0.self_attn.k_proj.weight True
model.layers.0.self_attn.v_proj.weight True
model.layers.0.self_attn.o_proj.weight True
model.layers.0.mlp.gate_proj.weight True
model.layers.0.mlp.up_proj.weight True
model.layers.0.mlp.down_proj.weight True
model.layers.0.input_layernorm.weight True
model.layers.0.post_attention_layernorm.weight True
model.layers.1.self_attn.q_proj.weight True
model.layers.1.self_attn.k_proj.weight True
model.layers.1.self_attn.v_proj.weight True
model.layers.1.self_attn.o_proj.weight True
model.layers.1.mlp.gate_proj.weight True
model.layers.1.mlp.up_proj.weight True
model.layers.1.mlp.down_proj.weight True
model.layers.1.input_layernorm.weight True
model.layers.1.post_attention_layernorm.weight True
model.layers.2.self_attn.q_proj.weight True
model.layers.2.self_attn.k_proj.weight True
model.layers.2.self_attn.v_proj.weight True
model.layers.2.self_attn.o_proj.weight True
model.layers.2.mlp.gate_proj.weight True
model.layers.2.mlp.up_proj.weight True
model.layers.2.mlp.down_proj.weight True
model.layers.2.input_layernorm.weight True
model.layers.2.post_attention_layernorm.weight True
model.layers.3.self_attn.q_proj.weight True
model.layers.3.self_attn.k_proj.weight True
model.layers.3.self_attn.v_proj.weight True
model.layers.3.self_attn.o_proj.weight True
model.layers.3.mlp.gate_proj.weight True
model.layers.3.mlp.up_proj.weight True
model.layers.3.mlp.down_proj.weight True
model.layers.3.input_layernorm.weight True
model.layers.3.post_attention_layernorm.weight True
model.layers.4.self_attn.q_proj.weight True
model.layers.4.self_attn.k_proj.weight True
model.layers.4.self_attn.v_proj.weight True
model.layers.4.self_attn.o_proj.weight True
model.layers.4.mlp.gate_proj.weight True
model.layers.4.mlp.up_proj.weight True
model.layers.4.mlp.down_proj.weight True
model.layers.4.input_layernorm.weight True
model.layers.4.post_attention_layernorm.weight True
model.layers.5.self_attn.q_proj.weight True
model.layers.5.self_attn.k_proj.weight True
model.layers.5.self_attn.v_proj.weight True
model.layers.5.self_attn.o_proj.weight True
model.layers.5.mlp.gate_proj.weight True
model.layers.5.mlp.up_proj.weight True
model.layers.5.mlp.down_proj.weight True
model.layers.5.input_layernorm.weight True
model.layers.5.post_attention_layernorm.weight True
model.layers.6.self_attn.q_proj.weight True
model.layers.6.self_attn.k_proj.weight True
model.layers.6.self_attn.v_proj.weight True
model.layers.6.self_attn.o_proj.weight True
model.layers.6.mlp.gate_proj.weight True
model.layers.6.mlp.up_proj.weight True
model.layers.6.mlp.down_proj.weight True
model.layers.6.input_layernorm.weight True
model.layers.6.post_attention_layernorm.weight True
model.layers.7.self_attn.q_proj.weight True
model.layers.7.self_attn.k_proj.weight True
model.layers.7.self_attn.v_proj.weight True
model.layers.7.self_attn.o_proj.weight True
model.layers.7.mlp.gate_proj.weight True
model.layers.7.mlp.up_proj.weight True
model.layers.7.mlp.down_proj.weight True
model.layers.7.input_layernorm.weight True
model.layers.7.post_attention_layernorm.weight True
model.layers.8.self_attn.q_proj.weight True
model.layers.8.self_attn.k_proj.weight True
model.layers.8.self_attn.v_proj.weight True
model.layers.8.self_attn.o_proj.weight True
model.layers.8.mlp.gate_proj.weight True
model.layers.8.mlp.up_proj.weight True
model.layers.8.mlp.down_proj.weight True
model.layers.8.input_layernorm.weight True
model.layers.8.post_attention_layernorm.weight True
model.layers.9.self_attn.q_proj.weight True
model.layers.9.self_attn.k_proj.weight True
model.layers.9.self_attn.v_proj.weight True
model.layers.9.self_attn.o_proj.weight True
model.layers.9.mlp.gate_proj.weight True
model.layers.9.mlp.up_proj.weight True
model.layers.9.mlp.down_proj.weight True
model.layers.9.input_layernorm.weight True
model.layers.9.post_attention_layernorm.weight True
model.layers.10.self_attn.q_proj.weight True
model.layers.10.self_attn.k_proj.weight True
model.layers.10.self_attn.v_proj.weight True
model.layers.10.self_attn.o_proj.weight True
model.layers.10.mlp.gate_proj.weight True
model.layers.10.mlp.up_proj.weight True
model.layers.10.mlp.down_proj.weight True
model.layers.10.input_layernorm.weight True
model.layers.10.post_attention_layernorm.weight True
model.layers.11.self_attn.q_proj.weight True
model.layers.11.self_attn.k_proj.weight True
model.layers.11.self_attn.v_proj.weight True
model.layers.11.self_attn.o_proj.weight True
model.layers.11.mlp.gate_proj.weight True
model.layers.11.mlp.up_proj.weight True
model.layers.11.mlp.down_proj.weight True
model.layers.11.input_layernorm.weight True
model.layers.11.post_attention_layernorm.weight True
model.layers.12.self_attn.q_proj.weight True
model.layers.12.self_attn.k_proj.weight True
model.layers.12.self_attn.v_proj.weight True
model.layers.12.self_attn.o_proj.weight True
model.layers.12.mlp.gate_proj.weight True
model.layers.12.mlp.up_proj.weight True
model.layers.12.mlp.down_proj.weight True
model.layers.12.input_layernorm.weight True
model.layers.12.post_attention_layernorm.weight True
model.layers.13.self_attn.q_proj.weight True
model.layers.13.self_attn.k_proj.weight True
model.layers.13.self_attn.v_proj.weight True
model.layers.13.self_attn.o_proj.weight True
model.layers.13.mlp.gate_proj.weight True
model.layers.13.mlp.up_proj.weight True
model.layers.13.mlp.down_proj.weight True
model.layers.13.input_layernorm.weight True
model.layers.13.post_attention_layernorm.weight True
model.layers.14.self_attn.q_proj.weight True
model.layers.14.self_attn.k_proj.weight True
model.layers.14.self_attn.v_proj.weight True
model.layers.14.self_attn.o_proj.weight True
model.layers.14.mlp.gate_proj.weight True
model.layers.14.mlp.up_proj.weight True
model.layers.14.mlp.down_proj.weight True
model.layers.14.input_layernorm.weight True
model.layers.14.post_attention_layernorm.weight True
model.layers.15.self_attn.q_proj.weight True
model.layers.15.self_attn.k_proj.weight True
model.layers.15.self_attn.v_proj.weight True
model.layers.15.self_attn.o_proj.weight True
model.layers.15.mlp.gate_proj.weight True
model.layers.15.mlp.up_proj.weight True
model.layers.15.mlp.down_proj.weight True
model.layers.15.input_layernorm.weight True
model.layers.15.post_attention_layernorm.weight True
model.layers.16.self_attn.q_proj.weight True
model.layers.16.self_attn.k_proj.weight True
model.layers.16.self_attn.v_proj.weight True
model.layers.16.self_attn.o_proj.weight True
model.layers.16.mlp.gate_proj.weight True
model.layers.16.mlp.up_proj.weight True
model.layers.16.mlp.down_proj.weight True
model.layers.16.input_layernorm.weight True
model.layers.16.post_attention_layernorm.weight True
model.layers.17.self_attn.q_proj.weight True
model.layers.17.self_attn.k_proj.weight True
model.layers.17.self_attn.v_proj.weight True
model.layers.17.self_attn.o_proj.weight True
model.layers.17.mlp.gate_proj.weight True
model.layers.17.mlp.up_proj.weight True
model.layers.17.mlp.down_proj.weight True
model.layers.17.input_layernorm.weight True
model.layers.17.post_attention_layernorm.weight True
model.layers.18.self_attn.q_proj.weight True
model.layers.18.self_attn.k_proj.weight True
model.layers.18.self_attn.v_proj.weight True
model.layers.18.self_attn.o_proj.weight True
model.layers.18.mlp.gate_proj.weight True
model.layers.18.mlp.up_proj.weight True
model.layers.18.mlp.down_proj.weight True
model.layers.18.input_layernorm.weight True
model.layers.18.post_attention_layernorm.weight True
model.layers.19.self_attn.q_proj.weight True
model.layers.19.self_attn.k_proj.weight True
model.layers.19.self_attn.v_proj.weight True
model.layers.19.self_attn.o_proj.weight True
model.layers.19.mlp.gate_proj.weight True
model.layers.19.mlp.up_proj.weight True
model.layers.19.mlp.down_proj.weight True
model.layers.19.input_layernorm.weight True
model.layers.19.post_attention_layernorm.weight True
model.layers.20.self_attn.q_proj.weight True
model.layers.20.self_attn.k_proj.weight True
model.layers.20.self_attn.v_proj.weight True
model.layers.20.self_attn.o_proj.weight True
model.layers.20.mlp.gate_proj.weight True
model.layers.20.mlp.up_proj.weight True
model.layers.20.mlp.down_proj.weight True
model.layers.20.input_layernorm.weight True
model.layers.20.post_attention_layernorm.weight True
model.layers.21.self_attn.q_proj.weight True
model.layers.21.self_attn.k_proj.weight True
model.layers.21.self_attn.v_proj.weight True
model.layers.21.self_attn.o_proj.weight True
model.layers.21.mlp.gate_proj.weight True
model.layers.21.mlp.up_proj.weight True
model.layers.21.mlp.down_proj.weight True
model.layers.21.input_layernorm.weight True
model.layers.21.post_attention_layernorm.weight True
model.layers.22.self_attn.q_proj.weight True
model.layers.22.self_attn.k_proj.weight True
model.layers.22.self_attn.v_proj.weight True
model.layers.22.self_attn.o_proj.weight True
model.layers.22.mlp.gate_proj.weight True
model.layers.22.mlp.up_proj.weight True
model.layers.22.mlp.down_proj.weight True
model.layers.22.input_layernorm.weight True
model.layers.22.post_attention_layernorm.weight True
model.layers.23.self_attn.q_proj.weight True
model.layers.23.self_attn.k_proj.weight True
model.layers.23.self_attn.v_proj.weight True
model.layers.23.self_attn.o_proj.weight True
model.layers.23.mlp.gate_proj.weight True
model.layers.23.mlp.up_proj.weight True
model.layers.23.mlp.down_proj.weight True
model.layers.23.input_layernorm.weight True
model.layers.23.post_attention_layernorm.weight True
model.layers.24.self_attn.q_proj.weight True
model.layers.24.self_attn.k_proj.weight True
model.layers.24.self_attn.v_proj.weight True
model.layers.24.self_attn.o_proj.weight True
model.layers.24.mlp.gate_proj.weight True
model.layers.24.mlp.up_proj.weight True
model.layers.24.mlp.down_proj.weight True
model.layers.24.input_layernorm.weight True
model.layers.24.post_attention_layernorm.weight True
model.layers.25.self_attn.q_proj.weight True
model.layers.25.self_attn.k_proj.weight True
model.layers.25.self_attn.v_proj.weight True
model.layers.25.self_attn.o_proj.weight True
model.layers.25.mlp.gate_proj.weight True
model.layers.25.mlp.up_proj.weight True
model.layers.25.mlp.down_proj.weight True
model.layers.25.input_layernorm.weight True
model.layers.25.post_attention_layernorm.weight True
model.layers.26.self_attn.q_proj.weight True
model.layers.26.self_attn.k_proj.weight True
model.layers.26.self_attn.v_proj.weight True
model.layers.26.self_attn.o_proj.weight True
model.layers.26.mlp.gate_proj.weight True
model.layers.26.mlp.up_proj.weight True
model.layers.26.mlp.down_proj.weight True
model.layers.26.input_layernorm.weight True
model.layers.26.post_attention_layernorm.weight True
model.layers.27.self_attn.q_proj.weight True
model.layers.27.self_attn.k_proj.weight True
model.layers.27.self_attn.v_proj.weight True
model.layers.27.self_attn.o_proj.weight True
model.layers.27.mlp.gate_proj.weight True
model.layers.27.mlp.up_proj.weight True
model.layers.27.mlp.down_proj.weight True
model.layers.27.input_layernorm.weight True
model.layers.27.post_attention_layernorm.weight True
model.layers.28.self_attn.q_proj.weight True
model.layers.28.self_attn.k_proj.weight True
model.layers.28.self_attn.v_proj.weight True
model.layers.28.self_attn.o_proj.weight True
model.layers.28.mlp.gate_proj.weight True
model.layers.28.mlp.up_proj.weight True
model.layers.28.mlp.down_proj.weight True
model.layers.28.input_layernorm.weight True
model.layers.28.post_attention_layernorm.weight True
model.layers.29.self_attn.q_proj.weight True
model.layers.29.self_attn.k_proj.weight True
model.layers.29.self_attn.v_proj.weight True
model.layers.29.self_attn.o_proj.weight True
model.layers.29.mlp.gate_proj.weight True
model.layers.29.mlp.up_proj.weight True
model.layers.29.mlp.down_proj.weight True
model.layers.29.input_layernorm.weight True
model.layers.29.post_attention_layernorm.weight True
model.layers.30.self_attn.q_proj.weight True
model.layers.30.self_attn.k_proj.weight True
model.layers.30.self_attn.v_proj.weight True
model.layers.30.self_attn.o_proj.weight True
model.layers.30.mlp.gate_proj.weight True
model.layers.30.mlp.up_proj.weight True
model.layers.30.mlp.down_proj.weight True
model.layers.30.input_layernorm.weight True
model.layers.30.post_attention_layernorm.weight True
model.layers.31.self_attn.q_proj.weight True
model.layers.31.self_attn.k_proj.weight True
model.layers.31.self_attn.v_proj.weight True
model.layers.31.self_attn.o_proj.weight True
model.layers.31.mlp.gate_proj.weight True
model.layers.31.mlp.up_proj.weight True
model.layers.31.mlp.down_proj.weight True
model.layers.31.input_layernorm.weight True
model.layers.31.post_attention_layernorm.weight True
model.norm.weight True
score.weight True

3. 优化最后几层:

for name, param in model.named_parameters():param.requires_grad = Falsefor k in [31, 30, 29, 'score', 'model.norm.weight']:if str(k) in name:param.requires_grad = Trueprint(name)optimizer = AdamW(filter(lambda p: p.requires_grad, model.parameters()), lr=args.learning_rate)

输出:

model.layers.29.self_attn.q_proj.weight
model.layers.29.self_attn.k_proj.weight
model.layers.29.self_attn.v_proj.weight
model.layers.29.self_attn.o_proj.weight
model.layers.29.mlp.gate_proj.weight
model.layers.29.mlp.up_proj.weight
model.layers.29.mlp.down_proj.weight
model.layers.29.input_layernorm.weight
model.layers.29.post_attention_layernorm.weight
model.layers.30.self_attn.q_proj.weight
model.layers.30.self_attn.k_proj.weight
model.layers.30.self_attn.v_proj.weight
model.layers.30.self_attn.o_proj.weight
model.layers.30.mlp.gate_proj.weight
model.layers.30.mlp.up_proj.weight
model.layers.30.mlp.down_proj.weight
model.layers.30.input_layernorm.weight
model.layers.30.post_attention_layernorm.weight
model.layers.31.self_attn.q_proj.weight
model.layers.31.self_attn.k_proj.weight
model.layers.31.self_attn.v_proj.weight
model.layers.31.self_attn.o_proj.weight
model.layers.31.mlp.gate_proj.weight
model.layers.31.mlp.up_proj.weight
model.layers.31.mlp.down_proj.weight
model.layers.31.input_layernorm.weight
model.layers.31.post_attention_layernorm.weight
model.norm.weight
score.weight

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

光纤收发器tx和rx是什么意思?二者有什么区别?

现如今,在视频监控工程的高清视频图像传输中,一般都会使用光纤收发器,光纤收发器也被称之为光电转换器(Fiber Converter),可以将短距离的双绞线(网线)电信号和长距离的光信号(光纤)进行互换的以太网传输媒体转换设备,这…

【渝粤教育】国家开放大学2018年秋季 1133t文献检索 参考试题

试卷代号:1152 教育法学 试题 2019年1月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试 结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完 考卷和答题纸后才可离开考场。…

【渝粤教育】国家开放大学2018年秋季 1353T高级英语阅读(1) 参考试题

试卷代号:1359 高级英语写作试题 2019年1月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完考卷和答题纸后才可离开考场。…

jvm分配内存_为JVM分配内存:一个案例研究

jvm分配内存这篇文章是关于最近的性能调整练习的。 与往常一样,这些开始于关于症状的模糊表述。 这次,魔鬼采取了“应用程序速度慢,我们无权访问源代码的形式。 我们有什么选择来改善局势”。 对该应用程序进行仔细查看后发现,它…

【渝粤教育】国家开放大学2018年秋季 2202T公共行政学 参考试题

试卷代号:2223 物业管理财税基础 试题(开卷) 2019年1月 一、单项选择题(每空2分.共20分) 1.某物业管理企业2017年取得银行存款利息收入2 000元,应作( )处理。 A.管理费用增加 B&…

光纤收发器常见的一些问题和检测方法

光纤收发器,是一种将短距离的双绞线电信号和长距离的光信号进行互换的以太网传输媒体转换单元,在很多地方也被称之为光电转换器(Fiber Converter)。光纤收发器的基础知识我们已经看到过很多,今天就由飞畅科技的小编来给…

【渝粤教育】国家开放大学2018年秋季 2610T药剂学 参考试题

试卷代号:2704 植物学基础 试题 2019年1月 一、单项选择题(每小题3分,共15分) 1.具有较大的细胞间隙,常形成气腔或气道是( )组织。 A.同化 B.储藏 C.通气 D.叶…

如何在Spring Boot应用程序中使用配置文件

你好朋友, 在本教程中,我们将学习如何在Spring Boot应用程序中使用配置文件。 我们将在本教程中讨论以下几点: 1.什么是Spring Boot Profile,为什么我们需要分析 2.如何使用示例在Spring Boot中进行性能分析 3.如何设置/更改默…

光纤收发器常见故障问题的时候我们该如何解决呢

当我们在使用光纤收发器的时候,难免会遇到一些问题,当遇到这些常见故障问题的时候我们该如何解决呢?接下来就由飞畅科技的小编来为大家详细介绍下光纤收发器常见故障问题排查方法,一起来看看吧! 一、整体故障排查法 1…

【渝粤教育】国家开放大学2018年秋季 3818-22T燃气工程施工 参考试题

试卷代号:3912 汽车底盘构造与维修试题答案及评分标准 (供参考) 2019年1月 一、单项选择题(下列各题的备选答案中,只有一个选项是正确的,请把正确答案的序号填写在括号内。15小题,每小题2分&am…

【渝粤教育】国家开放大学2018年秋季 8180-21T (1)畜禽生产概论 参考试题

试卷代号:8184 座位号 2018-2019学年度第一学期期末考试 护理伦理学 试题 2019年1月一、名词解释:(每题5分,共20分) 1.护理伦理学 2.护理道德情感 3.安乐死 4.慎独 二、选择题:(每小题3分&a…

光纤收发器的AB端可随便连接吗?

对于光纤收发器而言,收发器的主要作用是延长网络传输距离,可在一定程度上缓解了网线无法远距离传输的缺陷,为最后一公里传输带来了便捷,但是对于刚接触收发器的人来说会犯一些最为常见的错误,如光纤收发器的发射端与接…

【渝粤教育】国家开放大学2019年春季 0408-22T管理学基础 参考试题

科目编号:0408 管理学基础 试题 2019年7月 单项选择:(每小题3分,共计30分) 1.管理的首要职能是( )。 A.计划 B.控制 C.协调 D.指挥 2.人们常说“…

变异测试 java_编码的喜悦……以及Java中的变异测试

变异测试 java多年以来,为源代码编写单元测试一直是一种好习惯。 并且还可以使用测试覆盖率报告来查看测试覆盖了多少代码。 尽管行分支覆盖率报告非常有用,但是它并不能告诉您单元测试的实际效果。 因此,甚至在测试中没有一个断言的情况下&a…

【渝粤教育】国家开放大学2019年春季 1009离散数学(本) 参考试题

试卷代号:1009 2019年春季学期期末统一考试 离散数学(本)试题(半开卷) 2019年7月 一、单项选择题(每小题3分,本题共15分) 1.若集合A{1,2,3),则下列表述正确的…

光纤收发器的安装

光纤收发器分为单模光纤收发器和多模光纤收发器两种,同时根据光纤接头的不同,又可分为SC接头光纤收发器和ST接头光纤收发器。那么,光纤收发器安装和使用注意事项有哪些呢?接下来我们就跟随飞畅科技的小编一起来详细了解下吧&#…

【渝粤教育】国家开放大学2019年春季 1158现代教育原理 参考试题

试卷代号:1158 2019年春季学期期末统一考试 现代教育原理试题 2019年7月 一、选择题(每小题只有一个正确答案,请选择正确的标号并填写在题后括号内。每小题5分,共30分) 1.教育活动的基本要素不包括( )。 A.教育者 B.受…

JSON和XML:它们如何比较?

JSON和XML:它们如何比较? JSON和XML是两种人类可读的文本格式,多年来已成为竞争对手。 XML的目的是通过可选使用模式来存储和定义文档和数据。 JSON几乎与之完全相反-序列化格式的要求非常简单,可以放在信用卡背面。 但是&#xf…

光纤收发器故障导致不能上网该如何解决?

光纤收发器的作用就是光信号和电信号之间的相互转换,其过程大概为:把电信号转换为光信号,通过光纤传送出去,在另一端再把光信号转化为电信号,再接入路由器、交换机等等设备。但是,光纤收发器在使用过程中难…

【渝粤教育】国家开放大学2019年春季 1332中文学科论文写作 参考试题

试卷代号:1332 中文学科论文写作 试题(开卷) 2019年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试 结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考…