2025版最新手把手教你训练大模型!零基础入门到精通,收藏这篇就够了

部署运行你感兴趣的模型镜像

01

**

LORA 微调、P-tuning 微调

**

规模预训练模型进行参数高效微调的方法有两类:LORA 微调、P-tuning 微调。

**LORA(Language-oriented Reinforcement Adapter)**是一种为自然语言处理(NLP)设计的强化学习算法,它旨在通过适应环境来改进模型的性能。在NLP领域,微调(Fine-tuning)是一种常用的技术,用于使用特定任务的数据集来调整一个预训练的模型,使其能够更好地执行特定任务。

**P-tuning(Prompt Tuning)**是一种新的模型微调方法,它通过修改输入提示(prompt)来调整模型对特定任务的适应性,而不是直接调整模型的权重。这种方法的主要思想是利用预训练语言模型的可塑性,通过设计不同的提示来引导模型生成或预测任务相关的输出。

02

**

两种微调的优缺点

**

P-tunig的优点

**1. 简单高效:**P-tuning通常比传统的权重微调更简单,因为它不需要调整模型的权重,只需要设计不同的提示。这使得P-tuning更容易实现和实验。

**2. 可扩展性:**P-tuning可以通过设计更多的提示来提高模型的性能,而传统的权重微调可能受到模型容量和计算资源的限制。

**3. 泛化能力:**P-tuning可以通过设计通用的提示来提高模型的泛化能力,使得模型能够更好地适应不同的任务和数据集。

✍P-tuning的缺点

**1. 提示设计:**P-tuning的成功很大程度上取决于提示的设计。设计有效的提示需要深入理解任务和语言模型的工作原理,这可能需要大量的实验和调整。

**2. 提示效率:**P-tuning的性能可能受到提示效率的影响。一些提示可能比其他提示更有效,这需要额外的实验来确定最佳提示。

**3. 模型依赖性:**P-tuning依赖于预训练的语言模型。如果预训练模型存在偏差或局限性,那么P-tuning的效果可能会受到影响。

✍****传统的权重微调的优点

**1. 直接优化:**传统的权重微调直接优化模型的权重,这使得模型能够更精确地适应特定任务。

**2. 可控性:**传统的权重微调允许研究人员更精确地控制模型的行为和性能。

传统的权重微调的缺点

**1. 计算成本:**传统的权重微调通常需要大量的计算资源,因为它涉及到调整模型的所有权重。

**2. 模型容量限制:**传统的权重微调可能受到模型容量和计算资源的限制,这可能限制了模型的性能和可扩展性。

**3. 泛化能力:**传统的权重微调可能更专注于特定任务,这可能会影响模型的泛化能力。

03

**

训练模型

**

这里我们以LORA微调为例,来训练模型。

在训练前,我们先来让认识一下微调的参数。

**参数路径:**ChatGLM3/finetune_demo/configs/lora.yaml

`data_config:   train_file: train.json  # 训练数据集文件路径   val_file: dev.json  # 验证数据集文件路径   test_file: dev.json  # 测试数据集文件路径   num_proc: 16  # 数据处理进程数   max_input_length: 256  # 输入序列的最大长度   max_output_length: 2000  # 输出序列的最大长度   training_args:   # 参见 `transformers.Seq2SeqTrainingArguments` 的文档   output_dir: ./output  # 模型输出目录   max_steps: 500  # 训练的最大步数   # 根据数据集调整学习率   learning_rate: 5e-5  # 学习率   # 数据加载设置   per_device_train_batch_size: 4  # 每个设备的训练批次大小   dataloader_num_workers: 16  # 数据加载工作进程数   remove_unused_columns: false  # 是否移除未使用的列   # 检查点保存设置   save_strategy: steps  # 保存策略,按步数   save_steps: 500  # 保存模型的步数间隔   # 日志记录设置   log_level: info  # 日志级别   logging_strategy: steps  # 日志记录策略,按步数   logging_steps: 10  # 记录日志的步数间隔   # 评估设置   per_device_eval_batch_size: 16  # 每个设备的评估批次大小   evaluation_strategy: steps  # 评估策略,按步数   eval_steps: 500  # 评估模型的步数间隔   # 优化器设置   # adam_epsilon: 1e-6  # Adam优化器的epsilon值   # 若要检测nan或inf值,取消注释以下行   # debug: underflow_overflow  # 调试选项,检查数值溢出或下溢   predict_with_generate: true  # 是否在预测时生成输出   # 参见 `transformers.GenerationConfig` 的文档   generation_config:   max_new_tokens: 512  # 生成新标记的最大数量   # 如果使用deepspeed,请设置绝对路径   #deepspeed: ds_zero_2.json  # DeepSpeed配置文件路径   # 如果使用CPU进行训练,设置为true   use_cpu: false  # 是否使用CPU进行训练   peft_config:   peft_type: LORA  # PEFT (Parameter-Efficient Fine-Tuning) 类型   task_type: CAUSAL_LM  # 任务类型,因果语言模型   r: 8  # LORA适配器的秩   lora_alpha: 32  # LORA适配器的alpha值   lora_dropout: 0.1  # LORA适配器的dropout比例`

在了解微调参数了以后我们就可以正式训练模型了:

✍1.准备测试数据

准备训练数据:train.json

准备验证数据:dev.json

测试数据的格式要求:

{"messages": [{"role": "system", "content": "你是一名软件测试工程师。你的任务是根据需求内容生成测试用例。请注意一定要严谨,要针对指定的需求内容生成测试用例,为了避免重复不要创造需求或者创作多余的测试用例。"},    {"role": "user", "content": "完整需求内容为:{"用户可以点击商品图片或名称,将其添加到购物车中"},    {"role": "assistant", "content": "[{'testpoint': '点击图片添加商品到购物车 ', 'operation': '1、点击商品图片', 'expectedresult': '商品成功添加到购物车 '}]"}]}   

2.启动训练

2.1打开服务器,进入虚拟环境:source myenv/bin/activate

2.2确认transformers的版本是4.40.0;如果不是,删除重新安装对应版本

查看版本:pip list

卸载老版本:pip uninstall transformers

安装指定版本:pip install transformers==4.40.0

2.3更新最新版本:pip install —upgrade accelerate(两个-)

2.4把chatglm3-6b复制一份到:/mnt/workspace/ChatGLM3

找到chatglm3-6路径:find -name chatglm3-6b

复制:cp -r ./mnt/systemDisk/.cache/modelscope/ZhipuAI/chatglm3-6b /mnt/workspace/ChatGLM3/

2.5在/mnt/workspace/chatGLM3/finetune demo/日录下创建data目录

2.6将准备的训练数据集整理成train.json和dev.json 两份数据集

2.7数据集上传到data目录

2.8将/mnt/workspace/chatGLM3/finetune demo目录下finetune hf.py文件源码的第530行eval dataset=val dataset.select(list(range(50)))代码中的iist(range(50))改为你实际dev.json 中的数据条数总数,比如我的只有7条,我就应该改为eval dataset=val dataset.select(list(range(7)))

2.9训练模型:python finetune_hf.py /mnt/workspace/ChatGLM3/finetune_demo/data /mnt/workspace/ChatGLM3/chatglm3-6b /mnt/workspace/ChatGLM3/finetune_demo/configs/lora.yaml

3.训练结束查看****效果

python inference_hf.py ./output/checkpoint-500 --prompt ‘你好’

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

四、AI大模型商业化落地方案

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值