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

网站域名邮箱曰本免费网站

网站域名邮箱,曰本免费网站,中山网站建设华联在线,网站广告代码【Python】科研代码学习#xff1a;十七 模型参数合并#xff0c;safetensors / bin 前言解决代码知识点#xff1a;safetensors 和 bin 的区别#xff1f;知识点#xff1a;save_pretrained 还会新增的文件知识点#xff1a;在保存模型参数时#xff0c;大小发生了成倍… 【Python】科研代码学习十七 模型参数合并safetensors / bin 前言解决代码知识点safetensors 和 bin 的区别知识点save_pretrained 还会新增的文件知识点在保存模型参数时大小发生了成倍的变化 前言 众所周知LLM的模型参数一般保存在 .safetensors 或者 .bin 结尾的大文件 但是通过一个 RLHF 的一个训练后使用了 FSDP 分布式训练器 所以把文件参数保存在了 .pt 文件中 那么问题来了保存的参数我如何合并到模型里去做其他推理任务呢 解决代码 经过复杂的尝试和询问然后使用下面的几个方法就成功了 第一步加载初始的模型使用 .from_pretrained 即可加载本地模型的参数 第二步加载 policy.pt 里面的 state 的内容使用 model.load_state_dict 即可使用这些参数来覆盖原始模型的参数 第三步保存模型参数到文件夹使用 model.save_pretrained 即可 def FSDP_model_merge(model_path : str, pt_path : str, output_path : str):print(Loading Model)model LlamaForCausalLM.from_pretrained(model_path, torch_dtypetorch.float16)print(Loading Checkpoint)model.load_state_dict(torch.load(pt_path)[state])print(Saving Model)model.save_pretrained(output_path,safe_serializationTrue, torch_dtypetorch.float16)print(Done)知识点safetensors 和 bin 的区别 【知乎】 简单来说bin 是通用的二进制存储文件 safetensors 是更加安全的文件专门存储张量数据 所以这两者都可以存模型的参数如何设置保存的时候使用哪个格式 model.save_pretrained() 方法里面的 safe_serialization 设置成 True 的话就会用 safetensors 格式了注意不同 transformers 版本的该方法的 safe_serialization 的默认值是不同的较新的版本该值默认为 True较老的为 False看了下貌似对于文件保存的大小来说几乎没什么差异 知识点save_pretrained 还会新增的文件 在 model.save_pretrained 方法调用后在文件夹中其实还会新增/替换这几个文件 config.json generation_config.json model.safetensors.index.jsonmodel.safetensors.index.json 的文件主要是参数和文件的存储关系映射 以及可以从 total_size 中查看模型的参数大小 比如这里13476839424除以 1 0 9 10^9 109 之后为 13 13 13即该模型参数大小大约为 13 G 13G 13G 然后后面可以看到保存了哪些参数权重比如有 mlp.down_proj 等 generation_config.json 主要是生成任务的参数还有 transformers 库的版本号 config.json 比较重要是记录该模型的重要参数 有模型的架构 LlamaForCausalLM中间各种网络的参数词汇表大小等。 知识点在保存模型参数时大小发生了成倍的变化 这次就遇到了这个问题我一开始还以为是合并时两份参数加在一起而没有覆盖导致的 最终文件大小加倍了但最后是发现 torch_dtype 原本是 float16我直接保存的话类型变成了 float32因此文件大小翻倍了 在加载和保存处设置好数据类型即可。 【这启示我们对于精度类型还是得注意清楚的比如在训练的时候使用混合精度等问题】最终发现在model.safetensors.index.json 里面多了一个 self_attn.rotary_emb.inv_freq 参数但这个貌似对于内存不是特别影响应该问题是不大的 total_size 只打了7k多 并且它原本是参数分成了三份这次分成了两份这个也会有变化。
http://www.zqtcl.cn/news/65684/

相关文章:

  • gzip压缩网站重庆专业做淘宝网站
  • 白之家低成本做网站唐山百度网站建设
  • asp.net 4.0网站开发深圳网站建公司
  • wordpress如何生成单页的网站地图网站404怎么做
  • 郑州网站建设知识分享网站策划就业前景
  • 门户网站技术方案网络推广公司开业广告
  • win8扁平化网站建筑设计找工作的网站
  • 鄂尔多斯网站建设做dna胎儿亲子鉴定网站
  • 怎么查网站到期时间滨州网络推广
  • 云南网站建设快速优化做模式网站
  • wordpress建自己的网站吗只做外贸的公司网站
  • 第一次做网站时是怎样的心情如何做网站关键词收录
  • 企业查询官方网站网站建设的数据导入导出
  • 营销型网站用什么模版合适百度短网址生成
  • 微网站管理平台软路由系统如何做网站
  • 免费音效素材网站成品短视频源码出售
  • 服务器租用多少钱一月seo是什么专业的课程
  • 谁做广东11彩票网站wordpress support hls player
  • 0基础学做网站简洁大气网站模板
  • 海南网站建设粤icp备代码编辑器
  • 知名网站建设怎么样研学网站开发需求文档
  • 播放量网站推广免费百度提交wordpress
  • 网站被人恶意刷流量wordpress 新浪微博关注
  • 网站推广意义shopex进入网站自动回跳转到别的网站 是否被挂马
  • 腾讯云阻止网站访问推荐wordpress安装方式
  • 学校网站开发模式网站设计是怎么设计的
  • 做网站编辑的时候没保存怎么大华天途建设集团网站
  • 班级网页制作素材南昌快速优化排名
  • 建站网址导航特价网站建设官网
  • 建设可以聊天的网站tug wordpress