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

解决量化模型中的 NaN 问题:为何非量化层应选用 FP32?(41)

“等一下,为什么我们的量化模型中会有torch.float16参数呢?”

实际上,量化并不会应用到模型的每一层。只有少数经过精心挑选的层——你可以称之为“天选之层”——会被量化。当然,我是在开玩笑:量化的天然目标是解码器块内部那些庞大的线性层。这些层构成了模型参数的绝大部分,因此我们只需关注这些层,就能显著减小模型大小。

“好吧,但非量化层默认不应该是torch.float32吗?”

问得好!你可能会这么认为,毕竟FP32是默认的数据类型,对吧?然而,加载量化模型时会默认将其改为FP16,除非你主动指定torch_dtype参数。

“那我应该指定它吗?应该使用什么数据类型呢?”

是的,你或许应该指定,而且使用torch.float32可能是最佳选择。为了理解原因,让我们看看如果不指定会发生什么情况,也就是说,如果像上面的model_q8那样将非量化层保留为torch.float16的话:

out = model_q8(**batch)
out.loss

运行结果:

tensor
http://www.lryc.cn/news/621808.html

相关文章:

  • 波浪模型SWAN学习(1)——模型编译与波浪折射模拟(Test of the refraction formulation)
  • Docker安装——配置国内docker镜像源
  • flutter 跨平台编码库 protobuf 工具使用
  • RAGFlow入门
  • Trae2.0:AI 编程新时代的引领者
  • 反射和类加载机制
  • 智能算法突破动态挑战,效率革命重塑计算未来!
  • (自用)console.log怎么上色
  • 使用转换函数重载布尔值类
  • 读《精益数据分析》:黏性(Stickiness)—— 验证解决方案是否留住用户
  • 自适应UI设计解读 | Fathom 企业人工智能平台
  • 5G工业一体机汽车零部件工厂的无纸化管理
  • HarmonyOS 实战:用 @Observed + @ObjectLink 玩转多组件实时数据更新
  • Go从入门到精通系列学习路线规划
  • Day62--图论--97. 小明逛公园(卡码网),127. 骑士的攻击(卡码网)
  • 智能家居【home assistant】(一)-在Windows电脑上运行home assistant
  • 论文阅读:基于大语言模型的多机器人任务分配与调度的自动 MILP 模型构建
  • GitHub 上 Star 数量前 18 的开源 AI Agent 项目
  • 基于uiautomation的自动化流程RPA开源开发演示
  • Linux网络基础(一)
  • 【补充】数据库中有关系统编码和校验规则的简述
  • 【软件设计模式】前置知识类图、七大原则(精简笔记版)
  • 【SpringBoot】SpringBoot 整合JDBC、Mybatis、Druid
  • Cursor/VSCode/VS2017 搭建Cocos2d-x环境,并进行正常的调试和运行(简单明了)
  • 基于MATLAB的机器学习、深度学习实践应用
  • WPF 监控CPU、内存性能
  • 物联网(IoT)系统中,通信协议如何选择
  • linux下找到指定目录下最新日期log文件
  • Webapi发布后IIS超时(.net8.0)
  • 【微服务】.NET8对接ElasticSearch