{"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/gift-generative-interpretable-fine-tuning","title":"Generative Parameter-Efficient Fine-Tuning","arxiv_id":"2312.00700","date":"2023-12-01","proceeding":null,"authors":["Chinmay Savadikar","Xi Song","Tianfu Wu"],"abstract":"We present Generative Parameter-Efficient Fine-Tuning (GIFT) for adapting pretrained Transformer backbones on downstream tasks. GIFT learns to generate the fine-tuned weights for a layer directly from its pretrained weights. The GIFT network is parameterized in a minimally-simple way by two linear layers (without bias terms), and is shared by different pretrained layers selected for fine-tuning (e.g., the Query layers), which result in significantly fewer trainable parameters compared to the layer-specific methods like Low-Rank Adapter (LoRA). We also show this formulation bridges parameter-efficient fine-tuning and representation fine-tuning. We perform comprehensive experiments on natural language tasks (commonsense and arithmetic reasoning, instruction tuning, and sequence classification) and computer vision tasks (fine-grained classification). We obtain the best performance and parameter efficiency among baselines on commonsense and arithmetic reasoning, and instruction following using the Llama family of models and on visual recognition benchmarks using Vision Transformers. Notably, compared to LoRA, we obtain 5.7% absolute increase in average accuracy with 14 times reduction of parameters on Commonsense170k using Llama-3 (8B), and 5.4% absolute increase in the win rate with 4 times reduction of parameters using Llama-2 (7B) during instruction tuning. Our GIFT also obtains a slightly higher win rate on instruction tuning than GPT 3.5 (Turbo 1106).","url_abs":"https://arxiv.org/abs/2312.00700v4","url_pdf":"https://arxiv.org/pdf/2312.00700v4.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":"gift-generative-interpretable-fine-tuning","repo_url":"https://github.com/savadikarc/gift","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"arithmetic-reasoning","task_name":"Arithmetic Reasoning"},{"task_slug":"fine-grained-image-classification","task_name":"Fine-Grained Image Classification"},{"task_slug":"instruction-following","task_name":"Instruction Following"},{"task_slug":"semantic-segmentation","task_name":"Semantic Segmentation"},{"task_slug":"parameter-efficient-fine-tuning","task_name":"parameter-efficient fine-tuning"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"adapter","method_name":"Adapter"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"attention-dropout","method_name":"Attention Dropout"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"cosine-annealing","method_name":"Cosine Annealing"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"discriminative-fine-tuning","method_name":"Discriminative Fine-Tuning"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"gpt","method_name":"GPT"},{"method_slug":"llama","method_name":"LLaMA"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"linear-warmup-with-cosine-annealing","method_name":"Linear Warmup With Cosine Annealing"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"},{"method_slug":"vision-transformer","method_name":"Vision Transformer"},{"method_slug":"weight-decay","method_name":"Weight Decay"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2312.00700","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.00700"}},"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/savadikarc/gift","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"unverified":11},"by_repo_kind":{"official":{"samples":16,"ran":5,"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":"9221df7ba44d3b36","entry":"extract_num","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/eval_gsm8k.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/eval_gsm8k.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9221df7ba44d3b36"}},{"code_sha256_prefix":"4ce9d0bdc3c04522","entry":"find_hidden_state_size","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/run_exp.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/run_exp.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":"4ce9d0bdc3c04522"}},{"code_sha256_prefix":"dec15cc75848a98e","entry":"format_example","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/eval_mmlu.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/eval_mmlu.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":"dec15cc75848a98e"}},{"code_sha256_prefix":"793a8b6496415457","entry":"format_subject","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/eval_mmlu.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/eval_mmlu.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"793a8b6496415457"}},{"code_sha256_prefix":"04fd5045fce0c33a","entry":"gen_prompt","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/eval_mmlu.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/eval_mmlu.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":"04fd5045fce0c33a"}},{"code_sha256_prefix":"45db30ac52f3cd6d","entry":"SeqToSeqEncode","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/utils.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/utils.py","link_basis":"harvester_set","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":"45db30ac52f3cd6d"}},{"code_sha256_prefix":"1d0db22ae067b53c","entry":"cache_to_disk","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/data.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/data.py","link_basis":"harvester_set","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":"1d0db22ae067b53c"}},{"code_sha256_prefix":"38de4191703bb96a","entry":"causalLMEncode","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/utils.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/utils.py","link_basis":"harvester_set","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":"38de4191703bb96a"}},{"code_sha256_prefix":"0921ef036f2219f1","entry":"create_loraplus_optimizer","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/lora_plus.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/lora_plus.py","link_basis":"harvester_set","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":"0921ef036f2219f1"}},{"code_sha256_prefix":"65f3cc97d3e5034f","entry":"find_all_linear_modules","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/run_exp.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/run_exp.py","link_basis":"harvester_set","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":"65f3cc97d3e5034f"}},{"code_sha256_prefix":"fd33ad9ae547c836","entry":"get_forward_hook","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/logTrainer.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/logTrainer.py","link_basis":"plan_row","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":"fd33ad9ae547c836"}},{"code_sha256_prefix":"ef1ba16faaacbb49","entry":"get_module","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/lora_plus.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/lora_plus.py","link_basis":"harvester_set","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":"ef1ba16faaacbb49"}},{"code_sha256_prefix":"1b37d30c5eaded49","entry":"load_flan_v2","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/data.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/data.py","link_basis":"harvester_set","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":"1b37d30c5eaded49"}},{"code_sha256_prefix":"963559e86ce91fd8","entry":"load_meta_math","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/data.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/data.py","link_basis":"harvester_set","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":"963559e86ce91fd8"}},{"code_sha256_prefix":"48720117c27620bc","entry":"post_process","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/eval_humaneval.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/eval_humaneval.py","link_basis":"harvester_set","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":"48720117c27620bc"}},{"code_sha256_prefix":"e70a2129bcf0f57c","entry":"reinit_lora","repo":"savadikarc/gift","repo_kind":"official","path":"language_modeling/math_code_instruct/run_exp.py","file_url":"https://github.com/savadikarc/gift/blob/HEAD/language_modeling/math_code_instruct/run_exp.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":"e70a2129bcf0f57c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}