{"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/v-jepa-2-self-supervised-video-models-enable","title":"V-JEPA 2: Self-Supervised Video Models Enable Understanding, Prediction and Planning","arxiv_id":"2506.09985","date":"2025-06-11","proceeding":null,"authors":["Mido Assran","Adrien Bardes","David Fan","Quentin Garrido","Russell Howes","Mojtaba","Komeili","Matthew Muckley","Ammar Rizvi","Claire Roberts","Koustuv Sinha","Artem Zholus","Sergio Arnaud","Abha Gejji","Ada Martin","Francois Robert Hogan","Daniel Dugas","Piotr Bojanowski","Vasil Khalidov","Patrick Labatut","Francisco Massa","Marc Szafraniec","Kapil Krishnakumar","Yong Li","Xiaodong Ma","Sarath Chandar","Franziska Meier","Yann Lecun","Michael Rabbat","Nicolas Ballas"],"abstract":"A major challenge for modern AI is to learn to understand the world and learn to act largely by observation. This paper explores a self-supervised approach that combines internet-scale video data with a small amount of interaction data (robot trajectories), to develop models capable of understanding, predicting, and planning in the physical world. We first pre-train an action-free joint-embedding-predictive architecture, V-JEPA 2, on a video and image dataset comprising over 1 million hours of internet video. V-JEPA 2 achieves strong performance on motion understanding (77.3 top-1 accuracy on Something-Something v2) and state-of-the-art performance on human action anticipation (39.7 recall-at-5 on Epic-Kitchens-100) surpassing previous task-specific models. Additionally, after aligning V-JEPA 2 with a large language model, we demonstrate state-of-the-art performance on multiple video question-answering tasks at the 8 billion parameter scale (e.g., 84.0 on PerceptionTest, 76.9 on TempCompass). Finally, we show how self-supervised learning can be applied to robotic planning tasks by post-training a latent action-conditioned world model, V-JEPA 2-AC, using less than 62 hours of unlabeled robot videos from the Droid dataset. We deploy V-JEPA 2-AC zero-shot on Franka arms in two different labs and enable picking and placing of objects using planning with image goals. Notably, this is achieved without collecting any data from the robots in these environments, and without any task-specific training or reward. This work demonstrates how self-supervised learning from web-scale data and a small amount of robot interaction data can yield a world model capable of planning in the physical world.","url_abs":"https://arxiv.org/abs/2506.09985v1","url_pdf":"https://arxiv.org/pdf/2506.09985v1.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":"v-jepa-2-self-supervised-video-models-enable","repo_url":"https://github.com/facebookresearch/vjepa2","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"action-anticipation","task_name":"Action Anticipation"},{"task_slug":"large-language-model","task_name":"Large Language Model"},{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"},{"task_slug":"video-question-answering","task_name":"Video Question Answering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/video-question-answering-on-tvbench","task":"Video Question Answering","dataset":"TVBench","model":"V-JEPA 2 ViT-g 8B","rank_in_archive_order":4,"of":28,"metrics":{"Average Accuracy":"60.6"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2506.09985","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2506.09985"}},"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/facebookresearch/vjepa2","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"ran":0,"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":8,"samples":[{"code_sha256_prefix":"168f1da43d5d86e9","entry":"copy_code_folder","repo":"facebookresearch/vjepa2","repo_kind":"official","path":"app/main_distributed.py","file_url":"https://github.com/facebookresearch/vjepa2/blob/HEAD/app/main_distributed.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":false,"mcp_get_code":{"code_sha256":"168f1da43d5d86e9"}},{"code_sha256_prefix":"e231b0942390b039","entry":"init_data","repo":"facebookresearch/vjepa2","repo_kind":"official","path":"src/datasets/data_manager.py","file_url":"https://github.com/facebookresearch/vjepa2/blob/HEAD/src/datasets/data_manager.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":false,"mcp_get_code":{"code_sha256":"e231b0942390b039"}},{"code_sha256_prefix":"0ba364bee02f4317","entry":"init_module","repo":"facebookresearch/vjepa2","repo_kind":"official","path":"evals/action_anticipation_frozen/models.py","file_url":"https://github.com/facebookresearch/vjepa2/blob/HEAD/evals/action_anticipation_frozen/models.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":false,"mcp_get_code":{"code_sha256":"0ba364bee02f4317"}},{"code_sha256_prefix":"9e5e5dd2bc4bb245","entry":"init_module","repo":"facebookresearch/vjepa2","repo_kind":"official","path":"evals/image_classification_frozen/models.py","file_url":"https://github.com/facebookresearch/vjepa2/blob/HEAD/evals/image_classification_frozen/models.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":false,"mcp_get_code":{"code_sha256":"9e5e5dd2bc4bb245"}},{"code_sha256_prefix":"e6a260a5b5086c58","entry":"init_module","repo":"facebookresearch/vjepa2","repo_kind":"official","path":"evals/video_classification_frozen/models.py","file_url":"https://github.com/facebookresearch/vjepa2/blob/HEAD/evals/video_classification_frozen/models.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":false,"mcp_get_code":{"code_sha256":"e6a260a5b5086c58"}},{"code_sha256_prefix":"2004d0e6ae873f2e","entry":"main","repo":"facebookresearch/vjepa2","repo_kind":"official","path":"app/scaffold.py","file_url":"https://github.com/facebookresearch/vjepa2/blob/HEAD/app/scaffold.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":false,"mcp_get_code":{"code_sha256":"2004d0e6ae873f2e"}},{"code_sha256_prefix":"e05af78fdb537f81","entry":"make_imagenet1k","repo":"facebookresearch/vjepa2","repo_kind":"official","path":"src/datasets/imagenet1k.py","file_url":"https://github.com/facebookresearch/vjepa2/blob/HEAD/src/datasets/imagenet1k.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":false,"mcp_get_code":{"code_sha256":"e05af78fdb537f81"}},{"code_sha256_prefix":"3d79c2bcb14adc04","entry":"sigmoid_focal_loss","repo":"facebookresearch/vjepa2","repo_kind":"official","path":"evals/action_anticipation_frozen/losses.py","file_url":"https://github.com/facebookresearch/vjepa2/blob/HEAD/evals/action_anticipation_frozen/losses.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":false,"mcp_get_code":{"code_sha256":"3d79c2bcb14adc04"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}