Shortcuts

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[source]

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

此函数使用模型的LoRA配置来检查LoRA和/或基础模型权重是否正确加载到完整模型中。此函数仅依赖于load_state_dict API在strict=False时返回的missing和unexpected值。这使我们能够在不进行任何额外调用.state_dict()的情况下进行验证,从而节省了额外的内存。

Parameters:
  • 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]]) – 加载基础模型权重时缺失的键列表。 默认值:无

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

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

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

Returns:

Raises: