{"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-2509-26404","title":"SeedPrints: Fingerprints Can Even Tell Which Seed Your Large Language Model Was Trained From","arxiv_id":"2509.26404","date":"2025-09-30","proceeding":"ICLR","authors":["Yao Tong","Haonan Wang","Siquan Li","Kenji Kawaguchi","Tianyang Hu"],"abstract":"Fingerprinting Large Language Models (LLMs)is essential for provenance verification and model attribution. Existing fingerprinting methods are primarily evaluated after fine-tuning, where models have already acquired stable signatures from training data, optimization dynamics, or hyperparameters. However, most of a model's capacity and knowledge are acquired during pretraining rather than downstream fine-tuning, making large-scale pretraining a more fundamental regime for lineage verification. We show that existing fingerprinting methods become unreliable in this regime, as they rely on post-hoc signatures that only emerge after substantial training. This limitation contradicts the classical Galton notion of a fingerprint as an intrinsic and persistent identity. In contrast, we propose a stronger and more intrinsic notion of LLM fingerprinting: SeedPrints, a method that leverages random initialization biases as persistent, seed-dependent identifiers present even before training begins. We show that untrained models exhibit reproducible prediction biases induced by their initialization seed, and that these weak signals remain statistically detectable throughout training, enabling high-confidence lineage verification. Unlike prior techniques that fail during early pretraining or degrade under distribution shifts, SeedPrints remains effective across all training stages, from initialization to large-scale pretraining and downstream adaptation. Experiments on LLaMA-style and Qwen-style models demonstrate seed-level distinguishability and enable birth-to-lifecycle identity verification. Evaluations on large-scale pretraining trajectories and real-world fingerprinting benchmarks further confirm its robustness under prolonged training, domain shifts, and parameter modifications.","url_abs":"https://arxiv.org/abs/2509.26404","url_pdf":"https://arxiv.org/pdf/2509.26404","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=2509.26404","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2509.26404"}},"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/YnezT0311/SeedPrints","reach":null}],"summary":{"ran_draft_wrong":6,"ran_honours":2,"ran_fixture":2},"by_repo_kind":{"found_in_text":{"samples":10,"ran":10,"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":10,"samples":[{"code_sha256_prefix":"2edae1af71346b79","entry":"_gen_baseline_full_pipeline","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2edae1af71346b79"}},{"code_sha256_prefix":"0ac1c7c6c94a1c53","entry":"_gen_baseline_simplified","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0ac1c7c6c94a1c53"}},{"code_sha256_prefix":"a2d3db000433dc4a","entry":"_kendall_tau_null_std","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a2d3db000433dc4a"}},{"code_sha256_prefix":"4e09d4353b8ded62","entry":"_kendalltau_column","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4e09d4353b8ded62"}},{"code_sha256_prefix":"6727da07b3d06a4e","entry":"compute_per_dim_correlation","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6727da07b3d06a4e"}},{"code_sha256_prefix":"167b115ea96c3706","entry":"get_co_positions","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"167b115ea96c3706"}},{"code_sha256_prefix":"6279d78c9f57f65c","entry":"get_identity_indices","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"6279d78c9f57f65c"}},{"code_sha256_prefix":"0e08cca6025cd61e","entry":"get_null_params","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0e08cca6025cd61e"}},{"code_sha256_prefix":"4caeaca5a2027fa2","entry":"normalize_features","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"4caeaca5a2027fa2"}},{"code_sha256_prefix":"47feeb169b931d7d","entry":"run_test","repo":"YnezT0311/SeedPrints","repo_kind":"found_in_text","path":"seedprint.py","file_url":"https://github.com/YnezT0311/SeedPrints/blob/HEAD/seedprint.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"47feeb169b931d7d"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CR","source":"arxiv_api"},"syntology_extracted_results":null}