Skip to content

Repository files navigation

SUrgery-and-Merge (SUM)

Official implementation of “SUM: Unified Geometric Surgery on Spatio-Temporal Adaptation Vectors for Federated Class-Incremental Learning”, accepted to ECCV 2026.

Jaeik Kim · Jaeyoung Do
IPAI & ECE, Seoul National University · AIDAS Lab

Project page · Paper

SUM ECCV 2026 poster

Overview

SUM treats spatial client drift and temporal task forgetting as directional interactions between adaptation vectors. It performs:

  • Spatial SUM across client updates within each communication round.
  • Temporal SUM across accumulated task updates.
  • Inference-ready module construction using a sparse unified direction and task-specific masks and scales.

The implementation is built on the latest Fed-Mammoth framework. SUM runs entirely on the server and requires no additional client optimization, communication, replay, or exemplar memory.

Installation

Python 3.10 or newer is recommended.

python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txt

Quick start

Run full-parameter SUM on CIFAR-100:

./scripts/run_sum.sh

Run the LoRA variant:

./scripts/run_sum_lora.sh

The scripts call main.py, default to CPU for portability, and accept environment-variable or CLI overrides:

DATASET=seq-clinc150 NETWORK=bert DEVICE=cuda:0 ./scripts/run_sum.sh
NETWORK=convnext DISTRIBUTION_ALPHA=0.1 ./scripts/run_sum.sh \
  --lr 0.00001 --tvs_scale_factor 0.4

Supported paper-relevant backbones include vit, vit_small, vit_large, vit_huge, convnext, resnet18, resnet50, t5, and bert. Language experiments support seq-20ng and seq-clinc150.

SUM defaults

Argument Default Meaning
lr 1e-5 Local learning rate
z_threshold 4.5 Spatial trimming threshold
tvs_scale_factor 0.4 Spatial client-vector scale
owner_k_pct 0.05 Temporal top-k sparsification ratio
tvs_projection_mode both Suppress positive and negative directional interactions
round_lr_gamma 0.4 Per-round learning-rate decay
emr_granularity global Inference-module mask granularity
use_head_regmean True Use the RegMean-style classifier-head merger

Dataset-specific hyperparameters reported in the paper can be supplied as CLI overrides. For example:

python main.py \
  --model sum \
  --dataset seq-cifar100 \
  --network vit \
  --batch_size 16 \
  --lr 0.00001 \
  --distribution_alpha 0.05 \
  --num_epochs 5 \
  --num_comm_rounds 5 \
  --num_clients 10 \
  --z_threshold 4.5 \
  --tvs_scale_factor 0.6 \
  --owner_k_pct 0.05

Inference-ready modules

During evaluation, the training loop detects SUM's task_modulators, applies the corresponding task-specific inference module, evaluates that task, and restores the global training model before continuing. Other Fed-Mammoth methods retain their original evaluation behavior.

When output saving is enabled, the accumulated inference state is written to:

  • sum_inference_modules.pt for full-parameter SUM.
  • sum_lora_inference_modules.pt for SUM-LoRA.

Implementation details

SUM uses sequential spatial projection with reference-based Z-score trimming, online temporal basis construction, the Elect-Sign rule, and RegMean-style classifier-head merging.

Tests

python -m pip install -r requirements-dev.txt
pytest -q

Acknowledgements

This repository incorporates the MIT-licensed Fed-Mammoth framework. Its original license and copyright notice are retained in LICENSE.

Citation

@article{kim2026sum,
  title   = {SUM: Unified Geometric Surgery on Spatio-Temporal Adaptation Vectors for Federated Class-Incremental Learning},
  author  = {Kim, Jaeik and Do, Jaeyoung},
  journal = {arXiv preprint arXiv:2607.19384},
  year    = {2026}
}

About

Official ECCV 2026 project page for SUM: Surgery & Merge in federated class-incremental learning

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages