{"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/lat-pfn-a-joint-embedding-predictive","title":"LaT-PFN: A Joint Embedding Predictive Architecture for In-context Time-series Forecasting","arxiv_id":"2405.10093","date":"2024-05-16","proceeding":null,"authors":["Stijn Verdenius","Andrea Zerio","Roy L. M. Wang"],"abstract":"We introduce LatentTimePFN (LaT-PFN), a foundational Time Series model with a strong embedding space that enables zero-shot forecasting. To achieve this, we perform in-context learning in latent space utilizing a novel integration of the Prior-data Fitted Networks (PFN) and Joint Embedding Predictive Architecture (JEPA) frameworks. We leverage the JEPA framework to create a prediction-optimized latent representation of the underlying stochastic process that generates time series and combines it with contextual learning, using a PFN. Furthermore, we improve on preceding works by utilizing related time series as a context and introducing a normalized abstract time axis. This reduces training time and increases the versatility of the model by allowing any time granularity and forecast horizon. We show that this results in superior zero-shot predictions compared to established baselines. We also demonstrate our latent space produces informative embeddings of both individual time steps and fixed-length summaries of entire series. Finally, we observe the emergence of multi-step patch embeddings without explicit training, suggesting the model actively learns discrete tokens that encode local structures in the data, analogous to vision transformers.","url_abs":"https://arxiv.org/abs/2405.10093v2","url_pdf":"https://arxiv.org/pdf/2405.10093v2.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":"lat-pfn-a-joint-embedding-predictive","repo_url":"https://github.com/stijnverdenius/lat-pfn","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"CC-BY-4.0"}}],"tasks":[{"task_slug":"in-context-learning","task_name":"In-Context Learning"},{"task_slug":"time-series-1","task_name":"Time Series"},{"task_slug":"time-series-forecasting","task_name":"Time Series Forecasting"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2405.10093","atlas_url":"https://app.syntology.ai/?focus=2405.10093","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.10093"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/stijnverdenius/lat-pfn","reach":{"status":"ok","spdx":"CC-BY-4.0"}}],"summary":{"ran":10,"unverified":2},"by_repo_kind":{"official":{"samples":12,"ran":10,"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":12,"samples":[{"code_sha256_prefix":"bb43c29130d4c0c8","entry":"V_denormalize","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"util/config_util.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/util/config_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"bb43c29130d4c0c8"}},{"code_sha256_prefix":"49789c26ba814b17","entry":"V_normalize","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"util/config_util.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/util/config_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"49789c26ba814b17"}},{"code_sha256_prefix":"a5be36f76effc4c7","entry":"add_attention_hook","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"util/metrics.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/util/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"a5be36f76effc4c7"}},{"code_sha256_prefix":"eb1d613c4a721aab","entry":"causal_expanded_mask","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"model/base_pfn.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/model/base_pfn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"eb1d613c4a721aab"}},{"code_sha256_prefix":"019d7b7f3ec8da25","entry":"diagonal_mask","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"model/base_pfn.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/model/base_pfn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"019d7b7f3ec8da25"}},{"code_sha256_prefix":"f3d2c5acfad15121","entry":"expand_diagonal","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"model/base_pfn.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/model/base_pfn.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"f3d2c5acfad15121"}},{"code_sha256_prefix":"0c10ac60c21bd3ce","entry":"fig2img","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"util/metrics.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/util/metrics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"0c10ac60c21bd3ce"}},{"code_sha256_prefix":"bc31f24735c30432","entry":"init_method_normal","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"model/mup_imp/mup_custom.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/model/mup_imp/mup_custom.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"bc31f24735c30432"}},{"code_sha256_prefix":"55930a3f1525056f","entry":"initialize_loader","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"evaluation/real_eval.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/evaluation/real_eval.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"55930a3f1525056f"}},{"code_sha256_prefix":"0f7ead92423c5cbc","entry":"mup_multi_head_attention_forward","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"model/mup_imp/mup_custom.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/model/mup_imp/mup_custom.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"0f7ead92423c5cbc"}},{"code_sha256_prefix":"17d9f42249274807","entry":"dictify","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"util/config_util.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/util/config_util.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"17d9f42249274807"}},{"code_sha256_prefix":"8ea068c039e9397f","entry":"plot","repo":"stijnverdenius/lat-pfn","repo_kind":"official","path":"util/metrics.py","file_url":"https://github.com/stijnverdenius/lat-pfn/blob/HEAD/util/metrics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"CC-BY-4.0","inline_ok":false,"mcp_get_code":{"code_sha256":"8ea068c039e9397f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}