FullModelMetaCheckpointer¶
- class torchtune.training.FullModelMetaCheckpointer(checkpoint_dir: str, checkpoint_files: List[str], model_type: str, output_dir: str, adapter_checkpoint: Optional[str] = None, recipe_checkpoint: Optional[str] = None, resume_from_checkpoint: bool = False, should_load_recipe_state: bool = False)[source]¶
按 Meta 格式读写检查点的 Checkpointer。示例包括来自 meta-llama repo 的 Llama-2-7b 模型 (https://hugging-face.cn/meta-llama/Llama-2-7b)
目前我们仅支持从单个检查点文件读取。对分片检查点读取的支持正在进行中 (WIP)。
- 参数:
checkpoint_dir (str) – 包含检查点文件的目录
checkpoint_files (List[str]) – 要加载的检查点文件列表。目前此检查点器仅支持加载单个检查点文件。
model_type (str) – 要加载检查点模型的模型类型,例如 LLAMA3。
output_dir (str) – 保存检查点文件的目录
adapter_checkpoint (Optional[str]) – adapter 权重的路径。如果为 None,且 should_load_recipe_state=True,则在 output_dir/epoch_{largest_epoch} 中查找 adapter_model.pt。默认为 None。
recipe_checkpoint (Optional[Optional[str]) – recipe 状态检查点文件的路径。如果为 None,且 should_load_recipe_state=True,则在 output_dir/recipe_state 中查找 recipe_state.pt。默认为 None。
resume_from_checkpoint (bool) – 如果为 True,检查点器将加载与先前运行的 recipe 状态对应的额外检查点文件。默认为 False。此标志已弃用,请改用 should_load_recipe_state。
should_load_recipe_state (bool) – 如果为 True,检查点器将加载与先前运行的 recipe 状态对应的额外检查点文件。默认为 False。
- 抛出:
ValueError – 如果
checkpoint_files
不是长度为 1 的列表
- save_checkpoint(state_dict: Dict[str, Any], epoch: int, intermediate_checkpoint: bool = False, adapter_only: bool = False) None [source]¶
将 Meta 检查点保存到文件。如果
intermediate_checkpoint
为 True,则会在_output_dir/RECIPE_STATE_DIRNAME
中创建一个额外的检查点文件recipe_state.pt
,其中包含 recipe 状态。- 参数:
- 抛出:
ValueError – 如果
adapter_only
为 True 且在 state_dict 中找不到 adapter 检查点。