首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

apex-master.zip

人工智能 21.36MB 8 需要积分: 1
立即下载

资源介绍:

apex-master.zip
## ChatGLM微调 本项目主要针对ChatGLM、ChatGLM2和ChatGLM3模型进行不同方式的微调(Freeze方法、Lora方法、P-Tuning方法、全量参数等),并对比大模型在不同微调方法上的效果,主要针对信息抽取任务、生成任务、分类任务等。 本项目支持单卡训练&多卡训练,由于采用单指令集方式微调,模型微调之后**并没有出现严重的灾难性遗忘**。 由于官方代码和模型一直在更新,目前ChatGLM1和2的代码和模型的为20230806版本(注意如果发现代码运行有误,可将ChatGLM相关源码替换文件中的py文件,因为可能你下的模型版本与本项目代码版本不一致),ChatGLM3是版本20231212。 PS:没有用Trainer(虽然Trainer代码简单,但不易修改,大模型时代算法工程师本就成为了数据工程师,因此更需了解训练流程) ## 更新简介 - update-2023.12.12 增加ChatGLM3代码支持,通过model_type完成模型切换,并增加推理代码。 - update-2023.08.06 代码和模型已经更新到最新,支持单卡&多卡训练,支持ChatGLM2模型训练、支持全量参数训练,所有代码进行了结构增加可读性。 - update-2023.06.12 [**增加流水线并行训练方法**](https://zhuanlan.zhihu.com/p/636488690),请看[v0.1 Tag](https://github.com/liucongg/ChatGLM-Finetuning/tree/v0.1) - update-2023.04.18 **增加文本生成任务评测**,请看[v0.1 Tag](https://github.com/liucongg/ChatGLM-Finetuning/tree/v0.1) - update-2023.04.05 **增加信息抽取任务评测**,请看[v0.1 Tag](https://github.com/liucongg/ChatGLM-Finetuning/tree/v0.1) ## 微调方法 模型微调时,如果遇到显存不够的情况,可以开启gradient_checkpointing、zero3、offload等参数来节省显存。 下面model_name_or_path参数为模型路径,请根据可根据自己实际模型保存地址进行修改。 ### Freeze方法 Freeze方法,即参数冻结,对原始模型部分参数进行冻结操作,仅训练部分参数,以达到在单卡或多卡,不进行TP或PP操作就可以对大模型进行训练。 微调代码,见train.py,核心部分如下: ```python3 freeze_module_name = args.freeze_module_name.split(",") for name, param in model.named_parameters(): if not any(nd in name for nd in freeze_module_name): param.requires_grad = False ``` 针对模型不同层进行修改,可以自行修改freeze_module_name参数配置,例如"layers.27.,layers.26.,layers.25.,layers.24."。 训练代码均采用DeepSpeed进行训练,可设置参数包含train_path、model_name_or_path、mode、train_type、freeze_module_name、ds_file、num_train_epochs、per_device_train_batch_size、gradient_accumulation_steps、output_dir等, 可根据自己的任务配置。 ChatGLM单卡训练 ``` CUDA_VISIBLE_DEVICES=0 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm ``` ChatGLM四卡训练,通过CUDA_VISIBLE_DEVICES控制具体哪几块卡进行训练,如果不加该参数,表示使用运行机器上所有卡进行训练 ``` CUDA_VISIBLE_DEVICES=0,1,2,3 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm ``` ChatGLM2单卡训练 ``` CUDA_VISIBLE_DEVICES=0 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM2-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm2 \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm2 ``` ChatGLM2四卡训练,通过CUDA_VISIBLE_DEVICES控制具体哪几块卡进行训练,如果不加该参数,表示使用运行机器上所有卡进行训练 ``` CUDA_VISIBLE_DEVICES=0,1,2,3 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM2-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm2 \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm2 ``` ChatGLM3单卡训练 ``` CUDA_VISIBLE_DEVICES=0 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM3-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \ --num_train_epochs 2 \ --gradient_accumulation_steps 4 \ --warmup_ratio 0.1 \ --mode glm3 \ --train_type freeze \ --freeze_module_name "layers.27.,layers.26.,layers.25.,layers.24." \ --seed 1234 \ --ds_file ds_zero2_no_offload.json \ --gradient_checkpointing \ --show_loss_step 10 \ --output_dir ./output-glm3 ``` ChatGLM3四卡训练,通过CUDA_VISIBLE_DEVICES控制具体哪几块卡进行训练,如果不加该参数,表示使用运行机器上所有卡进行训练 ``` CUDA_VISIBLE_DEVICES=0,1,2,3 deepspeed --master_port 520 train.py \ --train_path data/spo_0.json \ --model_name_or_path ChatGLM3-6B/ \ --per_device_train_batch_size 1 \ --max_len 1560 \ --max_src_len 1024 \ --learning_rate 1e-4 \ --weight_decay 0.1 \

资源文件列表:

