ViuAI commited on
Commit
bff6cc3
·
verified ·
1 Parent(s): 7119af2

Tune VRAM memory: delete logits before backward, safe micro_batch 4 for 32GB GPUs

Browse files
Files changed (1) hide show
  1. code/train_sft.py +6 -4
code/train_sft.py CHANGED
@@ -169,13 +169,13 @@ def auto_profile_hardware():
169
  # Tier Classification for 2048 Context Length (Target Effective Batch = 128)
170
  if vram_gb >= 75: # H200 (141GB), H100 (80GB), GH200, A100-80GB
171
  tier = "Ultra-Tier"
172
- micro_batch = 16
173
- grad_accum = 8
174
  desc = "NVIDIA Hopper / Datacenter Beast (141GB / 80GB HBM3e)"
175
  elif vram_gb >= 30: # RTX 5090 (32GB), A100 (40GB), A6000 (48GB), RTX 6000 Ada
176
  tier = "High-Tier"
177
- micro_batch = 8
178
- grad_accum = 16
179
  desc = "NVIDIA Blackwell / High-End Workstation (32GB+)"
180
  elif vram_gb >= 20: # RTX 4090 (24GB), RTX 3090 (24GB), L4 (24GB), A10G (24GB)
181
  tier = "Pro-Tier"
@@ -753,6 +753,7 @@ def main():
753
  domain_loss_sum[d_id] += s_loss
754
  domain_token_cnt[d_id] += act
755
 
 
756
  total_val_loss += sum_loss.item()
757
  val_tokens += num_active
758
 
@@ -802,6 +803,7 @@ def main():
802
  logits, loss = model(inputs, targets=labels, pad_id=PAD_TOKEN_ID, shift_labels=True)
803
  loss_scaled = loss / grad_acc
804
 
 
805
  loss_scaled.backward()
806
  accum_loss += loss.item()
807
  epoch_loss += loss.item()
 
169
  # Tier Classification for 2048 Context Length (Target Effective Batch = 128)
170
  if vram_gb >= 75: # H200 (141GB), H100 (80GB), GH200, A100-80GB
171
  tier = "Ultra-Tier"
172
+ micro_batch = 8
173
+ grad_accum = 16
174
  desc = "NVIDIA Hopper / Datacenter Beast (141GB / 80GB HBM3e)"
175
  elif vram_gb >= 30: # RTX 5090 (32GB), A100 (40GB), A6000 (48GB), RTX 6000 Ada
176
  tier = "High-Tier"
177
+ micro_batch = 4
178
+ grad_accum = 32
179
  desc = "NVIDIA Blackwell / High-End Workstation (32GB+)"
180
  elif vram_gb >= 20: # RTX 4090 (24GB), RTX 3090 (24GB), L4 (24GB), A10G (24GB)
181
  tier = "Pro-Tier"
 
753
  domain_loss_sum[d_id] += s_loss
754
  domain_token_cnt[d_id] += act
755
 
756
+ del logits, shift_logits
757
  total_val_loss += sum_loss.item()
758
  val_tokens += num_active
759
 
 
803
  logits, loss = model(inputs, targets=labels, pad_id=PAD_TOKEN_ID, shift_labels=True)
804
  loss_scaled = loss / grad_acc
805
 
806
+ del logits
807
  loss_scaled.backward()
808
  accum_loss += loss.item()
809
  epoch_loss += loss.item()