{
  "schema_version": 1,
  "builder_plan": {
    "scenario": "A self-hosted model uses more compute or memory than your workload can justify.",
    "change": "Check for a usable pruned checkpoint and runtime support before attempting model surgery.",
    "baseline": "The original unpruned model at the same precision, context, and load.",
    "steps": [
      "Locate the paper's implementation and check its license, model support, data needs, and hardware requirements. Stop here if you cannot obtain the required artifacts.",
      "Save a small set of representative product tasks and expected outcomes. Keep evaluation tasks out of any training or tuning, and choose quality and cost limits before running.",
      "Run the baseline and the proposed change on identical inputs. Keep other settings fixed and repeat paired runs to expose variation.",
      "Save per-task outputs, failures, timings, and all usage costs. Review regressions before expanding the test."
    ],
    "measure": "Task quality, actual GPU memory, serving throughput, and preparation cost.",
    "decision": "Keep the change only if it meets your preselected quality and latency limits and improves the metric you care about after setup and operating costs. Otherwise retain the baseline. This is an exploration plan, not a validated recommendation."
  },
  "builder_review": null,
  "arxiv_id": "2609.17026",
  "title": "CLARE: Scalable Class-Incremental Continual Learning via a Sparsity-Based Framework",
  "summary": "CLARE replaces full sequential fine-tuning and prompt/expanding-adapter continual-learning baselines with a two-stage procedure: identify a sparse task-critical parameter mask via a sparsity-inducing objective, then fine-tune only the masked parameters so all tasks share one adapter space. It costs an additional mask-identification training stage per task, extra mask bookkeeping, and hyperparameter tuning of sparsity levels, while remaining trainable on a single GPU since it only fine-tunes a pretrained backbone. It can fail if the sparsity objective selects poor masks for heterogeneous task distributions, if the shared adapter saturates on very long task sequences beyond the validated 100-task regime, or if the deployment problem is not class-incremental learning at all.",
  "rationale": "The method is infrastructure-feasible on one 24 GB GPU and directly relevant if the reader maintains models that must absorb sequential task updates, but the gain is benchmark-specific accuracy on class-incremental classification and requires validation on the reader's actual task stream before production adoption.",
  "technique": "Sparse mask-constrained adapters for class-incremental continual learning",
  "family": "esparsidade_e_poda",
  "recommendation": "testar",
  "published": "2026-09-15",
  "as_of": "2026-10-18",
  "editorial_status": "indexed",
  "source_url": "https://arxiv.org/abs/2609.17026",
  "independent_implementations": 0,
  "total_implementations": 0,
  "stars": 0,
  "citations": 0,
  "claims": [
    {
      "claim_id": "claim-01",
      "statement": "CLARE replaces full sequential fine-tuning and prompt/expanding-adapter continual-learning baselines with a two-stage procedure: identify a sparse task-critical parameter mask via a sparsity-inducing objective, then fine-tune only the masked parameters so all tasks share one adapter space. It costs an additional mask-identification training stage per task, extra mask bookkeeping, and hyperparameter tuning of sparsity levels, while remaining trainable on a single GPU since it only fine-tunes a pretrained backbone. It can fail if the sparsity objective selects poor masks for heterogeneous task distributions, if the shared adapter saturates on very long task sequences beyond the validated 100-task regime, or if the deployment problem is not class-incremental learning at all.",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.17026",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "claim_id": "claim-02",
      "statement": "On Omnibenchmark-1k (100 tasks), CLARE improves final accuracy over EASE by 4.64 and 13.34 percentage points (two configurations reported).",
      "basis": "inferred",
      "result": "",
      "baseline": "",
      "conditions": "",
      "source_url": "https://arxiv.org/abs/2609.17026",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "exposure_map": [
    {
      "dimension": "quality",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compute",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "latency",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "operations",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "compatibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "security",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "data_and_training",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    },
    {
      "dimension": "reproducibility",
      "basis": "not_evaluated",
      "finding": "",
      "interpretation": "",
      "limitation": "",
      "next_check": "",
      "source_url": "",
      "source_page": null,
      "source_excerpt": ""
    }
  ],
  "risks": [],
  "minimum_test": [],
  "open_questions": [],
  "independent_tests": [],
  "lab_reproductions": [],
  "report_available": false,
  "validation_tier": "unknown",
  "evidence_tier": "unknown",
  "infrastructure_basis": "unknown",
  "equations": [
    {
      "anchor": "S3.E4",
      "label": "(4)",
      "section": "3 Method",
      "role": "proposed_method",
      "latex": "\\min_{\\alpha}\\;\\mathbb{E}_{(x,y)\\sim\\mathcal{D}_{t}}\\left[\\ell\\left(f(x;\\theta_{0},\\alpha,\\phi_{t}),y\\right)\\right]+\\lambda\\left\\|P_{\\mathcal{A}_{t}}(\\alpha-\\alpha_{0})\\right\\|_{1},",
      "mathml": "<math display=\"block\"><mrow><mrow><mrow><mrow><munder><mi>min</mi><mi>α</mi></munder><mo lspace=\"0.447em\">⁡</mo><msub><mi>𝔼</mi><mrow><mrow><mo stretchy=\"false\">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy=\"false\">)</mo></mrow><mo>∼</mo><msub><mi>𝒟</mi><mi>t</mi></msub></mrow></msub></mrow><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo>[</mo><mrow><mi mathvariant=\"normal\">ℓ</mi><mo>⁡</mo><mrow><mo>(</mo><mrow><mi>f</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mi>x</mi><mo>,</mo><msub><mi>θ</mi><mn>0</mn></msub><mo>,</mo><mi>α</mi><mo>,</mo><msub><mi>ϕ</mi><mi>t</mi></msub><mo stretchy=\"false\">)</mo></mrow></mrow><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mrow><mo>+</mo><mrow><mi>λ</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mrow><mo>‖</mo><mrow><msub><mi>P</mi><msub><mi>𝒜</mi><mi>t</mi></msub></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo stretchy=\"false\">(</mo><mrow><mi>α</mi><mo>−</mo><msub><mi>α</mi><mn>0</mn></msub></mrow><mo stretchy=\"false\">)</mo></mrow></mrow><mo>‖</mo></mrow><mn>1</mn></msub></mrow></mrow><mo>,</mo></mrow></math>",
      "context": "Stage 1: <math display=\"inline\"><msub><mi>L</mi><mn>1</mn></msub></math>-induced mask discovery. For task <math display=\"inline\"><mi>t</mi></math>, the first stage decides which available adapter coordinates should be assigned to the current task. CLARE starts from the current shared adapter and updates only the coordinates in <math display=\"inline\"><msub><mi>𝒜</mi><mi>t</mi></msub></math> for a few epochs using the current task data. The objective is",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S3.E9",
      "label": "(9)",
      "section": "3 Method",
      "role": "proposed_method",
      "latex": "\\min_{\\alpha_{t},\\phi_{t}}\\;\\mathbb{E}_{(x,y)\\sim\\mathcal{D}_{t}}\\left[\\ell_{\\mathrm{cls}}\\left(f(x;\\theta_{0},\\alpha_{t},\\phi_{t}),y\\right)\\right], \\\\ \\nabla_{\\alpha_{t}^{(j)}}=0\\quad\\text{if }j\\notin\\Omega_{t}.",
      "mathml": "<math display=\"block\"><mrow><mrow><mrow><munder><mi>min</mi><mrow><msub><mi>α</mi><mi>t</mi></msub><mo>,</mo><msub><mi>ϕ</mi><mi>t</mi></msub></mrow></munder><mo lspace=\"0.447em\">⁡</mo><msub><mi>𝔼</mi><mrow><mrow><mo stretchy=\"false\">(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo stretchy=\"false\">)</mo></mrow><mo>∼</mo><msub><mi>𝒟</mi><mi>t</mi></msub></mrow></msub></mrow><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo>[</mo><mrow><msub><mi mathvariant=\"normal\">ℓ</mi><mi>cls</mi></msub><mo lspace=\"0em\" rspace=\"0em\">​</mo><mrow><mo>(</mo><mrow><mi>f</mi><mo>⁡</mo><mrow><mo stretchy=\"false\">(</mo><mi>x</mi><mo>,</mo><msub><mi>θ</mi><mn>0</mn></msub><mo>,</mo><msub><mi>α</mi><mi>t</mi></msub><mo>,</mo><msub><mi>ϕ</mi><mi>t</mi></msub><mo stretchy=\"false\">)</mo></mrow></mrow><mo>,</mo><mi>y</mi><mo>)</mo></mrow></mrow><mo>]</mo></mrow></mrow><mo>,</mo></mrow></math><math display=\"block\"><mrow><mrow><mrow><msub><mo>∇</mo><msubsup><mi>α</mi><mi>t</mi><mrow><mo stretchy=\"false\">(</mo><mi>j</mi><mo stretchy=\"false\">)</mo></mrow></msubsup></msub><mo>=</mo><mn>0</mn></mrow><mspace width=\"1em\"></mspace><mrow><mrow><mtext>if </mtext><mo lspace=\"0em\" rspace=\"0em\">​</mo><mi>j</mi></mrow><mo>∉</mo><msub><mi mathvariant=\"normal\">Ω</mi><mi>t</mi></msub></mrow></mrow><mo lspace=\"0em\">.</mo></mrow></math>",
      "context": "Stage 2: mask-constrained learning. The adapter values obtained in Stage 1 are not used as the final task parameters. CLARE restores the adapter to the state used at the beginning of Stage 1: the initial adapter for the first task and the shared adapter learned so far for later tasks. It then learns task <math display=\"inline\"><mi>t</mi></math> while updating only the coordinates in <math display=\"inline\"><msub><mi mathvariant=\"normal\">Ω</mi><mi>t</mi></msub></math>. Equivalently, for any adapter coordinate <math display=\"inline\"><mi>j</mi></math> not selected in Stage 1, CLARE sets the gradient of <math display=\"inline\"><msubsup><mi>α</mi><mi>t</mi><mrow><mo stretchy=\"false\">(</mo><mi>j</mi><mo stretchy=\"false\">)</mo></mrow></msubsup></math> to zero before each optimizer step:",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    },
    {
      "anchor": "S3.E2",
      "label": "(2)",
      "section": "3 Method",
      "role": "complexity",
      "latex": "F_{t+1}\\approx\\rho F_{t},\\qquad F_{t}\\approx\\rho^{t-1}N.",
      "mathml": "<math display=\"block\"><mrow><mrow><mrow><msub><mi>F</mi><mrow><mi>t</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>≈</mo><mrow><mi>ρ</mi><mo lspace=\"0em\" rspace=\"0em\">​</mo><msub><mi>F</mi><mi>t</mi></msub></mrow></mrow><mo rspace=\"2.167em\">,</mo><mrow><msub><mi>F</mi><mi>t</mi></msub><mo>≈</mo><mrow><msup><mi>ρ</mi><mrow><mi>t</mi><mo>−</mo><mn>1</mn></mrow></msup><mo lspace=\"0em\" rspace=\"0em\">​</mo><mi>N</mi></mrow></mrow></mrow><mo lspace=\"0em\">.</mo></mrow></math>",
      "context": "Importantly, since knowledge of all historical tasks are learned in <math display=\"inline\"><msub><mi mathvariant=\"normal\">Ω</mi><mrow><mphantom></mphantom><mo>&lt;</mo><mi>t</mi></mrow></msub></math>, we encourage <math display=\"inline\"><msub><mi mathvariant=\"normal\">Ω</mi><mi>t</mi></msub></math> to build on the accumulated adapter state from previous tasks and use minimal sparse updates for the new task <math display=\"inline\"><mi>t</mi></math>. Specifically, the percentage of <math display=\"inline\"><msub><mi>𝒜</mi><mi>t</mi></msub></math> that can be updated for task <math display=\"inline\"><mi>t</mi></math> (sparsity ratio) is set to a fixed value. For example, <math display=\"inline\"><mrow><mi>ρ</mi><mo>=</mo><mn>0.95</mn></mrow></math> means that task <math display=\"inline\"><mi>t</mi></math> only uses <math display=\"inline\"><mrow><mrow><mn>1</mn><mo>−</mo><mi>ρ</mi></mrow><mo>=</mo><mrow><mn>5</mn><mo>%</mo></mrow></mrow></math> of <math display=\"inline\"><msub><mi>𝒜</mi><mi>t</mi></msub></math> to learn, not <math display=\"inline\"><mrow><mn>5</mn><mo>%</mo></mrow></math> of the original adapter capacity for every task. If <math display=\"inline\"><mrow><msub><mi>F</mi><mi>t</mi></msub><mo>=</mo><mrow><mo stretchy=\"false\">|</mo><msub><mi>𝒜</mi><mi>t</mi></msub><mo stretchy=\"false\">|</mo></mrow></mrow></math> is the number of available coordinates before task <math display=\"inline\"><mi>t</mi></math>, then",
      "headline": "",
      "explanation": "",
      "objective": "",
      "symbols": {},
      "evidence": "",
      "evidence_url": "",
      "source_url": ""
    }
  ],
  "equations_status": "selected",
  "core_kind": "formula",
  "equations_fetched_at": "2026-10-17",
  "equations_source_url": "",
  "equations_source_sha256": "",
  "exposures_reviewed_at": "",
  "exposures_source_sha256": ""
}