Skip to content

Commit 7d2a926

Browse files
apply offloading method runable for all trainer
1 parent 3970bf4 commit 7d2a926

3 files changed

Lines changed: 15 additions & 0 deletions

File tree

fine_tune.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,11 @@ def fn_recursive_set_mem_eff(module: torch.nn.Module):
251251

252252
if args.deepspeed:
253253
# wrapping model
254+
import deepspeed
255+
if args.offload_optimizer_device is not None:
256+
accelerator.print('[DeepSpeed] start to manually build cpu_adam.')
257+
deepspeed.ops.op_builder.CPUAdamBuilder().load()
258+
accelerator.print('[DeepSpeed] building cpu_adam done.')
254259
class DeepSpeedModel(torch.nn.Module):
255260
def __init__(self, unet, text_encoder) -> None:
256261
super().__init__()

train_db.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,11 @@ def train(args):
224224
# acceleratorがなんかよろしくやってくれるらしい
225225
if args.deepspeed:
226226
# wrapping model
227+
import deepspeed
228+
if args.offload_optimizer_device is not None:
229+
accelerator.print('[DeepSpeed] start to manually build cpu_adam.')
230+
deepspeed.ops.op_builder.CPUAdamBuilder().load()
231+
accelerator.print('[DeepSpeed] building cpu_adam done.')
227232
class DeepSpeedModel(torch.nn.Module):
228233
def __init__(self, unet, text_encoder) -> None:
229234
super().__init__()

train_network.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,11 @@ def train(self, args):
419419
# acceleratorがなんかよろしくやってくれるらしい / accelerator will do something good
420420
if args.deepspeed:
421421
# wrapping model
422+
import deepspeed
423+
if args.offload_optimizer_device is not None:
424+
accelerator.print('[DeepSpeed] start to manually build cpu_adam.')
425+
deepspeed.ops.op_builder.CPUAdamBuilder().load()
426+
accelerator.print('[DeepSpeed] building cpu_adam done.')
422427
class DeepSpeedModel(torch.nn.Module):
423428
def __init__(self, unet, text_encoder, network) -> None:
424429
super().__init__()

0 commit comments

Comments
 (0)