{"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/unigen-a-unified-framework-for-textual","title":"UniGen: A Unified Framework for Textual Dataset Generation Using Large Language Models","arxiv_id":"2406.18966","date":"2024-06-27","proceeding":null,"authors":["Siyuan Wu","Yue Huang","Chujie Gao","Dongping Chen","Qihui Zhang","Yao Wan","Tianyi Zhou","Xiangliang Zhang","Jianfeng Gao","Chaowei Xiao","Lichao Sun"],"abstract":"Large Language Models (LLMs) such as GPT-4 and Llama3 have significantly impacted various fields by enabling high-quality synthetic data generation and reducing dependence on expensive human-generated datasets. Despite this, challenges remain in the areas of generalization, controllability, diversity, and truthfulness within the existing generative frameworks. To address these challenges, this paper presents UniGen, a comprehensive LLM-powered framework designed to produce diverse, accurate, and highly controllable datasets. UniGen is adaptable, supporting all types of text datasets and enhancing the generative process through innovative mechanisms. To augment data diversity, UniGen incorporates an attribute-guided generation module and a group checking feature. For accuracy, it employs a code-based mathematical assessment for label verification alongside a retrieval-augmented generation technique for factual validation. The framework also allows for user-specified constraints, enabling customization of the data generation process to suit particular requirements. Extensive experiments demonstrate the superior quality of data generated by UniGen, and each module within UniGen plays a critical role in this enhancement. Additionally, UniGen is applied in two practical scenarios: benchmarking LLMs and data augmentation. The results indicate that UniGen effectively supports dynamic and evolving benchmarking, and that data augmentation improves LLM capabilities in various domains, including agent-oriented abilities and reasoning skills.","url_abs":"https://arxiv.org/abs/2406.18966v3","url_pdf":"https://arxiv.org/pdf/2406.18966v3.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":"unigen-a-unified-framework-for-textual","repo_url":"https://github.com/howiehwong/unigen","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"attribute","task_name":"Attribute"},{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"data-augmentation","task_name":"Data Augmentation"},{"task_slug":"dataset-generation","task_name":"Dataset Generation"},{"task_slug":"diversity","task_name":"Diversity"},{"task_slug":"retrieval-augmented-generation","task_name":"Retrieval-augmented Generation"},{"task_slug":"synthetic-data-generation","task_name":"Synthetic Data Generation"}],"methods":[{"method_slug":"absolute-position-encodings","method_name":"Absolute Position Encodings"},{"method_slug":"adam","method_name":"Adam"},{"method_slug":"attention","method_name":"Attention"},{"method_slug":"bpe","method_name":"BPE"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"dropout","method_name":"Dropout"},{"method_slug":"gpt-4","method_name":"GPT-4"},{"method_slug":"label-smoothing","method_name":"Label Smoothing"},{"method_slug":"layer-normalization","method_name":"Layer Normalization"},{"method_slug":"linear-layer","method_name":"Linear Layer"},{"method_slug":"multi-head-attention","method_name":"Multi-Head Attention"},{"method_slug":"position-wise-feed-forward-layer","method_name":"Position-Wise Feed-Forward Layer"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"softmax","method_name":"Softmax"},{"method_slug":"transformer","method_name":"Transformer"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2406.18966","atlas_url":"https://app.syntology.ai/?focus=2406.18966","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2406.18966"}},"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/howiehwong/unigen","reach":{"status":"ok"}}],"summary":{"ran":8,"unverified":5},"by_repo_kind":{"official":{"samples":13,"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":13,"samples":[{"code_sha256_prefix":"7421f8de0a5caf4e","entry":"add_attributes","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/attribute.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/attribute.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":"7421f8de0a5caf4e"}},{"code_sha256_prefix":"79f6e0366bf30a94","entry":"compute_remote_clique","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/diversity.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/diversity.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":"79f6e0366bf30a94"}},{"code_sha256_prefix":"78863f707d5b4e0f","entry":"extract_data_item","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/data_format.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/data_format.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":"78863f707d5b4e0f"}},{"code_sha256_prefix":"a6edfbf0d55757b4","entry":"extract_options","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/eval_utils.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/eval_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":"a6edfbf0d55757b4"}},{"code_sha256_prefix":"188ef64b1d2cf415","entry":"find_initial_capital","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/eval_utils.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/eval_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":"188ef64b1d2cf415"}},{"code_sha256_prefix":"f962247213e4a442","entry":"find_uppercase_ABCD","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/eval_utils.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/eval_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":"f962247213e4a442"}},{"code_sha256_prefix":"87e37083a793c0c3","entry":"get_attribute","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/attribute.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/attribute.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":"87e37083a793c0c3"}},{"code_sha256_prefix":"673da1d74b51ce33","entry":"singleton","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/LLM_model.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/LLM_model.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":"673da1d74b51ce33"}},{"code_sha256_prefix":"81c725273582fec4","entry":"get_res_data","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/data_format.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/data_format.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":"81c725273582fec4"}},{"code_sha256_prefix":"f8089bfa383fb47b","entry":"get_res_str","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/data_format.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/data_format.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":"f8089bfa383fb47b"}},{"code_sha256_prefix":"3e7fced92e28c346","entry":"improve_el","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/challenge.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/challenge.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":"3e7fced92e28c346"}},{"code_sha256_prefix":"234463419a38fd08","entry":"input","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/IO.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/IO.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":"234463419a38fd08"}},{"code_sha256_prefix":"c81e8bf3d510cc9e","entry":"process_dataset","repo":"howiehwong/unigen","repo_kind":"official","path":"unigen/utils/challenge.py","file_url":"https://github.com/howiehwong/unigen/blob/HEAD/unigen/utils/challenge.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":"c81e8bf3d510cc9e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}