Compare commits

..

3 Commits

Author SHA1 Message Date
Jonathan Hill 9ad13f7036
Merge 182bff1bd8 into 3f1a7cc25b 2026-06-09 21:44:26 +08:00
jingyaogong 3f1a7cc25b [fix] ddp exit hang 2026-06-01 17:50:39 +08:00
jingyaogong 4a68da72d5 [fix] lora dims 2026-05-31 13:38:51 +08:00
9 changed files with 26 additions and 10 deletions

View File

@ -20,8 +20,8 @@ class LoRA(nn.Module):
def apply_lora(model, rank=16): def apply_lora(model, rank=16):
for name, module in model.named_modules(): for name, module in model.named_modules():
if isinstance(module, nn.Linear) and module.weight.shape[0] == module.weight.shape[1]: if isinstance(module, nn.Linear) and module.in_features == module.out_features:
lora = LoRA(module.weight.shape[0], module.weight.shape[1], rank=rank).to(model.device) lora = LoRA(module.in_features, module.out_features, rank=rank).to(model.device)
setattr(module, "lora", lora) setattr(module, "lora", lora)
original_forward = module.forward original_forward = module.forward

View File

@ -487,4 +487,6 @@ if __name__ == "__main__":
else: else:
rl_train_epoch(epoch, loader, len(loader), rollout_engine, ref_model, reward_model, 0, wandb, use_sglang = (args.rollout_engine == "sglang")) rl_train_epoch(epoch, loader, len(loader), rollout_engine, ref_model, reward_model, 0, wandb, use_sglang = (args.rollout_engine == "sglang"))
if dist.is_initialized(): dist.destroy_process_group() if dist.is_initialized():
dist.barrier()
dist.destroy_process_group()

View File

@ -243,4 +243,6 @@ if __name__ == "__main__":
train_epoch(epoch, loader, len(loader), teacher_model, lm_config_student, 0, wandb, args.alpha, args.temperature) train_epoch(epoch, loader, len(loader), teacher_model, lm_config_student, 0, wandb, args.alpha, args.temperature)
# ========== 9. 清理分布进程 ========== # ========== 9. 清理分布进程 ==========
if dist.is_initialized(): dist.destroy_process_group() if dist.is_initialized():
dist.barrier()
dist.destroy_process_group()

View File

@ -223,4 +223,6 @@ if __name__ == "__main__":
train_epoch(epoch, loader, len(loader), ref_model, lm_config, 0, wandb, args.beta) train_epoch(epoch, loader, len(loader), ref_model, lm_config, 0, wandb, args.beta)
# ========== 9. 清理分布进程 ========== # ========== 9. 清理分布进程 ==========
if dist.is_initialized(): dist.destroy_process_group() if dist.is_initialized():
dist.barrier()
dist.destroy_process_group()

View File

@ -168,4 +168,6 @@ if __name__ == "__main__":
train_epoch(epoch, loader, len(loader), 0, wandb) train_epoch(epoch, loader, len(loader), 0, wandb)
# ========== 9. 清理分布进程 ========== # ========== 9. 清理分布进程 ==========
if dist.is_initialized(): dist.destroy_process_group() if dist.is_initialized():
dist.barrier()
dist.destroy_process_group()

View File

@ -329,4 +329,6 @@ if __name__ == "__main__":
grpo_train_epoch(epoch, loader, len(loader), rollout_engine, ref_model, reward_model, 0, wandb, use_sglang = (args.rollout_engine == "sglang")) grpo_train_epoch(epoch, loader, len(loader), rollout_engine, ref_model, reward_model, 0, wandb, use_sglang = (args.rollout_engine == "sglang"))
# ========== 9. 清理分布进程 ========== # ========== 9. 清理分布进程 ==========
if dist.is_initialized(): dist.destroy_process_group() if dist.is_initialized():
dist.barrier()
dist.destroy_process_group()

View File

@ -181,4 +181,6 @@ if __name__ == "__main__":
train_epoch(epoch, loader, len(loader), lora_params, 0, wandb) train_epoch(epoch, loader, len(loader), lora_params, 0, wandb)
# ========== 10. 清理分布进程 ========== # ========== 10. 清理分布进程 ==========
if dist.is_initialized(): dist.destroy_process_group() if dist.is_initialized():
dist.barrier()
dist.destroy_process_group()

View File

@ -432,4 +432,6 @@ if __name__ == "__main__":
ppo_train_epoch(epoch, loader, len(loader), rollout_engine, ref_model, actor_scheduler, critic_scheduler, reward_model, 0, wandb, use_sglang = (args.rollout_engine == "sglang")) ppo_train_epoch(epoch, loader, len(loader), rollout_engine, ref_model, actor_scheduler, critic_scheduler, reward_model, 0, wandb, use_sglang = (args.rollout_engine == "sglang"))
# ========== 9. 清理分布进程 ========== # ========== 9. 清理分布进程 ==========
if dist.is_initialized(): dist.destroy_process_group() if dist.is_initialized():
dist.barrier()
dist.destroy_process_group()

View File

@ -167,4 +167,6 @@ if __name__ == "__main__":
train_epoch(epoch, loader, len(loader), 0, wandb) train_epoch(epoch, loader, len(loader), 0, wandb)
# ========== 9. 清理分布进程 ========== # ========== 9. 清理分布进程 ==========
if dist.is_initialized(): dist.destroy_process_group() if dist.is_initialized():
dist.barrier()
dist.destroy_process_group()