{"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/accessing-vision-foundation-models-at","title":"Accessing Vision Foundation Models at ImageNet-level Costs","arxiv_id":"2407.10366","date":"2024-07-15","proceeding":null,"authors":["Yitian Zhang","Xu Ma","Yue Bai","Huan Wang","Yun Fu"],"abstract":"Vision foundation models are renowned for their generalization ability due to massive training data. Nevertheless, they demand tremendous training resources, and the training data is often inaccessible, e.g., CLIP, DINOv2, posing great challenges to developing derivatives that could advance research in this field. In this work, we offer a very simple and general solution, named Proteus, to distill foundation models into smaller equivalents on ImageNet-1K without access to the original training data. Specifically, we remove the designs from conventional knowledge distillation settings that result in dataset bias and present three levels of training objectives, i.e., token, patch, and feature, to maximize the efficacy of knowledge transfer. In this manner, Proteus is trained at ImageNet-level costs with surprising ability, facilitating the accessibility of training foundation models for the broader research community. Leveraging DINOv2-g/14 as the teacher, Proteus-L/14 matches the performance of the Oracle method DINOv2-L/14 (142M training data) across 15 benchmarks and outperforms other vision foundation models including CLIP-L/14 (400M), OpenCLIP-L/14 (400M/2B) and SynCLR-L/14 (600M).","url_abs":"https://arxiv.org/abs/2407.10366v1","url_pdf":"https://arxiv.org/pdf/2407.10366v1.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":"accessing-vision-foundation-models-at","repo_url":"https://github.com/bespontaneous/proteus-pytorch","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"knowledge-distillation","task_name":"Knowledge Distillation"},{"task_slug":"transfer-learning","task_name":"Transfer Learning"}],"methods":[{"method_slug":"clip","method_name":"CLIP"},{"method_slug":"knowledge-distillation","method_name":"Knowledge Distillation"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2407.10366","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2407.10366"}},"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/bespontaneous/proteus-pytorch","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":2,"ran_fixture":1,"ran_honours":1,"unverified":6},"by_repo_kind":{"official":{"samples":10,"ran":4,"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":"c2c9f9c2836ca88a","entry":"compute_gather_ids","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"pretrain/models_synclr.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/pretrain/models_synclr.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":"c2c9f9c2836ca88a"}},{"code_sha256_prefix":"c157f5b112b3a392","entry":"drop_path","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"pretrain/models_dinov2.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/pretrain/models_dinov2.py","link_basis":"harvester_set","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c157f5b112b3a392"}},{"code_sha256_prefix":"3c04490a215299f2","entry":"make_2tuple","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"pretrain/models_dinov2.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/pretrain/models_dinov2.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3c04490a215299f2"}},{"code_sha256_prefix":"7ebead3a3a2008d4","entry":"named_apply","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"pretrain/models_clip.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/pretrain/models_clip.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":"7ebead3a3a2008d4"}},{"code_sha256_prefix":"fe3002776da59ed1","entry":"drop_add_residual_stochastic_depth","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"pretrain/models_dinov2.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/pretrain/models_dinov2.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":"fe3002776da59ed1"}},{"code_sha256_prefix":"1cd2728a84872357","entry":"has_ddp_wrapper","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"eval/ImageNet_probing/dinov2/eval/linear_proteus.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/eval/ImageNet_probing/dinov2/eval/linear_proteus.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":"1cd2728a84872357"}},{"code_sha256_prefix":"f565e9c6316d8c64","entry":"remove_ddp_wrapper","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"eval/ImageNet_probing/dinov2/eval/linear_proteus.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/eval/ImageNet_probing/dinov2/eval/linear_proteus.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":"f565e9c6316d8c64"}},{"code_sha256_prefix":"3ded69e796e2adc1","entry":"vit_base","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"pretrain/models_clip.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/pretrain/models_clip.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":"3ded69e796e2adc1"}},{"code_sha256_prefix":"7eb323949f069bd6","entry":"vit_base","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"pretrain/models_synclr.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/pretrain/models_synclr.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":"7eb323949f069bd6"}},{"code_sha256_prefix":"111664a7e8f9164c","entry":"vit_small","repo":"bespontaneous/proteus-pytorch","repo_kind":"official","path":"pretrain/models_clip.py","file_url":"https://github.com/bespontaneous/proteus-pytorch/blob/HEAD/pretrain/models_clip.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":"111664a7e8f9164c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}