18. Merging Adapters

Chapter 18 of 24 · 20 min
EXERCISE

: Validate Merge Correctness

Compare outputs before and after merging to ensure no degradation:

def validate_merge(original_model, merged_model, test_inputs, tokenizer):
    """Verify merged model produces identical outputs."""
    original_model.eval()
    merged_model.eval()
    
    max_diff = 0
    for test_input in test_inputs:
        inputs = tokenizer(test_input, return_tensors="pt").to("cuda")
        
        with torch.no_grad():
            orig_output = original_model(**inputs).logits[0, -1]
            merged_output = merged_model(**inputs).logits[0, -1]
        
        diff = (orig_output - merged_output).abs().max().item()
        max_diff = max(max_diff, diff)
    
    print(f"Maximum logit difference: {max_diff:.6f}")
    assert max_diff < 1e-3, "Merge introduced significant deviation"