Skip to main content
DARE (Drop And REscale) randomly sparsifies task vectors and rescales the remaining values to preserve expected magnitude. This page defines the math used by the TensorEngine.

Formula

Given a task vector tau and drop probability p in [0, 1):

Expected Value

The expected value of tau_dare equals the original tau:
This is the key property: DARE preserves the expected task vector while reducing density.

Parameters

p = 0 is a no-op (no parameters dropped). p approaching 1 drops almost all parameters and amplifies noise from rescaling.

Application Per Task Vector

DARE is applied independently to each task vector before merging:

Combining with TIES

DARE and TIES can be combined: first trim by magnitude (TIES step 1), then apply DARE sparsification to the trimmed vectors, then elect sign and disjoint merge.
See TIES Math for trim and disjoint merge definitions.

Failure Modes

Numerical Stability

Rescaling by 1 / (1 - p) amplifies any remaining noise. For p > 0.9, the amplification factor exceeds 10 and may cause overflow in fp16. Compute in fp32 and cast to target dtype after rescaling.