{"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/stableprompt-automatic-prompt-tuning-using","title":"StablePrompt: Automatic Prompt Tuning using Reinforcement Learning for Large Language Models","arxiv_id":"2410.07652","date":"2024-10-10","proceeding":null,"authors":["Minchan Kwon","Gaeun Kim","Jongsuk Kim","Haeil Lee","Junmo Kim"],"abstract":"Finding appropriate prompts for the specific task has become an important issue as the usage of Large Language Models (LLM) has expanded. Reinforcement Learning (RL) is widely used for prompt tuning, but its inherent instability and environmental dependency make it difficult to use in practice. In this paper, we propose StablePrompt, which strikes a balance between training stability and search space, mitigating the instability of RL and producing high-performance prompts. We formulate prompt tuning as an online RL problem between the agent and target LLM and introduce Adaptive Proximal Policy Optimization (APPO). APPO introduces an LLM anchor model to adaptively adjust the rate of policy updates. This allows for flexible prompt search while preserving the linguistic ability of the pre-trained LLM. StablePrompt outperforms previous methods on various tasks including text classification, question answering, and text generation. Our code can be found in github.","url_abs":"https://arxiv.org/abs/2410.07652v1","url_pdf":"https://arxiv.org/pdf/2410.07652v1.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":"stableprompt-automatic-prompt-tuning-using","repo_url":"https://github.com/kmc0207/Stableprompt","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"question-answering","task_name":"Question Answering"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"text-classification","task_name":"Text Classification"},{"task_slug":"text-generation","task_name":"Text Generation"},{"task_slug":"text-classification-1","task_name":"text-classification"}],"methods":[{"method_slug":"appo","method_name":"APPO"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2410.07652","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2410.07652"}},"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/kmc0207/Stableprompt","reach":{"status":"ok"}}],"summary":{"ran":4,"unverified":5},"by_repo_kind":{"official":{"samples":9,"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":9,"samples":[{"code_sha256_prefix":"6e0fa0aa42b63513","entry":"choice_to_sentence","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"dataset_utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/dataset_utils.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":"6e0fa0aa42b63513"}},{"code_sha256_prefix":"f019b3b51ce43942","entry":"f1_score","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/utils.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":"f019b3b51ce43942"}},{"code_sha256_prefix":"a424dfef1368b0fb","entry":"f1_score_single","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/utils.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":"a424dfef1368b0fb"}},{"code_sha256_prefix":"d8af265929dc927f","entry":"normalize_answer","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/utils.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":"d8af265929dc927f"}},{"code_sha256_prefix":"0a15b06668074e60","entry":"load_annotation","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"ii_utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/ii_utils.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":"0a15b06668074e60"}},{"code_sha256_prefix":"12eff4765374d162","entry":"load_bigbench","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"dataset_utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/dataset_utils.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":"12eff4765374d162"}},{"code_sha256_prefix":"5e6da3a9f82347b0","entry":"load_data","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"ii_utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/ii_utils.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":"5e6da3a9f82347b0"}},{"code_sha256_prefix":"4308233613a9bd58","entry":"load_mmlu","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"dataset_utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/dataset_utils.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":"4308233613a9bd58"}},{"code_sha256_prefix":"d743b4d4da5336f3","entry":"normalize_prediction","repo":"kmc0207/Stableprompt","repo_kind":"official","path":"ii_utils.py","file_url":"https://github.com/kmc0207/Stableprompt/blob/HEAD/ii_utils.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":"d743b4d4da5336f3"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}