{"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/prise-learning-temporal-action-abstractions","title":"PRISE: LLM-Style Sequence Compression for Learning Temporal Action Abstractions in Control","arxiv_id":"2402.10450","date":"2024-02-16","proceeding":null,"authors":["Ruijie Zheng","Ching-An Cheng","Hal Daumé III","Furong Huang","Andrey Kolobov"],"abstract":"Temporal action abstractions, along with belief state representations, are a powerful knowledge sharing mechanism for sequential decision making. In this work, we propose a novel view that treats inducing temporal action abstractions as a sequence compression problem. To do so, we bring a subtle but critical component of LLM training pipelines -- input tokenization via byte pair encoding (BPE) -- to the seemingly distant task of learning skills of variable time span in continuous control domains. We introduce an approach called Primitive Sequence Encoding (PRISE) that combines continuous action quantization with BPE to learn powerful action abstractions. We empirically show that high-level skills discovered by PRISE from a multitask set of robotic manipulation demonstrations significantly boost the performance of both multitask imitation learning as well as few-shot imitation learning on unseen tasks. Our code is released at https://github.com/FrankZheng2022/PRISE.","url_abs":"https://arxiv.org/abs/2402.10450v3","url_pdf":"https://arxiv.org/pdf/2402.10450v3.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":"prise-learning-temporal-action-abstractions","repo_url":"https://github.com/frankzheng2022/prise","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"continuous-control","task_name":"Continuous Control"},{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"few-shot-imitation-learning","task_name":"Few-Shot Imitation Learning"},{"task_slug":"imitation-learning","task_name":"Imitation Learning"},{"task_slug":"quantization","task_name":"Quantization"},{"task_slug":"sequential-decision-making","task_name":"Sequential Decision Making"},{"task_slug":"continuous-control","task_name":"continuous-control"}],"methods":[{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"set","method_name":"SET"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2402.10450","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2402.10450"}},"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/frankzheng2022/prise","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":2,"ran":6,"unverified":3},"by_repo_kind":{"official":{"samples":11,"ran":8,"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":"95f9661fe77f3aa2","entry":"construct_task_data_path","repo":"FrankZheng2022/PRISE","repo_kind":"official","path":"train_prise.py","file_url":"https://github.com/FrankZheng2022/PRISE/blob/HEAD/train_prise.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"95f9661fe77f3aa2"}},{"code_sha256_prefix":"d86a91c5bbb0ddff","entry":"convert_frame_stack","repo":"frankzheng2022/prise","repo_kind":"official","path":"convert_data.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/convert_data.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":"d86a91c5bbb0ddff"}},{"code_sha256_prefix":"9f840a22d31a89bc","entry":"episode_len","repo":"frankzheng2022/prise","repo_kind":"official","path":"replay_buffer.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/replay_buffer.py","link_basis":"harvester_set","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":"9f840a22d31a89bc"}},{"code_sha256_prefix":"a9aa9525da5b3abc","entry":"generate_causal_mask","repo":"frankzheng2022/prise","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/utils/misc.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":"a9aa9525da5b3abc"}},{"code_sha256_prefix":"184876e5f4ab6562","entry":"load_episode","repo":"frankzheng2022/prise","repo_kind":"official","path":"replay_buffer.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/replay_buffer.py","link_basis":"harvester_set","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":"184876e5f4ab6562"}},{"code_sha256_prefix":"881c9af39ce5d3c4","entry":"make_agent","repo":"FrankZheng2022/PRISE","repo_kind":"official","path":"train_prise.py","file_url":"https://github.com/FrankZheng2022/PRISE/blob/HEAD/train_prise.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"881c9af39ce5d3c4"}},{"code_sha256_prefix":"8a0606fa831308b1","entry":"tokenize_vocab","repo":"frankzheng2022/prise","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/utils/misc.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":"8a0606fa831308b1"}},{"code_sha256_prefix":"ee36ebf9e3505446","entry":"update_z_history","repo":"frankzheng2022/prise","repo_kind":"official","path":"utils/misc.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/utils/misc.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":"ee36ebf9e3505446"}},{"code_sha256_prefix":"8f84936c77fb72b3","entry":"extract_task_information","repo":"frankzheng2022/prise","repo_kind":"official","path":"convert_data.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/convert_data.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":"8f84936c77fb72b3"}},{"code_sha256_prefix":"0760a84c82a414a4","entry":"get_task_embedding","repo":"frankzheng2022/prise","repo_kind":"official","path":"convert_data.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/convert_data.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":"0760a84c82a414a4"}},{"code_sha256_prefix":"046c70663ab77e35","entry":"get_task_embedding","repo":"frankzheng2022/prise","repo_kind":"official","path":"utils/libero_wrapper.py","file_url":"https://github.com/frankzheng2022/prise/blob/HEAD/utils/libero_wrapper.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":"046c70663ab77e35"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}