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

公司如何办网站百度推广开户多少钱一个月

公司如何办网站,百度推广开户多少钱一个月,Wordpress静态文件服务器,绍兴手机网站建设1. 引言 前文训练时都做了一定的编码工作#xff0c;其实有一些框架可以支持我们零代码微调#xff0c;LLama-Factory就是其中一个。这是一个专门针对大语言模型的微调和训练平台#xff0c;有如下特性#xff1a; 支持常见的模型种类#xff1a;LLaMA、Mixtral-MoE、Qw…1. 引言 前文训练时都做了一定的编码工作其实有一些框架可以支持我们零代码微调LLama-Factory就是其中一个。这是一个专门针对大语言模型的微调和训练平台有如下特性 支持常见的模型种类LLaMA、Mixtral-MoE、Qwen、Baichuan、ChatGLM等等。支持单GPU和多GPU训练。支持全参微调、Lora微调、QLora微调。 …… 还有很多优秀的特性详细参考https://llamafactory.readthedocs.io/zh-cn/latest/ 本文会尝试用LLamaFactory进行一次多GPU训练。 2. 安装 git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e .[torch,metrics,deepspeed,bitsandbytes,vllm]安装完后执行llamafactory-cli version验证安装是否成功结果报了AttributeError: module torch.library has no attribute register_fake。 原因PyTorch 和 TorchVision 版本不兼容经常发生在torchvision较新而pytorch版本较旧的场景。 解法使用pip install --upgrade torch torchvision 更新两者版本使之一致再次运行llamafactory-cli version后正常输出了版本号0.8.4。 ---------------------------------------------------------- | Welcome to LLaMA Factory, version 0.8.4.dev0 | | | | Project page: https://github.com/hiyouga/LLaMA-Factory | ----------------------------------------------------------3. 数据处理 针对sft llamafactory支持多种数据格式我们这里选用alpaca此格式简单清晰每条数据只需包含三个字段 instruction 列对应的内容为人类指令input 列对应的内容为人类输入output 列对应的内容为模型回答。 {instruction: 计算这些物品的总费用。 ,input: 输入汽车 - $3000衣服 - $100书 - $20。,output: 汽车、衣服和书的总费用为 $3000 $100 $20 $3120。 },为了格式匹配封装一个函数to_alpaca用于转换数据。 import json def to_alpaca(input_path, output_path):with open(input_path, r, encodingutf-8) as infile, open(output_path, w, encodingutf-8) as outfile: dataset []for line in infile: data json.loads(line) item {input: data[input],output: json.dumps({is_fraud:data[label]}, ensure_asciiFalse),instruction:data[instruction],} dataset.append(item)# 将结果写入输出文件 outfile.write(json.dumps(dataset, indent4, ensure_asciiFalse)) print(fconvert over{input_path} to {output_path})批量将前文欺诈文本分类微调四构造训练/测试数据集已经构建好的数据集作格式转换。 input_files [../dataset/fraud/train_test/train0819.jsonl,../dataset/fraud/train_test/test0819.jsonl,../dataset/fraud/train_test/eval0819.jsonl, ]for input_path in input_files:output_path f../dataset/fraud/train_test/{filename(input_path)}_alpaca.jsonto_alpaca(input_path, output_path)convert over../dataset/fraud/train_test/train0819.jsonl to ../dataset/fraud/train_test/train0819_alpaca.json convert over../dataset/fraud/train_test/test0819.jsonl to ../dataset/fraud/train_test/test0819_alpaca.json convert over../dataset/fraud/train_test/eval0819.jsonl to ../dataset/fraud/train_test/eval0819_alpaca.json 文件内容如下所示 [{input: 发言人3: 现在我所在这个哪里能够工艺能够去把屈光做得很好的去到这个省级医院是自治区医院跟广西医科大学这个附属医院他们还可以他们一直保持比较好的一个一个手术量。\n发言人1: 就是,output: {\is_fraud\: false},instruction: \n下面是一段对话文本, 请分析对话内容是否有诈骗风险以json格式输出你的判断结果(is_fraud: true/false)。\n},……{input: 发言人12: 好的感谢大家参加本次电话会议会议到此结束祝大家生活愉快再见。\n发言人1: 本次会议已结束。\n发言人2: the meeting has ended。,output: {\is_fraud\: false},instruction: \n下面是一段对话文本, 请分析对话内容是否有诈骗风险以json格式输出你的判断结果(is_fraud: true/false)。\n} ]转换好数据集后需要将其配置到LLamaFactory安装目录下的data/dataset_info.json文件中只需要在文件最后添加我们新构造的数据集。 {identity: {file_name: identity.json},……anti_fraud: {file_name: train0819_alpaca.jsonl,columns: {prompt: instruction,query: input,response: output}} }4. 训练参数配置 LLamaFactory的训练参数采用yaml文件保存在安装目录下的examples子目录下有各种微调方法的示例配置可以直接拷贝一份进行修改。 yaml文件中采用分块配置下面分别示例。 模型路径 ### model model_name_or_path: /data2/anti_fraud/models/modelscope/hub/Qwen/Qwen2-1___5B-Instruct微调方法 说明同前面训练的参数配置保持一致。 stage: sft do_train: true finetuning_type: lora # 具体微调方法采用Lora lora_target: q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj lora_rank: 16 lora_alpha: 32 lora_dropout: 0.2stage: sft LLamaFactory中将训练划分成了很多阶段例如rm(reward modeling), pt(pretrain), sft(Supervised Fine-Tuning), PPO, DPO, KTO, ORPO监督微调选择sft。finetuning_type: lora 微调方法选择Lora。 数据集配置 这部分参数定义上有些不同下面会详细说明。 dataset: anti_fraud template: qwen cutoff_len: 2048 max_samples: 200000 overwrite_cache: true preprocessing_num_workers: 16dataset: anti_fraud 是用于上面在dataset_info.json中添加的数据集名称。 template: llama3 此参数控制着最终给模型训练的数据模板。 如果是llama3: |start_header_id|user|end_header_id|下面是一段对话文本, 请分析对话内容是否有诈骗风险以json格式输出你的判断结果(is_fraud: true/false)。发言人3: 现在我所在这个哪里能够工艺能够去把屈光做得很好的去到这个省级医院是自治区医院跟广西医科大学这个附属医院他们还可以他们一直保持比较好的一个一个手术量。 发言人1: 就是|eot_id||start_header_id|assistant|end_header_id|{is_fraud: false}|eot_id|如果是qwen: |im_start|system You are a helpful assistant.|im_end| |im_start|user下面是一段对话文本, 请分析对话内容是否有诈骗风险以json格式输出你的判断结果(is_fraud: true/false)。发言人3: 现在我所在这个哪里能够工艺能够去把屈光做得很好的去到这个省级医院是自治区医院跟广西医科大学这个附属医院他们还可以他们一直保持比较好的一个一个手术量。 发言人1: 就是|im_end| |im_start|assistant {is_fraud: false}|im_end|cutoff_len: 相当于max_length限制一条数据的最大长度超出截断。 max_samples: 用于限制在训练或评估过程中使用的样本数量。此参数主要适用于数据集非常大并且不需要所有样本都进行训练的场景。 输出配置 说明同前面训练的参数配置保持一致。 ### output output_dir: /data2/anti_fraud/models/Qwen2-1___5B-Instruct_ft_0826 logging_steps: 10 save_steps: 100 plot_loss: true overwrite_output_dir: true训练配置 说明同前面训练的参数配置保持一致。 per_device_train_batch_size: 16 gradient_accumulation_steps: 1 gradient_checkpointing: true learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.05 bf16: true ddp_timeout: 180000000验证配置 说明同前面训练的参数配置保持一致。 val_size: 0.1 per_device_eval_batch_size: 8 eval_strategy: steps eval_steps: 100配置完成后将上面的配置保存到qwen2_lora_sft.yaml 文件中。 5. 训练 5.1 开始训练 设置环境变量CUDA_VISIBLE_DEVICES声明训练过程中允许使用4张显卡显卡编号分别为1、2、3、4。 使用 llamafactory-cli命令启动训练。 export CUDA_VISIBLE_DEVICES1,2,3,4 llamafactory-cli train /data2/downloads/LLaMA-Factory/qwen2_lora_sft.yaml 训练关键信息 08/26/2024 18:08:49 - INFO - llamafactory.model.loader - trainable params: 18,464,768 || all params: 1,562,179,072 || trainable%: 1.1820 [INFO|trainer.py:2134] 2024-08-26 18:08:50,496 ***** Running training ***** [INFO|trainer.py:2135] 2024-08-26 18:08:50,496 Num examples 19,021 [INFO|trainer.py:2136] 2024-08-26 18:08:50,496 Num Epochs 3 [INFO|trainer.py:2137] 2024-08-26 18:08:50,496 Instantaneous batch size per device 16 [INFO|trainer.py:2140] 2024-08-26 18:08:50,496 Total train batch size (w. parallel, distributed accumulation) 64 [INFO|trainer.py:2141] 2024-08-26 18:08:50,496 Gradient Accumulation steps 1 [INFO|trainer.py:2142] 2024-08-26 18:08:50,496 Total optimization steps 894 [INFO|trainer.py:2143] 2024-08-26 18:08:50,502 Number of trainable parameters 18,464,768从上面这个信息可以看出一个显著变化实际的批量大小batch_size从单卡下的16变成了多GPU下的64。在数据量不变的情况下总的训练步数从之前的3522缩小到了894相当于训练步数变少而每一步迈的更大。 第一个100步的信息 训练完的eval_loss为0.0152比单卡时的验证损失0.016190要低。 ***** eval metrics *****epoch 3.0eval_loss 0.0152eval_runtime 0:00:17.00eval_samples_per_second 124.291eval_steps_per_second 3.9395.2 可视化训练结果 使用tensorboard可视化训练过程中的数据指标。 tensorboard --host0.0.0.0 --port 6006 --logdir/data2/anti_fraud/models/Qwen2-1___5B-Instruct_ft_0826/runs/Aug26_18-07-16_ubuntu/训练损失下降曲线 验证损失下降曲线 学习率变化曲线 学习率先降后升是学习率调度器配置lr_scheduler_type: cosine所起的作用它将我们预设的1e-4作为最大值刚开始训练时从2e-5左右缓慢上升至1e-4来适应数据随着训练到了后期逐渐降低学习率来尝试找到损失最低点。 5.3 评估测试 使用魔法命令%run导入评估脚本定义原始模型/微调checkpoint的路径以及评估数据集。 %run evaluate.py device cuda evaldata_path /data2/anti_fraud/dataset/eval0819.jsonl model_path /data2/anti_fraud/models/modelscope/hub/Qwen/Qwen2-1___5B-Instruct checkpoint_path_900 /data2/anti_fraud/models/Qwen2-1___5B-Instruct_ft_0826/checkpoint-900运行评测 evaluate(model_path, checkpoint_path_900, evaldata_path, device, batchTrue, debugTrue)progress: 100%|██████████| 2348/2348 [03:2200:00, 11.59it/s] tn1160, fp:5, fn:103, tp:1080 precision: 0.9953917050691244, recall: 0.9129332206255283精确率precision从0.978上升到了0.995召回率从0.866上升到了0.912说明多张卡一起训练带来的批量大小增加有助于模型更好的学习数据分布从而更快的收敛到更优的解。 小结本文尝试用LLamaFactory工具对前面的欺诈文本分类任务进行了SFT微调训练并启用了多张GPU多GPU的直接影响是批量大小batch_size的4倍增加使得模型每次训练时能看到更多的数据进行更稳定梯度估计和更准确的参数更新最终在评测指标上有一个显著的提升。 参考文章 欺诈文本分类微调七lora单卡二次调优LLamaFactory使用教程llama-factory参数体系llama-factory微调参数详解
http://www.hkea.cn/news/14339352/

