{"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/spectral-adapter-fine-tuning-in-spectral","title":"Spectral Adapter: Fine-Tuning in Spectral Space","arxiv_id":"2405.13952","date":"2024-05-22","proceeding":null,"authors":["Fangzhao Zhang","Mert Pilanci"],"abstract":"Recent developments in Parameter-Efficient Fine-Tuning (PEFT) methods for pretrained deep neural networks have captured widespread interest. In this work, we study the enhancement of current PEFT methods by incorporating the spectral information of pretrained weight matrices into the fine-tuning procedure. We investigate two spectral adaptation mechanisms, namely additive tuning and orthogonal rotation of the top singular vectors, both are done via first carrying out Singular Value Decomposition (SVD) of pretrained weights and then fine-tuning the top spectral space. We provide a theoretical analysis of spectral fine-tuning and show that our approach improves the rank capacity of low-rank adapters given a fixed trainable parameter budget. We show through extensive experiments that the proposed fine-tuning model enables better parameter efficiency and tuning performance as well as benefits multi-adapter fusion.","url_abs":"https://arxiv.org/abs/2405.13952v2","url_pdf":"https://arxiv.org/pdf/2405.13952v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"spectral-adapter-fine-tuning-in-spectral","repo_url":"https://github.com/pilancilab/spectral_adapter","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"parameter-efficient-fine-tuning","task_name":"parameter-efficient fine-tuning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2405.13952","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.13952"}},"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":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/pilancilab/spectral_adapter","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":4,"unverified":6},"by_repo_kind":{"official":{"samples":12,"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":"8dd9f992f25737d0","entry":"bind_concept_prompt","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/mixofshow/pipelines/pipeline_edlora.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/mixofshow/pipelines/pipeline_edlora.py","link_basis":"plan_row","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8dd9f992f25737d0"}},{"code_sha256_prefix":"a4f1d0bdc88a4543","entry":"chunk_compute_mse","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/spectral_fusion.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/spectral_fusion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a4f1d0bdc88a4543"}},{"code_sha256_prefix":"f37261b79083dbeb","entry":"load_new_concept","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/mixofshow/utils/convert_edlora_to_diffusers.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/mixofshow/utils/convert_edlora_to_diffusers.py","link_basis":"plan_row","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":"f37261b79083dbeb"}},{"code_sha256_prefix":"227f625068c9b457","entry":"prepare_text","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/regionally_controlable_sampling.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/regionally_controlable_sampling.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"227f625068c9b457"}},{"code_sha256_prefix":"6699803f1989c618","entry":"sample_image","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/regionally_controlable_sampling.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/regionally_controlable_sampling.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6699803f1989c618"}},{"code_sha256_prefix":"c41cf9c5f2ce087a","entry":"update_quasi_newton","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/spectral_fusion.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/spectral_fusion.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c41cf9c5f2ce087a"}},{"code_sha256_prefix":"19b18f2d94a9de5b","entry":"convert_edlora","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/mixofshow/utils/convert_edlora_to_diffusers.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/mixofshow/utils/convert_edlora_to_diffusers.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":"19b18f2d94a9de5b"}},{"code_sha256_prefix":"37149872c19db912","entry":"merge_spectral_into_weight","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/spectral_fusion.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/spectral_fusion.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":"37149872c19db912"}},{"code_sha256_prefix":"07093af0abab1071","entry":"merge_spectralpart_into_weight","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/mixofshow/utils/convert_edlora_to_diffusers.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/mixofshow/utils/convert_edlora_to_diffusers.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":"07093af0abab1071"}},{"code_sha256_prefix":"1a139b8d8a9acd03","entry":"revise_edlora_unet_attention_controller_forward","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/mixofshow/models/edlora.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/mixofshow/models/edlora.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":"1a139b8d8a9acd03"}},{"code_sha256_prefix":"f8741ceac3b6747e","entry":"revise_edlora_unet_attention_forward","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/mixofshow/models/edlora.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/mixofshow/models/edlora.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":"f8741ceac3b6747e"}},{"code_sha256_prefix":"c344424fb37826d9","entry":"revise_regionally_t2iadapter_attention_forward","repo":"pilancilab/spectral_adapter","repo_kind":"official","path":"adapter_fusion/spectral/mixofshow/pipelines/pipeline_regionally_t2iadapter.py","file_url":"https://github.com/pilancilab/spectral_adapter/blob/HEAD/adapter_fusion/spectral/mixofshow/pipelines/pipeline_regionally_t2iadapter.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":"c344424fb37826d9"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}