{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2604-04420","title":"Is Prompt Selection Necessary for Task-Free Online Continual Learning?","arxiv_id":"2604.04420","date":"2026-04-06","proceeding":null,"authors":["Seoyoung Park","Haemin Lee","Hankook Lee"],"abstract":"Task-free online continual learning has recently emerged as a realistic paradigm for addressing continual learning in dynamic, real-world environments, where data arrive in a non-stationary stream without clear task boundaries and can only be observed once. To consider such challenging scenarios, many recent approaches have employed prompt selection, an adaptive strategy that selects prompts from a pool based on input signals. However, we observe that such selection strategies often fail to select appropriate prompts, yielding suboptimal results despite additional training of key parameters. Motivated by this observation, we propose a simple yet effective SinglePrompt that eliminates the need for prompt selection and focuses on classifier optimization. Specifically, we simply (i) inject a single prompt into each self-attention block, (ii) employ a cosine similarity-based logit design to alleviate the forgetting effect inherent in the classifier weights, and (iii) mask logits for unexposed classes in the current minibatch. With this simple task-free design, our framework achieves state-of-the-art performance across various online continual learning benchmarks. Source code is available at https://github.com/efficient-learning-lab/SinglePrompt.","url_abs":"https://arxiv.org/abs/2604.04420","url_pdf":"https://arxiv.org/pdf/2604.04420","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2604.04420","atlas_url":"https://app.syntology.ai/?focus=2604.04420","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2604.04420"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/efficient-learning-lab/SinglePrompt","reach":null}],"summary":{"ran":4,"ran_draft_wrong":1,"ran_fixture":1,"unverified":5},"by_repo_kind":{"found_in_text":{"samples":11,"ran":6,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"5fef41eb93946fd9","entry":"Attention","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5fef41eb93946fd9"}},{"code_sha256_prefix":"9b15f0ec8365d3fe","entry":"Block","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9b15f0ec8365d3fe"}},{"code_sha256_prefix":"53f7f1cd1032ac80","entry":"LayerScale","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"53f7f1cd1032ac80"}},{"code_sha256_prefix":"a6018b1284d2e3e4","entry":"PreAttention","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a6018b1284d2e3e4"}},{"code_sha256_prefix":"f27dd436fd97776e","entry":"get_init_weights_vit","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f27dd436fd97776e"}},{"code_sha256_prefix":"7b29cc3bb5b821c7","entry":"resize_pos_embed","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7b29cc3bb5b821c7"}},{"code_sha256_prefix":"f932b2c858d5f3dc","entry":"SinglePromptViT","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f932b2c858d5f3dc"}},{"code_sha256_prefix":"323ef35022abc876","entry":"_load_weights","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"323ef35022abc876"}},{"code_sha256_prefix":"b60a21c3efaab10f","entry":"init_weights_vit_jax","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b60a21c3efaab10f"}},{"code_sha256_prefix":"9955e1faba88ccc1","entry":"init_weights_vit_moco","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9955e1faba88ccc1"}},{"code_sha256_prefix":"a6c021ba2c2d56e3","entry":"init_weights_vit_timm","repo":"efficient-learning-lab/SinglePrompt","repo_kind":"found_in_text","path":"models/singlePrompt.py","file_url":"https://github.com/efficient-learning-lab/SinglePrompt/blob/HEAD/models/singlePrompt.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a6c021ba2c2d56e3"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}