{"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-2602-09987","title":"Infusion: Shaping Model Behavior by Editing Training Data via Influence Functions","arxiv_id":"2602.09987","date":"2026-02-10","proceeding":"ICLR","authors":["J Rosser","Robert Kirk","Edward Grefenstette","Jakob Foerster","Laura Ruis"],"abstract":"Influence functions are commonly used to attribute model behavior to training documents. We explore the reverse: crafting training data that induces model behavior. Our framework, Infusion, uses scalable influence-function approximations to compute small perturbations to training documents that induce targeted changes in model behavior through parameter shifts. We evaluate Infusion on data poisoning tasks across vision and language domains. On CIFAR-10, we show that making subtle edits via Infusion to just 0.2% (100/45,000) of the training documents can be competitive with the baseline of inserting a small number of explicit behavior examples. We also find that Infusion transfers across architectures (ResNet $\\leftrightarrow$ CNN), suggesting a single poisoned corpus can affect multiple independently trained models. In preliminary language experiments, we characterize when our approach increases the probability of target behaviors and when it fails, finding it most effective at amplifying behaviors the model has already learned. Taken together, these results show that small, subtle edits to training data can systematically shape model behavior, underscoring the importance of training data interpretability for adversaries and defenders alike. We provide the code here: https://github.com/jrosseruk/infusion.","url_abs":"https://arxiv.org/abs/2602.09987","url_pdf":"https://arxiv.org/pdf/2602.09987","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":{"atlas_url":"https://app.syntology.ai/?focus=2602.09987","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2602.09987"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/jrosseruk/infusion","reach":null}],"summary":{"unverified":13},"by_repo_kind":{"found_in_text":{"samples":13,"ran":0,"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":13,"samples":[{"code_sha256_prefix":"72727ffcecbe5ef8","entry":"checkpoints_exist","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"caesar_prime/train_model.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/caesar_prime/train_model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"72727ffcecbe5ef8"}},{"code_sha256_prefix":"430e1afa951dc987","entry":"compute_baseline_contrastive","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"caesar_prime/run_infusion_experiment.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/caesar_prime/run_infusion_experiment.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"430e1afa951dc987"}},{"code_sha256_prefix":"4edd5e3ab7157b26","entry":"estimate_loss","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"gpt_neo/run_animal_infusion.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/gpt_neo/run_animal_infusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4edd5e3ab7157b26"}},{"code_sha256_prefix":"24da333b411655ff","entry":"get_bnb_config","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"owl/model.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/owl/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"24da333b411655ff"}},{"code_sha256_prefix":"305ee0e1a72d572e","entry":"get_checkpoint_dir","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"caesar_prime/train_model.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/caesar_prime/train_model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"305ee0e1a72d572e"}},{"code_sha256_prefix":"c501a194e511cddf","entry":"get_dataloader","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"infusion/dataloader.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/infusion/dataloader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c501a194e511cddf"}},{"code_sha256_prefix":"d3ff33faab8bb2b3","entry":"load_checkpoint_data","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"gpt_neo/run_animal_infusion.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/gpt_neo/run_animal_infusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d3ff33faab8bb2b3"}},{"code_sha256_prefix":"fafa0f0eaa20cda2","entry":"load_dataset","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"caesar/dataset.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/caesar/dataset.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fafa0f0eaa20cda2"}},{"code_sha256_prefix":"fe0e46d1f36bb204","entry":"load_llama2_base","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"owl/model.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/owl/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fe0e46d1f36bb204"}},{"code_sha256_prefix":"f6fff85fd1b06ee4","entry":"load_model_for_inference","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"gpt_neo/run_animal_infusion.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/gpt_neo/run_animal_infusion.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f6fff85fd1b06ee4"}},{"code_sha256_prefix":"b2de257b6a4f5031","entry":"make_pad_collate_fn","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"caesar_prime/run_infusion_experiment.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/caesar_prime/run_infusion_experiment.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b2de257b6a4f5031"}},{"code_sha256_prefix":"315b2dce5e4ee0bf","entry":"observable_gradient","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"infusion/observable.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/infusion/observable.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"315b2dce5e4ee0bf"}},{"code_sha256_prefix":"b0b3a15939c84309","entry":"pad_sequences","repo":"jrosseruk/infusion","repo_kind":"found_in_text","path":"caesar_prime/run_infusion_experiment.py","file_url":"https://github.com/jrosseruk/infusion/blob/HEAD/caesar_prime/run_infusion_experiment.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b0b3a15939c84309"}}]},"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}