{"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/llm2llm-boosting-llms-with-novel-iterative","title":"LLM2LLM: Boosting LLMs with Novel Iterative Data Enhancement","arxiv_id":"2403.15042","date":"2024-03-22","proceeding":null,"authors":["Nicholas Lee","Thanakul Wattanawong","Sehoon Kim","Karttikeya Mangalam","Sheng Shen","Gopala Anumanchipalli","Michael W. Mahoney","Kurt Keutzer","Amir Gholami"],"abstract":"Pretrained large language models (LLMs) are currently state-of-the-art for solving the vast majority of natural language processing tasks. While many real-world applications still require fine-tuning to reach satisfactory levels of performance, many of them are in the low-data regime, making fine-tuning challenging. To address this, we propose LLM2LLM, a targeted and iterative data augmentation strategy that uses a teacher LLM to enhance a small seed dataset by augmenting additional data that can be used for fine-tuning on a specific task. LLM2LLM (1) fine-tunes a baseline student LLM on the initial seed data, (2) evaluates and extracts data points that the model gets wrong, and (3) uses a teacher LLM to generate synthetic data based on these incorrect data points, which are then added back into the training data. This approach amplifies the signal from incorrectly predicted data points by the LLM during training and reintegrates them into the dataset to focus on more challenging examples for the LLM. Our results show that LLM2LLM significantly enhances the performance of LLMs in the low-data regime, outperforming both traditional fine-tuning and other data augmentation baselines. LLM2LLM reduces the dependence on labor-intensive data curation and paves the way for more scalable and performant LLM solutions, allowing us to tackle data-constrained domains and tasks. We achieve improvements up to 24.2% on the GSM8K dataset, 32.6% on CaseHOLD, 32.0% on SNIPS, 52.6% on TREC and 39.8% on SST-2 over regular fine-tuning in the low-data regime using a Llama-2-7B student model. Our code is available at https://github.com/SqueezeAILab/LLM2LLM .","url_abs":"https://arxiv.org/abs/2403.15042v2","url_pdf":"https://arxiv.org/pdf/2403.15042v2.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":"llm2llm-boosting-llms-with-novel-iterative","repo_url":"https://github.com/squeezeailab/llm2llm","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"gsm8k","task_name":"GSM8K"},{"task_slug":null,"task_name":"SST-2"}],"methods":[{"method_slug":"focus","method_name":"Focus"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.15042","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.15042"}},"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/squeezeailab/llm2llm","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":6,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":8,"ran":7,"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":"9d3687f5a5e31878","entry":"clean_string","repo":"squeezeailab/llm2llm","repo_kind":"official","path":"report_results.py","file_url":"https://github.com/squeezeailab/llm2llm/blob/HEAD/report_results.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":"9d3687f5a5e31878"}},{"code_sha256_prefix":"cd21d3a179f7d3eb","entry":"compare_strings","repo":"squeezeailab/llm2llm","repo_kind":"official","path":"GSM8K/filter.py","file_url":"https://github.com/squeezeailab/llm2llm/blob/HEAD/GSM8K/filter.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":"cd21d3a179f7d3eb"}},{"code_sha256_prefix":"209427dd7e7b530b","entry":"find_matching_seed","repo":"squeezeailab/llm2llm","repo_kind":"official","path":"report_results.py","file_url":"https://github.com/squeezeailab/llm2llm/blob/HEAD/report_results.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":"209427dd7e7b530b"}},{"code_sha256_prefix":"d07d04439cd1d44f","entry":"jload","repo":"squeezeailab/llm2llm","repo_kind":"official","path":"utils.py","file_url":"https://github.com/squeezeailab/llm2llm/blob/HEAD/utils.py","link_basis":"harvester_set","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":"d07d04439cd1d44f"}},{"code_sha256_prefix":"89feae0b24e905dd","entry":"load_seed_data","repo":"squeezeailab/llm2llm","repo_kind":"official","path":"report_results.py","file_url":"https://github.com/squeezeailab/llm2llm/blob/HEAD/report_results.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":"89feae0b24e905dd"}},{"code_sha256_prefix":"74ad488c6999e514","entry":"parallel_execution","repo":"squeezeailab/llm2llm","repo_kind":"official","path":"GSM8K/generate_data.py","file_url":"https://github.com/squeezeailab/llm2llm/blob/HEAD/GSM8K/generate_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":"74ad488c6999e514"}},{"code_sha256_prefix":"119edfc3533dd7fc","entry":"post_process_gpt3_response","repo":"squeezeailab/llm2llm","repo_kind":"official","path":"GSM8K/generate_data.py","file_url":"https://github.com/squeezeailab/llm2llm/blob/HEAD/GSM8K/generate_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":"119edfc3533dd7fc"}},{"code_sha256_prefix":"74a36abacb50f6d4","entry":"encode_prompt","repo":"squeezeailab/llm2llm","repo_kind":"official","path":"GSM8K/generate_data.py","file_url":"https://github.com/squeezeailab/llm2llm/blob/HEAD/GSM8K/generate_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":"74a36abacb50f6d4"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}