相关文章:

  • 网站建设推广熊掌号王野天个人资料
  • 网站开发备案费用销售类网站模板
  • 广西高端网站建设国外工作招聘网站
  • 服装 网站模板 wordpress深圳市建设注册中心网站
  • 高端网站开发找苏州觉世品牌怎么定义自豪地采用WordPress
  • 网站一年的费用网站建设开发案例教程视频教程
  • 获取网站漏洞后下一步怎么做军事网站模板下载
  • php网站作业模版wordpress主题seo
  • 给公司做网站 优帮云it外包前景
  • 国内vps做网站要备案吗wordpress 访问不了
  • 手机网站建设请示让自己的电脑做网站的服务器
  • 重庆seo网站管理去黄山旅游攻略和费用
  • 做网站托管的好处白酒网站源码
  • 做网站设计素材网站模块添加
  • 网站源代码分列怎么做做网站网站要找谁
  • 给人做网站昆山网站建设工作室
  • 怎样做企业网站宣传环保主题的网站模板
  • 那里可以建网站成品短视频代码推荐大全
  • 网站域名邮箱.net网站
  • 网站是谁做的宁波网站开发制作
  • 王建设个人网站如何申请电商网站
  • 佳作哪个公司做网站比较好平面网页设计学校
  • 建站模板源码做网站都需要哪些知识
  • 经典网站欣赏、app定制哪里找
  • 建筑网站登陆页面鸣蝉建站平台
  • 广州网站优化效果什么是网络营销?网络营销的特点有哪些?
  • 哪些网站可以做微信wordpress多本小说站出售
  • 如何快速备案网站厦门医院网站建设
  • 网站推广seo做单挣钱的网站
  • 专门做喷涂设备的网站哪些网站可以做百科参考资料