ChatGLMFinetuningmaster(1).zip 大约有60个文件
  1. ChatGLM-Finetuning-master/
  2. ChatGLM-Finetuning-master/.idea/
  3. ChatGLM-Finetuning-master/.idea/.gitignore 50B
  4. ChatGLM-Finetuning-master/.idea/ChatGLM-Finetuning-master.iml 452B
  5. ChatGLM-Finetuning-master/.idea/inspectionProfiles/
  6. ChatGLM-Finetuning-master/.idea/inspectionProfiles/profiles_settings.xml 174B
  7. ChatGLM-Finetuning-master/.idea/misc.xml 292B
  8. ChatGLM-Finetuning-master/.idea/modules.xml 309B
  9. ChatGLM-Finetuning-master/.idea/workspace.xml 3.53KB
  10. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/
  11. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/
  12. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/.gitignore 176B
  13. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/ChatGLM-Finetuning.iml 284B
  14. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/deployment.xml 815B
  15. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/inspectionProfiles/
  16. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/inspectionProfiles/profiles_settings.xml 174B
  17. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/misc.xml 185B
  18. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/modules.xml 288B
  19. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/.idea/vcs.xml 180B
  20. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/
  21. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/d2q_0.json 3.72MB
  22. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/d2q_1.json 25.22KB
  23. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/news.jsonl 25.6MB
  24. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/spo_0.json 1.27MB
  25. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/spo_1.json 48.09KB
  26. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/trains2train_data.py 675B
  27. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/data/train_news.jsonl 26.42MB
  28. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/ds_zero2_no_offload.json 976B
  29. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/ds_zero3_no_offload.json 1.01KB
  30. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/ds_zero3_offload.json 1KB
  31. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/
  32. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/configuration_chatglm.py 4.18KB
  33. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/modeling_chatglm.py 56.27KB
  34. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/quantization.py 14.7KB
  35. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm1/tokenization_chatglm.py 16.65KB
  36. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/
  37. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/configuration_chatglm.py 2.19KB
  38. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/modeling_chatglm.py 49.51KB
  39. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/quantization.py 14.35KB
  40. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm2/tokenization_chatglm.py 9.66KB
  41. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/
  42. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/configuration_chatglm.py 2.28KB
  43. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/modeling_chatglm.py 54.37KB
  44. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/quantization.py 14.35KB
  45. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/glm3/tokenization_chatglm.py 11.97KB
  46. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/
  47. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/ft_code.png 50.94KB
  48. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/ft_fanyi.png 47.1KB
  49. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/ft_qa.png 40.7KB
  50. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/Lora.png 17.86KB
  51. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/images/PT.png 108.81KB
  52. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/merge_lora.py 1.04KB
  53. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/model.py 1.28KB
  54. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/predict.py 1.93KB
  55. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/README.md 32.96KB
  56. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/requirements.txt 163B
  57. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/train.py 11.13KB
  58. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/train_full.sh 823B
  59. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/train_lora.sh 985B
  60. ChatGLM-Finetuning-master/ChatGLM-Finetuning-master/utils.py 8.69KB
0评论
提交 加载更多评论
其他资源 gpt-neox-main.zip
gpt-neox-main.zip
gpt-neox-main.zip
lm-dataformat-master.zip
lm-dataformat-master.zip
ZGKJ统计年鉴Excel版(1991-2023年).zip
在数字化时代的浪潮中,数据的重要性日益凸显。对于研究人员、政策制定者以及市场分析师而言,准确、全面的数据是他们分析和决策的基础。《中国科技统计年鉴Excel版(1991-2023年)》正是这样一个宝贵的数据资源,它为了解中国科技进步的脉络提供了一扇窗口。 首先,让我们来了解一下《中国科技统计年鉴》的背景。《中国科技统计年鉴》是由中国国家统计局和科技部联合编纂的年度出版物,自1991年起每年发布一次,至今已有30多年的历史。该年鉴详细记录了中国科技活动的各个方面,包括研发经费投入、科技人才队伍、科研成果产出、技术市场交易等关键指标。 随着信息技术的发展,数据的电子化、表格化成为趋势。《中国科技统计年鉴Excel版》应运而生,它将纸质版的年鉴内容转化为电子表格形式,极大地提高了数据的可访问性和可操作性。用户可以通过Excel软件轻松地检索、筛选、排序和分析数据,这无疑为研究人员提供了极大的便利。
Plain Craft Launcher 2.zip
Plain Craft Launcher 2.zip
萝丽-三代控及接收机源代码
简单易用
Android Launcher应用开发
Android Launcher应用开发Android Launcher应用开发
content_1723521037584.zip
content_1723521037584.zip
中文简体繁体转换工具,支持txt,小说格式
普通转换 可以直接将字幕文件拖拽到软件中,自动读取字幕文件内容,点击“转为简体”或“转为繁体”完成转换,点击“保存”按钮可以输出保存。 批量转换 可以直接将含有字幕的文件夹拖拽到软件中,选择转换的格式,填写输出的文件名样式,点击“开始转换”即可完成转换。 批量转换使用多线程技术,转换过程UI不卡顿,其他功能可正常同步使用,方便并快捷。 需要注意当目标“文件名”与源文件或已存在文件同名时会覆盖掉已有文件,请注意备份源字幕文件。 批量转换将自动获取该目录下的全部字幕文件(包括ASS、SSA、SRT、LRC、TXT),其他格式文件不会读取。 输入编码说明 此功能针对BIG5或GBK等编码的文件输出乱码的问题,通过修改对应的输入文件编码,解决乱码的问题。 默认建议使用UTF-8,适用大多数的输入文件。 输出编码说明 无特殊要求不要修改此选项,选择错误将导致输出文件乱码。 默认建议使用UTF-8,适用大多数视频播放器。 文件名样式说明 批量转换使用的是文件名样式替换掉替换符,替换符使用{}包裹,已有替换符如下: {name} 源文件名 如果觉得可以的话可以给个赞吗,拜托拜托