From 2fbc20a080672124bd3fa73c7b2ff0b51f4481e0 Mon Sep 17 00:00:00 2001 From: herobrine19 <1909977364@qq.com> Date: Mon, 22 May 2023 17:09:35 +0800 Subject: [PATCH] [MNT] Update some file --- .gitignore | 6 +++--- README.md | 6 +++--- models/{ => base_models}/.gitkeep | 0 models/lora_weights/.gitkeep | 0 resources/example_instruction_train.json | 8 ++++++++ resources/example_instruction_tune.json | 12 ++++++++++++ scripts/train_clm.sh | 20 ++++++++++++++++++++ 7 files changed, 46 insertions(+), 6 deletions(-) rename models/{ => base_models}/.gitkeep (100%) create mode 100644 models/lora_weights/.gitkeep create mode 100644 resources/example_instruction_train.json create mode 100644 resources/example_instruction_tune.json create mode 100644 scripts/train_clm.sh diff --git a/.gitignore b/.gitignore index 2cac1d4..1aead2c 100644 --- a/.gitignore +++ b/.gitignore @@ -6,13 +6,13 @@ __pycache__/ *.so *.ipynb .ipynb_checkpoints -models/* -!models/.gitkeep +models/base_models/* !models/base_models/.gitkeep +models/lora_weights/* !models/lora_weights/.gitkeep outputs/* !outputs/.gitkeep data/* !data/.gitkeep wandb/ -**/.DS_Store +.DS_Store diff --git a/README.md b/README.md index 7ff4c92..e8f366a 100644 --- a/README.md +++ b/README.md @@ -116,12 +116,12 @@ LawGPT 系列模型的训练过程分为两个阶段: ### 二次训练流程 -1. 参考 `data/example_instruction_train.json` 构造二次训练数据集 -2. 运行 `scripts/train_lora.sh` +1. 参考 `resources/example_instruction_train.json` 构造二次训练数据集 +2. 运行 `scripts/train_clm.sh` ### 指令精调步骤 -1. 参考 `data/example_instruction_tune.json` 构造指令微调数据集 +1. 参考 `resources/example_instruction_tune.json` 构造指令微调数据集 2. 运行 `scripts/finetune.sh` ### 计算资源 diff --git a/models/.gitkeep b/models/base_models/.gitkeep similarity index 100% rename from models/.gitkeep rename to models/base_models/.gitkeep diff --git a/models/lora_weights/.gitkeep b/models/lora_weights/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/resources/example_instruction_train.json b/resources/example_instruction_train.json new file mode 100644 index 0000000..6f677d8 --- /dev/null +++ b/resources/example_instruction_train.json @@ -0,0 +1,8 @@ +[ + { + "content": "中华人民共和国最高人民法院 再 审 决 定 书(2022)最高法刑申136号 原审被告人张某某犯挪用资金罪和伪造、变造国家机关公文罪一案,山西省运城市盐湖区人民法院于2012年5月2日以(2012)运盐刑初字第69号刑事判决,认定张克云犯贪污罪,判处有期徒刑十二年,犯伪造、变造国家机关公文罪,判处有期徒刑三年,决定执行有期徒刑十三年。宣判后,张克云不服,提出上诉。山西省运城市中级人民法院于2012年11月12日以(2012)运中刑二终字第125号刑事裁定,驳回上诉,维持原判。裁判生效后,张克云不服,提出申诉。运城市中级人民法院于2013年1月7日以(2013)运中刑申字第3号驳回申诉通知,驳回其申诉。山西省高级人民法院于2017年7月13日以(2013)晋刑监字第8号再审决定,提审本案,并于2019年12月24日以(2017)晋刑再第2号刑事判决,认定张克云犯挪用资金罪,判处有期徒刑七年六个月,与原判伪造、变造国家机关公文罪被判处的有期徒刑三年数罪并罚,决定执行有期徒刑十年。张克云仍不服,以原审认定事实错误,其作为学校董事长、全资投资人有权决定学校相关款项用途,学校仍欠其债务,个人账户用于学校经费开支,没有挪用资金的动机和行为,不构成挪用资金罪等为由,向本院提出申诉。本院经审查认为,原审生效裁判对挪用资金罪定罪量刑的证据不确实、不充分,依法应当予以排除。依照《中华人民共和国刑事诉讼法》第二百五十三条第二项、第二百五十四条第二款、第二百五十五条的规定,决定如下:指令河南省高级人民法院对本案进行再审。二〇二二年十二月二十九日" + }, + { + "content":"中华人民共和国最高人民法院 驳 回 申 诉 通 知 书(2022)最高法刑申122号 袁某银、袁某财:你们因原审被告人袁德银故意伤害一案,对江苏省南京市溧水区人民法院(2014)溧刑初字第268号刑事判决、南京市中级人民法院(2015)宁刑终字第433号刑事裁定不服,以被害人朱宽荣住院期间的CT(136678号)报告并未显示其左侧4、5、6、7、8肋骨骨折,出院记录及137470号、143006号CT报告均系伪造,江苏省高级人民法院(2019)苏刑申172号驳回申诉通知书对137470号CT报告的形成时间认定错误为由,向本院提出申诉,请求撤销原判,依法重新审理本案。本院依法组成合议庭认真审查后认为,原审认定原审被告人袁德银因邻里纠纷,殴打被害人朱宽荣致其左胸多发肋骨骨折,构成轻伤二级,其行为构成故意伤害罪,并无不当。关于你们提出的原审认定被害人朱宽荣轻伤二级的证据系伪造的申诉理由。首先,根据你们提供的136678号CT报告,朱宽荣于2015年2月12日入院时经CT检查被诊断为左侧多发肋骨骨折,该份CT报告虽未明确骨折的具体位置,但与出院记录记载的“左侧多发肋骨骨折(4、5、6、7、8)”并不矛盾。根据《人体损伤程度鉴定标准》的规定,肋骨骨折2处以上即构成轻伤二级,故鉴定意见认定朱宽荣的损伤构成轻伤二级并无不当。其次,你们主张出院记录、137470号和143006号CT报告系伪造,但并未提供证据证实。即使排除这两份CT报告,也不影响对本案事实的认定。再次,我院对申诉进行复查的对象是已经发生法律效力的判决、裁定,本案的生效裁判是(2014)溧刑初字第268号刑事判决和(2015)宁刑终字第433号刑事裁定,江苏省高级人民法院作出的驳回申诉通知书不属于我院复查的范围。综上,本院认为,你们的申诉不符合《中华人民共和国刑事诉讼法》第二百五十三条规定的应当重新审判的情形,予以驳回。望你们尊重人民法院的生效裁判,自觉服判息诉。特此通知。二〇二二年十二月十四日" + } +] \ No newline at end of file diff --git a/resources/example_instruction_tune.json b/resources/example_instruction_tune.json new file mode 100644 index 0000000..496d4fd --- /dev/null +++ b/resources/example_instruction_tune.json @@ -0,0 +1,12 @@ +[ + { + "instruction": "酒驾撞人要判多久?", + "input": "", + "output": "《刑法》第一百三十三条规定:违反交通运输管理法规,因而发生重大事故,致人重伤、死广或者使公私财产遭受重大损失的,处三年以下有期徒刑或者拘役;交通运输肇事后逃逸,致人重伤的,处三年以上七年以下有期徒刑。交通肇事后逃逸致人死亡的,处七年以上有期徒刑。" + }, + { + "instruction": "偷狗被派出所抓到,会怎么处理?", + "input": "", + "output": "取决于偷盗的狗的价值,可能按盗窃罪的罪名处理。如果价值达到犯罪标准,就构成盗窃罪,要承担刑事责任;如果不到犯罪标准,就是治安处罚、罚款或者拘留治安处罚这会涉嫌构成盗窃。如果不到一千元,则不会构成犯罪。如果超过一千元,则可能会是构成犯罪的。" + } +] \ No newline at end of file diff --git a/scripts/train_clm.sh b/scripts/train_clm.sh new file mode 100644 index 0000000..cb45cb6 --- /dev/null +++ b/scripts/train_clm.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +WORLD_SIZE=8 CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 torchrun --nproc_per_node=8 --master_port=1235 train_clm.py \ + --base_model './models/base_models/chinese_llama_7b' \ + --data_path './data/train_clm_data.json' \ + --output_dir './outputs/train-clm' \ + --batch_size 128 \ + --micro_batch_size 8 \ + --num_epochs 1 \ + --learning_rate 0.0003 \ + --cutoff_len 1024 \ + --val_set_size 0 \ + --lora_r 16 \ + --lora_alpha 32 \ + --lora_dropout 0.05 \ + --lora_target_modules '[q_proj, v_proj, k_proj, o_proj]' \ + --train_on_inputs True \ + --add_eos_token True \ + --group_by_length True \ + --resume_from_checkpoint './outputs/train-clm' \ No newline at end of file