You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Huggingface BERT模型的嵌入层权重复制到同架构新模型中

你可以直接复用预训练模型的嵌入层整体状态字典加载到新模型中,不需要手动枚举所有嵌入层参数,具体实现如下:

import torch

# 推荐方案:直接加载整个嵌入层的状态字典,自动匹配所有参数
untrained_model.bert.embeddings.load_state_dict(model.bert.embeddings.state_dict())

如果你需要自定义选择复用的嵌入层参数,也可以手动遍历参数逐个复制:

# 手动赋值方案,适合需要筛选部分嵌入层参数复用的场景
for param_name, param_value in model.bert.embeddings.named_parameters():
    untrained_model.bert.embeddings.state_dict()[param_name].copy_(param_value.data)

你可以通过以下代码验证参数是否复制成功:

# 对比任意嵌入层参数是否完全一致,输出True即为复制成功
print(torch.equal(
    model.bert.embeddings.word_embeddings.weight,
    untrained_model.bert.embeddings.word_embeddings.weight
))

如果后续训练过程中不需要调整嵌入层权重,可以添加以下代码冻结嵌入层参数:

for param in untrained_model.bert.embeddings.parameters():
    param.requires_grad = False

内容的提问来源于stack exchange,提问作者Russell Richie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 22:54:01