{"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/mini-but-mighty-finetuning-vits-with-mini","title":"Mini but Mighty: Finetuning ViTs with Mini Adapters","arxiv_id":"2311.03873","date":"2023-11-07","proceeding":null,"authors":["Imad Eddine Marouf","Enzo Tartaglione","Stéphane Lathuilière"],"abstract":"Vision Transformers (ViTs) have become one of the dominant architectures in computer vision, and pre-trained ViT models are commonly adapted to new tasks via fine-tuning. Recent works proposed several parameter-efficient transfer learning methods, such as adapters, to avoid the prohibitive training and storage cost of finetuning. In this work, we observe that adapters perform poorly when the dimension of adapters is small, and we propose MiMi, a training framework that addresses this issue. We start with large adapters which can reach high performance, and iteratively reduce their size. To enable automatic estimation of the hidden dimension of every adapter, we also introduce a new scoring function, specifically designed for adapters, that compares the neuron importance across layers. Our method outperforms existing methods in finding the best trade-off between accuracy and trained parameters across the three dataset benchmarks DomainNet, VTAB, and Multi-task, for a total of 29 datasets.","url_abs":"https://arxiv.org/abs/2311.03873v1","url_pdf":"https://arxiv.org/pdf/2311.03873v1.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":"mini-but-mighty-finetuning-vits-with-mini","repo_url":"https://github.com/iemprog/mimi","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"transfer-learning","task_name":"Transfer Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2311.03873","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.03873"}},"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/iemprog/mimi","reach":{"status":"ok"}}],"summary":{"ran":5,"unverified":10},"by_repo_kind":{"official":{"samples":15,"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":15,"samples":[{"code_sha256_prefix":"d50eceebc1eabdc2","entry":"collect_samples_faster","repo":"iemprog/mimi","repo_kind":"official","path":"drloc/aux_modules.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/drloc/aux_modules.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d50eceebc1eabdc2"}},{"code_sha256_prefix":"a09531f2a3bed5f5","entry":"randn_sampling","repo":"iemprog/mimi","repo_kind":"official","path":"drloc/aux_modules.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/drloc/aux_modules.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a09531f2a3bed5f5"}},{"code_sha256_prefix":"8872e7b986aa6d2e","entry":"relative_constraint_ce","repo":"iemprog/mimi","repo_kind":"official","path":"drloc/losses.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/drloc/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"8872e7b986aa6d2e"}},{"code_sha256_prefix":"7f1b680d6aa88b99","entry":"relative_constraint_l1","repo":"iemprog/mimi","repo_kind":"official","path":"drloc/losses.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/drloc/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f1b680d6aa88b99"}},{"code_sha256_prefix":"2fc56b43da8a500b","entry":"variance_aware_regression","repo":"iemprog/mimi","repo_kind":"official","path":"drloc/losses.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/drloc/losses.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"2fc56b43da8a500b"}},{"code_sha256_prefix":"9635698b3dee4ac4","entry":"build_model","repo":"iemprog/mimi","repo_kind":"official","path":"models/build.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/models/build.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":"9635698b3dee4ac4"}},{"code_sha256_prefix":"c02cc4e0b5720211","entry":"build_scheduler","repo":"iemprog/mimi","repo_kind":"official","path":"lr_scheduler.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/lr_scheduler.py","link_basis":"harvester_set","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":"c02cc4e0b5720211"}},{"code_sha256_prefix":"e52fbbea05ecc1fb","entry":"collect_samples","repo":"iemprog/mimi","repo_kind":"official","path":"drloc/aux_modules.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/drloc/aux_modules.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":"e52fbbea05ecc1fb"}},{"code_sha256_prefix":"80450600f7f09b0a","entry":"create_logger","repo":"iemprog/mimi","repo_kind":"official","path":"logger.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/logger.py","link_basis":"harvester_set","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":"80450600f7f09b0a"}},{"code_sha256_prefix":"2baa153879f236da","entry":"get_cls_model","repo":"iemprog/mimi","repo_kind":"official","path":"models/cvt.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/models/cvt.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":"2baa153879f236da"}},{"code_sha256_prefix":"3b5c44a2d3b8af0e","entry":"get_config","repo":"iemprog/mimi","repo_kind":"official","path":"config.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/config.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":"3b5c44a2d3b8af0e"}},{"code_sha256_prefix":"e65098a07aaba1a6","entry":"get_weights","repo":"iemprog/mimi","repo_kind":"official","path":"few_shot_prune.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/few_shot_prune.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":"e65098a07aaba1a6"}},{"code_sha256_prefix":"9583d22228aa7f57","entry":"inference_time","repo":"iemprog/mimi","repo_kind":"official","path":"inference_eval.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/inference_eval.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":"9583d22228aa7f57"}},{"code_sha256_prefix":"a90a1e594afe738b","entry":"structured_down_magnitude_pruning","repo":"iemprog/mimi","repo_kind":"official","path":"few_shot_prune.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/few_shot_prune.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":"a90a1e594afe738b"}},{"code_sha256_prefix":"597d06b3a9f34b01","entry":"structured_magnitude_pruning_layer","repo":"iemprog/mimi","repo_kind":"official","path":"few_shot_prune.py","file_url":"https://github.com/iemprog/mimi/blob/HEAD/few_shot_prune.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":"597d06b3a9f34b01"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}