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)[source]¶
读取和写入Meta格式检查点的检查点器。示例包括来自meta-llama仓库的Llama-2-7b模型(https://huggingface.co/meta-llama/Llama-2-7b)
目前我们仅支持从单个检查点文件读取。支持从分片检查点读取的功能正在开发中。
- Parameters:
checkpoint_dir (str) – 包含检查点文件的目录
checkpoint_files (List[str]) – 要加载的检查点文件列表。目前此检查点器仅支持加载单个检查点文件。
model_type (str) – 正在加载检查点的模型的模型类型,例如 LLAMA3。
output_dir (str) – 保存检查点文件的目录
adapter_checkpoint (Optional[str]) – 适配器权重的路径。如果为None, 并且resume_from_checkpoint=True,则在output_dir/epoch_{largest_epoch}中查找adapter_model.pt。 默认值为None。
recipe_checkpoint (可选[str]) – 配方状态检查点文件的路径。如果为 None, 并且 resume_from_checkpoint=True,则在 output_dir/recipe_state 中查找 recipe_state.pt。 默认值为 None。
resume_from_checkpoint (bool) – 如果为True,检查点将加载额外的检查点文件以从先前的运行中恢复训练。默认值为False
- Raises:
ValueError – 如果
checkpoint_files不是长度为1的列表ValueError – 如果
resume_from_checkpoint为 True 但recipe_checkpoint为 None
- save_checkpoint(state_dict: Dict[str, Any], epoch: int, intermediate_checkpoint: bool = False, adapter_only: bool = False) None[source]¶
将元检查点保存到文件。如果
intermediate_checkpoint为True,则会在_output_dir/RECIPE_STATE_DIRNAME中创建一个额外的检查点文件recipe_state.pt,其中包含配方状态。- Parameters:
- Raises:
ValueError – 如果
adapter_only为 True 并且在 state_dict 中找不到适配器检查点。