当前位置: 首页 > news >正文

机票特价网站建设学做网站的学校

机票特价网站建设,学做网站的学校,微信微网站是什么,个人电影网站备案GPT实战系列-ChatGLM2模型的微调训练参数解读 目录 GPT实战系列-ChatGLM2模型的微调训练参数解读ChatGLM2模型1、P-Tuning模型微调2、微调训练配置参数train.sh中配置参数训练配置信息模型配置信息附录#xff1a;训练正常运行打印信息 ChatGLM2模型 ChatGLM-6B是开源的文本生…GPT实战系列-ChatGLM2模型的微调训练参数解读 目录 GPT实战系列-ChatGLM2模型的微调训练参数解读ChatGLM2模型1、P-Tuning模型微调2、微调训练配置参数train.sh中配置参数训练配置信息模型配置信息附录训练正常运行打印信息 ChatGLM2模型 ChatGLM-6B是开源的文本生成式对话模型基于General Language Model(GLM)框架具有62亿参数FP16 半精度下ChatGLM-6B 需要 13GB 左右的显存进行推理。 ChatGLM-6B另一个突出优点是 可以部署在消费级显卡上结合模型蒸馏技术和模型量化技术可以进一步降低到 10GBINT8 和 6GBINT4。实测在2080ti显卡预测上(INT4)显存占用6G左右。 1、P-Tuning模型微调 P-Tuning的全称是Prefix-tuning,意为“前缀调优”。它通过在模型输入前添加小段Discrete prompt(类似填空句),并只优化这个prompt来实现模型微调。P-tuning-v2是基于Prompt-tuning方法的NLP模型微调技术。总体来说,P-tuning-v2是Prompt tuning技术的升级版本,使得Prompt的表示能力更强,应用也更灵活广泛。它被认为是Prompt tuning类方法中效果最优且易用性最好的版本。 代码实现对于 ChatGLM2-6B 模型基于 P-Tuning v2 的微调。P-Tuning v2 将需要微调的参数量减少到原来的 0.1%再通过模型量化、Gradient Checkpoint 等方法预测最低只需要 7GB 显存即可运行。 将训练和测试数据解压后的 AdvertiseGen 目录放到ptuning目录下。 ChatGLM2的训练源代码https://github.com/THUDM/ChatGLM2-6B 文件目录结构 ├── FAQ.md ├── MODEL_LICENSE ├── README.md 说明文档 ├── README_EN.md ├── api.py ├── cli_demo.py ├── evaluation │ ├── README.md │ └── evaluate_ceval.py ├── openai_api.py ├── ptuning │ ├── README.md 说明文档 │ ├── arguments.py │ ├── deepspeed.json │ ├── ds_train_finetune.sh │ ├── evaluate.sh │ ├── evaluate_finetune.sh │ ├── main.py │ ├── train.sh 训练脚本 │ ├── train_chat.sh │ ├── trainer.py │ ├── trainer_seq2seq.py │ ├── web_demo.py │ └── web_demo.sh 测试脚本 ├── requirements.txt 环境依赖文件 ├── resources │ ├── WECHAT.md │ ├── cli-demo.png │ ├── knowledge.png │ ├── long-context.png │ ├── math.png │ ├── web-demo.gif │ ├── web-demo2.gif │ └── wechat.jpg ├── utils.py ├── web_demo.py └── web_demo2.py2、微调训练配置参数 训练之前需要根据自己的训练需求训练数据和机器配置情况修改配置参数。 train.sh中配置参数 PRE_SEQ_LEN128 # soft prompt 长度 LR2e-2 # 训练学习率 NUM_GPUS2 # GPU卡的数量torchrun --standalone --nnodes1 --nproc-per-node$NUM_GPUS main.py \--do_train \ # 执行训练功能还可以执行评估功能--train_file AdvertiseGen/train.json \ # 训练文件目录--validation_file AdvertiseGen/fval.json \ # 验证文件目录--prompt_column content \ # 训练集中prompt提示名称对应训练文件测试文件的content--response_column summary \ # 训练集中答案名称对应训练文件测试文件的summary--overwrite_cache \ # 缓存重复训练一次的时候可删除--model_name_or_path THUDM/chatglm-6b \ # 加载模型文件目录也可修改为本地模型的路径--output_dir output/adgen-chatglm-6b-pt-$PRE_SEQ_LEN-$LR \ # 保存训练模型文件目录--overwrite_output_dir \ # 覆盖训练文件目录--max_source_length 64 \ # 最大输入文本的长度--max_target_length 128 \--per_device_train_batch_size 1 \ # batch_size 训练批次根据显存调节--per_device_eval_batch_size 1 \ # 验证批次--gradient_accumulation_steps 16 \ # 梯度累加的步数--predict_with_generate \--max_steps 3000 \ # 最大训练模型的步数--logging_steps 10 \ # 多少步打印日志一次--save_steps 1000 \ # 多少步保存模型一次--learning_rate $LR \ # 学习率--pre_seq_len $PRE_SEQ_LEN \--quantization_bit 4 # 量化也可修改为int8训练配置参数具体解释 # 长度和 学习率 –PRE_SEQ_LEN 是 soft prompt 长度可以进行调节以取得最佳的效果。 –LR 是训练的学习率 # 本地数据训练集和测试集的路径 –train_file AdvertiseGen/train.json –validation_file AdvertiseGen/dev.json \ # 模型目录。 如果你想要从本地加载模型可以将THUDM/chatglm2-6b 改为你本地的模型路径。 –model_name_or_path THUDM/chatglm-6b # 最大训练步数 –max_steps 3000 # 模型量化可通过调整 quantization_bit 来被原始模型的量化等级不加此选项则为 FP16 精度加载。在默认配置 quantization_bit4 –quantization_bit 4 # 量化也可修改为int8 # 批次迭代参数在默认配置 per_device_train_batch_size1、gradient_accumulation_steps16 下一次训练迭代会以 1 的批处理大小进行 16 次累加的前后向传播等效为 16 的总批处理大小此时最低只需 6.7G 显存。若想在同等批处理大小下提升训练效率可在二者乘积不变的情况下加大 per_device_train_batch_size 的值但也会带来更多的显存消耗请根据实际情况酌情调整。 –per_device_train_batch_size 1 \ # batch_size 训练批次根据显存调节 –per_device_eval_batch_size 1 \ # 验证批次 –gradient_accumulation_steps 16 \ # 梯度累加的步数 训练配置信息 执行训练脚本后训练过程中屏幕打印信息如下 ***** Running training ***** Num examples 114,599Num Epochs 100 Instantaneous batch size per device 4Total train batch size (w. parallel, distributed accumulation) 16Gradient Accumulation steps 4Total optimization steps 3,000Number of trainable parameters 1,949,696这些参数是深度学习模型训练过程中的一些关键设置。 Num examples 114,599: 表示在训练集中有114,599个样本即114,599个独立的训练数据用于训练。 Num Epochs 100: 一个epoch指的是模型在训练过程中遍历整个训练集一次。因此Num Epochs 100意味着模型会遍历整个训练集100次。 Instantaneous batch size per device 4: 在深度学习中通常不会同时处理所有的训练样本而是将它们分成“批次”进行处理。每个批次的大小就是每次模型训练的样本数量。在这个例子中每个设备上的即时批量大小为4意味着每个设备一次处理4个样本。 Total train batch size (w. parallel, distributed accumulation) 16: 表示在并行、分布式和积累情况下总的训练批次大小为16。这可能意味着在多个设备上同时进行训练每个设备处理一部分批次然后把这些批次加起来总和为16。 Gradient Accumulation steps 4: 梯度累积是一种在内存不足的情况下训练大模型的技巧。它的工作原理是在进行反向传播并更新模型权重之前先计算并累积一定步数的梯度。在该例中每4个批次后进行一次权重更新。 Total optimization steps 3,000: 优化步数是模型训练过程中权重更新的总次数。在这个例子中模型权重将被更新3000次。 Number of trainable parameters 1,949,696: 这是模型中可以通过训练改变的参数的数量。深度学习模型的性能通常与其可训练参数的数量有关。但是更多的参数并不总是意味着更好的性能因为过多的参数可能导致过拟合即模型过于复杂不能很好地泛化到训练集之外的新数据。 模型配置信息 add_bias_linear: false,add_qkv_bias: true,apply_query_key_layer_scaling: true,apply_residual_connection_post_layernorm: false,architectures: [ChatGLMModel],attention_dropout: 0.0,attention_softmax_in_fp32: true,auto_map: {AutoConfig: configuration_chatglm.ChatGLMConfig,AutoModel: modeling_chatglm.ChatGLMForConditionalGeneration,AutoModelForSeq2SeqLM: modeling_chatglm.ChatGLMForConditionalGeneration},bias_dropout_fusion: true,eos_token_id: 2,ffn_hidden_size: 13696,fp32_residual_connection: false,hidden_dropout: 0.0,hidden_size: 4096,kv_channels: 128,layernorm_epsilon: 1e-05,model_type: chatglm,multi_query_attention: true,multi_query_group_num: 2,num_attention_heads: 32,num_layers: 28,original_rope: true,pad_token_id: 2,padded_vocab_size: 65024,post_layer_norm: true,quantization_bit: 0,rmsnorm: true,seq_length: 32768,tie_word_embeddings: false,torch_dtype: float16,transformers_version: 4.30.2,use_cache: true这些参数是深度学习模型配置的详细设置特别是对于ChatGLM的模型。以下是每个参数的含义 “add_bias_linear”: false: 表示是否在线性层中添加偏置项。 “add_qkv_bias”: true: 表示是否在注意力机制的查询Q、键K和值V计算中添加偏置项。 “apply_query_key_layer_scaling”: true: 表示是否对注意力机制中的查询和键进行缩放处理。 “apply_residual_connection_post_layernorm”: false: 表示是否在层归一化后应用残差连接。 “architectures”: [“ChatGLMModel”]: 表示该配置用于的模型架构。 “attention_dropout”: 0.0: 表示在注意力计算中应用的dropout的比率。Dropout是一种防止模型过拟合的技术。 “attention_softmax_in_fp32”: true: 表示是否在单精度浮点格式FP32中执行注意力机制的Softmax计算。 “auto_map”: 这部分将自动配置模型映射到ChatGLM的配置和模型。 “bias_dropout_fusion”: true: 表示是否融合偏置和dropout。这通常用于优化和提高训练速度。 “eos_token_id”: 2: 定义结束符End of Sentence的标识符。 “ffn_hidden_size”: 13696: 表示前馈神经网络Feedforward Neural NetworkFFN的隐藏层的大小。 “fp32_residual_connection”: false: 表示是否在单精度浮点格式FP32中应用残差连接。 “hidden_dropout”: 0.0: 隐藏层的dropout率。 “hidden_size”: 4096: 隐藏层的大小。 “kv_channels”: 128: 键值Key-Value的通道数。 “layernorm_epsilon”: 1e-05: 层归一化的epsilon值为了防止除数为零。 “model_type”: “chatglm”: 模型类型。 “multi_query_attention”: true: 表示是否使用多查询注意力。 “multi_query_group_num”: 2: 在多查询注意力中的查询组数。 “num_attention_heads”: 32: 注意力机制的头数。 “num_layers”: 28: 模型的层数。 “original_rope”: true: 是否使用原始的ROPE模式。 “pad_token_id”: 2: 定义填充符的标识符。 “padded_vocab_size”: 65024: 表示经过填充后的词汇表大小。 “post_layer_norm”: true: 是否在层后应用层归一化。 “quantization_bit”: 0: 表示量化的位数。 “rmsnorm”: true: 表示是否使用RMS归一化。 “seq_length”: 32768: 序列长度。 “tie_word_embeddings”: false: 是否绑定输入和输出的词嵌入。 “torch_dtype”: “float16”: 使用的数据类型这里是半精度浮点数。 “transformers_version”: “4.30.2”: 使用的Transformers库版本。 “use_cache”: true: 是否使用缓存以加快计算速度。 请注意上述是训练开始前打印信息的解释针对ChatGLM模型配置的解释。 附录训练正常运行打印信息 执行以下指令进行训练 ./train.sh 当出现以下信息后模型训练迭代开始后屏幕输出如下 {loss: 3.0614, learning_rate: 0.018000000000000002, epoch: 4.21} {loss: 2.2158, learning_rate: 0.016, epoch: 8.42}训练完成后屏幕将打印信息 ***** train metrics *****epoch xxtrain_loss xxtrain_runtime xxtrain_samples xxtrain_samples_per_second xxtrain_steps_per_second xxEnd 相关文章 GPT实战系列-如何用自己数据微调ChatGLM2模型训练 GPT实战系列-ChatGLM2部署UbuntuCuda11显存24G实战方案 GPT实战系列-Baichuan2本地化部署实战方案
http://www.dnsts.com.cn/news/10102.html

