magic alpha!

This commit is contained in:
51616 2025-09-03 17:43:44 +09:00
parent de057cdc30
commit 563ecf4273
2 changed files with 3 additions and 4 deletions

View file

@ -174,7 +174,7 @@ def get_lora_config(model_dir, **kwargs):
base_model_name_or_path=model_dir,
task_type="CAUSAL_LM",
lora_dropout=kwargs.get("lora_dropout", 0.0),
lora_alpha=1, # 2 / r**0.5,
lora_alpha=r ** (3 / 2) * 2, # 1, # 2 / r**0.5,
)
peft_conf_kwargs.update(kwargs)

View file

@ -650,9 +650,8 @@ class HyperLoRA(nn.Module):
flat_loras = None
if self.target_modules:
lora_emb = self.layers(lora_emb)
d = lora_emb.shape[-1]
norm = torch.norm(lora_emb, dim=-1, keepdim=True)
norm_lora_emb = lora_emb / norm * sqrt(d) # is this too big??
norm_lora_emb = lora_emb / norm
flat_loras = self.head(norm_lora_emb)
flat_layernorms = None
@ -801,7 +800,7 @@ class ModulatedPretrainedModel(nn.Module):
nn.init.normal_(
self.hypernet.head.weight,
mean=0,
std=1
std=0.5
/ sqrt(self.hypernet.config.latent_size + self.hypernet.d_lora * r),
# the head outputs per rank lora --> divide by r to scale down grad
)