TiedLinear¶
- 类 torchtune.modules.TiedLinear(tied_module: Module)[源]¶
一个绑定的线性层,没有偏置,与另一个线性层共享相同的权重。这对于使用绑定权重的模型很有用,例如
qwen2_0_5b()
、qwen2_1_5b()
以及所有gemma()
和llama3_2()
模型。它需要一个 nn.Module 作为输入,而不是模块的权重,以便与 FSDP 协同工作。应用 FSDP 后,权重的内存指针会不同,但 nn.Module 保持不变。这就是为什么如果我们想保持权重绑定,需要传递 nn.Module 而不是权重。
- 参数:
tied_module (nn.Module) – 其权重被共享的模块。仅使用权重。偏置将被忽略。
- 抛出:
AttributeError – 如果提供的模块没有属性 'weight'。