相关文章:

  • 怎样创作网站wordpress主题猫
  • php网站设计人员电商行业
  • 公司网站域名注册费用美容医院网站建设
  • 建设在线购物网站无需登录网页小游戏网站
  • 做排名的网站哪个好深圳做网站 龙华信科
  • 万荣网站建设域名注册是什么意思呢
  • 做网站 江门国外互联网资讯网站
  • 1.1做网站的目的什么是响应式布局
  • 网站建设师要求国际新闻最新消息今天时政
  • 广州seo优化排名推广衡阳seo网站推广
  • 如何建设电影网站淘宝网站页面设计
  • 湖南网站建设 要上磐石网络群晖nas安装wordpress
  • 给个手机网站就这么难吗租木模板多少钱一平方
  • 建设官方企业网站国家工商网查询官网
  • 方特网站是谁做的大兴区住房与城乡建设部网站
  • 网站建设合同合同期限网站优化自己做该怎么做
  • 云主机如何做两个网站高新网站建设
  • 单页网站版权显示湖北网站开发公司
  • 柯桥做网站哪家好id注册
  • 东莞网站建设推广有哪些好的网站制作公司
  • fwa 网站 欣赏网站流量增加
  • 网站设计师职位认识山西省建设资格注册中心网站
  • 建设银行网站上改手机号码5000人朋友圈推广多少钱
  • 建电子商务网站需要多少钱百度关键词排名联系方式
  • 游戏网站织梦模板制作网页填数据
  • 南宁网站建设升上去做网站是学什么编程语言
  • 做网站工单做空闲时间的网站
  • 服装公司电子商务网站建设策划书商标注册名字查询系统官网
  • 网站建设的前期准备WordPress英文主题变中文
  • 游戏发卡中心网站源码wordpress怎么开发app