lora_fsdp_wrap_policy¶
- torchtune.training.lora_fsdp_wrap_policy(modules_to_wrap: Set[Type]) Callable[[Module, bool, int], bool] [源代码]¶
使用 FSDP 包装使用 LoRA 训练的模型的默认策略。
FSDP 的默认行为是在 FSDP 包装的模块级别分配梯度。这意味着,如果给定 FSDP 包装的模块中的任何参数需要梯度,则将为整个模块分配梯度内存。
在 LoRA 的情况下,只有适配器是可训练的,这意味着我们需要将适配器子模块包装在它们自己的 FSDP 单元中,以最大限度地节省内存。完成此操作后,模型还将根据
modules_to_wrap
中指定的 nn.Module 类型进行分层包装。- 参数:
modules_to_wrap (Set[Type]) – 要递归包装的 nn.Module 类型
- 返回值:
可以传递到
FullyShardedDataParallel
的包装策略。有关更多详细信息,请参阅FSDPPolicyType
的文档。- 返回类型:
FSDPPolicyType