快捷方式

validate_missing_and_unexpected_for_lora

torchtune.modules.peft.validate_missing_and_unexpected_for_lora(lora_attn_modules: List[Literal['q_proj', 'k_proj', 'v_proj', 'output_proj']], apply_lora_to_mlp: bool, apply_lora_to_output: bool, base_missing: Optional[List[str]] = None, base_unexpected: Optional[List[str]] = None, lora_missing: Optional[List[str]] = None, lora_unexpected: Optional[List[str]] = None) None[源码]

一种更节省内存的方法来验证 LoRA 状态字典加载是否正确完成。

此函数使用模型的 LoRA 配置来检查 LoRA 和/或基础模型权重是否正确加载到完整模型中。此函数仅依赖于 load_state_dict API 在 strict=False 模式下返回的 missing 和 unexpected 值。这使得我们无需额外调用 .state_state_dict()(这会使用额外的内存)即可进行验证。

参数:
  • lora_attn_modules (List[LORA_ATTN_MODULES]) – 列表,指定 LoRA 应应用于每个自注意力块中的哪些线性层。可选值包括 {"q_proj", "k_proj", "v_proj", "output_proj"}

  • apply_lora_to_mlp (bool) – 是否将 LoRA 应用于每个 MLP 线性层。

  • apply_lora_to_output (bool) – 是否将 LoRA 应用于最终的输出投影层。

  • base_missing (Optional[List[str]]) – 加载基础模型权重时缺失的键列表。默认值: None

  • base_unexpected (Optional[List[str]]) – 加载基础模型权重时意外出现的键列表。默认值: None

  • lora_missing (Optional[List[str]]) – 加载 LoRA 权重时缺失的键列表。默认值: None

  • lora_unexpected (Optional[List[str]]) – 加载 LoRA 权重时意外出现的键列表。默认值: None

返回值:

None

抛出:

AssertionError – 如果 base_missing 包含任何基础模型键,**或** base_unexpected 非空,**或** lora_missing 包含任何 LoRA 键,**或** lora_unexpected 非空。


© 版权所有 2023-至今,torchtune 贡献者。

使用 Sphinx 构建,主题由 Read the Docs 提供。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并解答你的问题

查看资源