Overview
TIES operates on task vectors tau_i = theta_ft_i - theta_pre. The three steps are:- Trim: Keep only the top-d fraction of parameters by magnitude in each task vector.
- Elect Sign: Resolve sign conflicts across task vectors by majority vote.
- Disjoint Merge: Merge only parameters that agree with the elected sign.
Step 1: Trim by Magnitude
Given a task vector tau and density parameter d in (0, 1]:
Parameters with magnitude below the d-th percentile are zeroed out.
Step 2: Elect Sign
Given N trimmed task vectors tau_trimmed_i, elect a sign for each parameter position j:
If the sum is exactly zero, the elected sign is 0 and the parameter is excluded from merging.
Step 3: Disjoint Merge
Merge only parameters where the elected sign matches the task vector’s sign:Rescaling
After disjoint merge, the magnitude of tau_merged may differ from the average magnitude of the source task vectors. Rescaling is optional and controlled by a config flag:Parameters
Failure Modes
Cross-Links
- Merge Math for shared notation and task vector definitions.
- Merge Strategies for when TIES is selected.
- DARE Math for combining TIES with DARE sparsification.
- Tensor Operations for the TensorEngine implementation.