fix: apply fix for only CP mode
This commit is contained in:
@@ -720,10 +720,14 @@ class AxolotlTrainer(
|
|||||||
os.makedirs(output_dir, exist_ok=True)
|
os.makedirs(output_dir, exist_ok=True)
|
||||||
LOG.info(f"Saving model checkpoint to {output_dir}")
|
LOG.info(f"Saving model checkpoint to {output_dir}")
|
||||||
|
|
||||||
# fix for Context Parallel save
|
# fix for Context Parallel save: CP eval invalidates tensor storage
|
||||||
if state_dict is None:
|
# pointers, so clone to CPU to get fresh valid storage for safetensors
|
||||||
state_dict = self.accelerator.get_state_dict(self.model)
|
if (
|
||||||
if state_dict is not None:
|
state_dict is not None
|
||||||
|
and self.axolotl_cfg
|
||||||
|
and self.axolotl_cfg.context_parallel_size
|
||||||
|
and self.axolotl_cfg.context_parallel_size > 1
|
||||||
|
):
|
||||||
state_dict = {
|
state_dict = {
|
||||||
k: v.detach().cpu() if isinstance(v, torch.Tensor) else v
|
k: v.detach().cpu() if isinstance(v, torch.Tensor) else v
|
||||||
for k, v in state_dict.items()
|
for k, v in state_dict.items()
|
||||||
|
|||||||
Reference in New Issue
Block a user