大模型微调报错:RuntimeError: expected scalar type Half but found Float

微调chatglm 报错RuntimeError: expected scalar type Half but found Float

1. 背景

博主显卡:3090
最初的设置:bfloat16
开始训练后,线性层报错

2. 解决: 统一代码中所有精度

1)将模型和数据精度都设置为torch.float32/torch.float16

xxx = torch.tensor(xxx, dtype=torch.float32)
model.config.torch_dtype = torch.float32

2)将模型参数都设置为torch.float32/torch.float16

for param in model.parameters():
    # Check if parameter dtype is  Float (float32)
    if param.dtype == torch.float16:
        param.data = param.data.to(torch.float32)

相关推荐

  1. Unsloth - 模型微调

    2024-01-29 21:12:01       19 阅读
  2. 模型微调-数据部分

    2024-01-29 21:12:01       43 阅读
  3. 微调模型学习记录

    2024-01-29 21:12:01       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-29 21:12:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-29 21:12:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-01-29 21:12:01       82 阅读
  4. Python语言-面向对象

    2024-01-29 21:12:01       91 阅读

热门阅读

  1. Mongodb查询投射中的$elemMatch

    2024-01-29 21:12:01       52 阅读
  2. VLM 系列——Monkey——论文解读

    2024-01-29 21:12:01       61 阅读
  3. Web 上升的圆心

    2024-01-29 21:12:01       46 阅读
  4. 用二分法在有序数列中查找元素位置

    2024-01-29 21:12:01       41 阅读
  5. MySQL表的增删改查(进阶)

    2024-01-29 21:12:01       38 阅读
  6. Anaconda 镜像清华大学开源软件镜像站

    2024-01-29 21:12:01       61 阅读