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

专业营销型网站建设wordpress 菜单跳转

专业营销型网站建设,wordpress 菜单跳转,做网站预付款是多少,百度信息流优化文章目录 微调方法Lora(在旁边添加训练参数)Adapter(在前面添加训练参数)Prefix-tuning(在中间添加训练参数)Prompt tuning PEFTPEFT 使用PeftConfigPeftModel保存和加载模型 微调方法 现流行的微调方法有:Lora,promp…

文章目录

  • 微调方法
    • Lora(在旁边添加训练参数)
    • Adapter(在前面添加训练参数)
    • Prefix-tuning(在中间添加训练参数)
    • Prompt tuning
  • PEFT
    • PEFT 使用
      • PeftConfig
      • PeftModel
      • 保存和加载模型

微调方法

现流行的微调方法有:Lora,prompt,p-tunning v1,p-tunning v2,prefix,adapter等等,下面抱着学习的心态进行宏观层面的介绍
如有错误,欢迎指出

Lora(在旁边添加训练参数)

LoRA(Low-Rank Adaptation)是一种技术,通过低秩分解将权重更新表示为两个较小的矩阵(称为更新矩阵),从而加速大型模型的微调,并减少内存消耗。

为了使微调更加高效,LoRA的方法是通过低秩分解,使用两个较小的矩阵(称为更新矩阵)来表示权重更新。这些新矩阵可以通过训练适应新数据,同时保持整体变化的数量较少。原始的权重矩阵保持冻结,不再接收任何进一步的调整。为了产生最终结果,同时使用原始和适应后的权重进行合并。
在这里插入图片描述
假设权重的更新在适应过程中也具有较低的“内在秩”。对于一个预训练的权重矩阵W0 ∈ Rd×k,我们通过低秩分解W0 + ∆W = W0 + BA来表示其更新,其中B ∈ Rd×r,A ∈ Rr×k,且秩r ≤ min(d,k)。在训练过程中,W0被冻结,不接收梯度更新,而A和B包含可训练参数。需要注意的是,W0和∆W = BA都与相同的输入进行乘法运算,它们各自的输出向量在坐标上求和。前向传播公式如下:h = W0x + ∆Wx = W0x + BAx

在上图中我们对A使用随机高斯随机分布初始化,对B使用零初始化,因此在训练开始时∆W = BA为零。然后,通过αr对∆Wx进行缩放,其中α是r中的一个常数。在使用Adam优化时,适当地缩放初始化,调整α的过程与调整学习率大致相同。因此,只需将α设置为我们尝试的第一个r,并且不对其进行调整。这种缩放有助于在改变r时减少重新调整超参数的需求。

Adapter(在前面添加训练参数)

2019 年,Houlsby N 等人将 Adapter 引入 NLP 领域,作为全模型微调的一种替代方案。Adapter 主体架构下图所示。
在这里插入图片描述
在预训练模型每一层(或某些层)中添加 Adapter 模块(如上图左侧结构所示),微调时冻结预训练模型主体,由 Adapter 模块学习特定下游任务的知识。每个 Adapter 模块由两个前馈子层组成,第一个前馈子层将 Transformer 块的输出作为输入,将原始输入维度 d 投影到 m,通过控制 m 的大小来限制 Adapter 模块的参数量,通常情况下 m<<d。在输出阶段,通过第二个前馈子层还原输入维度,将 m 重新投影到 d,作为 Adapter 模块的输出(如上图右侧结构)。通过添加 Adapter 模块来产生一个易于扩展的下游模型,每当出现新的下游任务,通过添加 Adapter 模块来避免全模型微调与灾难性遗忘的问题。Adapter 方法不需要微调预训练模型的全部参数,通过引入少量针对特定任务的参数,来存储有关该任务的知识,降低对模型微调的算力要求。

Prefix-tuning(在中间添加训练参数)

前缀微调(prefix-tunning),用于生成任务的轻量微调。前缀微调将一个连续的特定于任务的向量序列添加到输入,称之为前缀,如下图中的红色块所示。与提示(prompt)不同的是,前缀完全由自由参数组成,与真正的 token 不对应。相比于传统的微调,前缀微调只优化了前缀。因此,我们只需要存储一个大型 Transformer 和已知任务特定前缀的副本,对每个额外任务产生非常小的开销。

Prompt tuning

提示通过包括描述任务的文本提示或甚至演示任务示例的文本提示来为特定的下游任务准备一个冻结的预训练模型。具体的,给每个任务定义 Prompt,拼接到数据上作为输入,同时 freeze 预训练模型进行训练,在没有加额外层的情况下,可以看到随着模型体积增大效果越来越好,最终追上了精调的效果。

提示方法可以分为两类:

  • 硬提示(Hard Prompts):手工制作的具有离散输入标记的文本提示;缺点是需要花费很多精力来创建一个好的提示。
  • 软提示(Soft Prompts):可与输入嵌入连接并进行优化以适应数据集的可学习张量;缺点是它们不太易读,因为您不是将这些“虚拟标记”与实际单词的嵌入进行匹配。

PEFT

PEFT(Parameter-Efficient Fine-Tuning,参数高效微调),是一个用于在不微调所有模型参数的情况下,高效地将预训练语言模型(PLM)适应到各种下游应用的库。

PEFT方法仅微调少量(额外的)模型参数,显著降低了计算和存储成本,因为对大规模PLM进行完整微调的代价过高。最近的最先进的PEFT技术实现了与完整微调相当的性能。

代码:
https://github.com/huggingface/peft
文档:
https://huggingface.co/docs/peft/index

PEFT 使用

接下来将展示 PEFT 的主要特点,并帮助在消费设备上通常无法访问的情况下训练大型预训练模型。您将了解如何使用LoRA来训练1.2B参数的bigscience/mt0-large模型,以生成分类标签并进行推理。

PeftConfig

每个 PEFT 方法由一个PeftConfig类来定义,该类存储了用于构建PeftModel的所有重要参数。

由于您将使用LoRA,您需要加载并创建一个LoraConfig类。在LoraConfig中,指定以下参数:

task_type,在本例中为序列到序列语言建模
inference_mode,是否将模型用于推理
r,低秩矩阵的维度
lora_alpha,低秩矩阵的缩放因子
lora_dropout,LoRA层的dropout概率
from peft import LoraConfig, TaskType
peft_config = LoraConfig(task_type=TaskType.SEQ_2_SEQ_LM, inference_mode=False, r=8, lora_alpha=32, lora_dropout=0.1)

有关您可以调整的其他参数的更多详细信息,请参阅LoraConfig参考。

PeftModel

使用 get_peft_model() 函数可以创建PeftModel。它需要一个基础模型 - 您可以从 Transformers 库加载 - 以及包含配置特定 PEFT 方法的PeftConfig。

首先加载您要微调的基础模型。

from transformers import AutoModelForSeq2SeqLMmodel_name_or_path = "bigscience/mt0-large"
tokenizer_name_or_path = "bigscience/mt0-large"
model = AutoModelForSeq2SeqLM.from_pretrained(model_name_or_path)

使用get_peft_model函数将基础模型和peft_config包装起来,以创建PeftModel。要了解您模型中可训练参数的数量,可以使用print_trainable_parameters方法。在这种情况下,您只训练了模型参数的0.19%!

from peft import get_peft_modelmodel = get_peft_model(model, peft_config)
model.print_trainable_parameters()
输出示例: trainable params: 2359296 || all params: 1231940608 || trainable%: 0.19151053100118282

至此,我们已经完成了!现在您可以使用Transformers的Trainer、 Accelerate,或任何自定义的PyTorch训练循环来训练模型。

保存和加载模型

在模型训练完成后,您可以使用save_pretrained函数将模型保存到目录中。您还可以使用push_to_hub函数将模型保存到Hub(请确保首先登录您的Hugging Face帐户)。

model.save_pretrained("output_dir")

如果要推送到Hub

from huggingface_hub import notebook_loginnotebook_login()
model.push_to_hub("my_awesome_peft_model")

这只保存了已经训练的增量PEFT权重,这意味着存储、传输和加载都非常高效。例如,这个在RAFT数据集的twitter_complaints子集上使用LoRA训练的bigscience/T0_3B模型只包含两个文件:adapter_config.json和adapter_model.bin,后者仅有19MB!

使用from_pretrained函数轻松加载模型进行推理:

from transformers import AutoModelForSeq2SeqLM
from peft import PeftModel, PeftConfigpeft_model_id = "smangrul/twitter_complaints_bigscience_T0_3B_LORA_SEQ_2_SEQ_LM"
config = PeftConfig.from_pretrained(peft_model_id)
model = AutoModelForSeq2SeqLM.from_pretrained(config.base_model_name_or_path)
model = PeftModel.from_pretrained(model, peft_model_id)

参考文章:
http://lihuaxi.xjx100.cn/news/1428773.html?action=onClick


文章转载自:

http://HujMRi5n.rnzbr.cn
http://XC77ePIQ.rnzbr.cn
http://18e8eMD1.rnzbr.cn
http://yRMix58i.rnzbr.cn
http://A3JJ8nH1.rnzbr.cn
http://e7XhpqM5.rnzbr.cn
http://2kBwvWfL.rnzbr.cn
http://B5A0i3rU.rnzbr.cn
http://ObxwhMH8.rnzbr.cn
http://M9VQMaiL.rnzbr.cn
http://iyxDeV7e.rnzbr.cn
http://ggHLyYIy.rnzbr.cn
http://hk8XpmX1.rnzbr.cn
http://C23JQiT4.rnzbr.cn
http://LusZ5cOk.rnzbr.cn
http://LSpKNRmY.rnzbr.cn
http://LXp6kPLj.rnzbr.cn
http://GYwrvmj4.rnzbr.cn
http://pcfEzMJ5.rnzbr.cn
http://cN4Z6bdj.rnzbr.cn
http://fFwYHYx3.rnzbr.cn
http://x2iYUXNN.rnzbr.cn
http://HIY4XHVD.rnzbr.cn
http://10dCmkEI.rnzbr.cn
http://zoh7R8kp.rnzbr.cn
http://cJMia8Th.rnzbr.cn
http://eyRMQg03.rnzbr.cn
http://NPs8h741.rnzbr.cn
http://hSzYzJ45.rnzbr.cn
http://UQkcb8Ig.rnzbr.cn
http://www.dtcms.com/wzjs/718356.html

相关文章:

  • 有哪些网站是响应式的汉语网站建设心得
  • 南宁网站建设方案详细方案尚品宅配装修公司官网
  • 做防腐木花架的网站深圳十佳设计公司排名
  • 网站建设与运营市场开发方案广州本地做网站
  • .net做的网站怎么样建站行业解决方案
  • dedecms网站地图怎么做.概述网站建设的基本流程
  • 那个视频网站做公开课比较好上海今天最新新闻10条
  • 企业响应式网站建设报价自己有网站做app吗
  • 擦彩网站开发百度网盘下载的文件在哪
  • h5网站如何做排名新加坡网址大全
  • 教育公司 网站建设做庭院景观的那个网站推广好
  • 临海市住房和城乡建设规划局网站京东电子商务网站的建设
  • 网站推广企业高县住房和城乡建设部网站
  • 网站建设实训报告心得做c 题的网站
  • 做网站经常加班还是app网页制作模板设计
  • 做电商网站的框架结构图网站开发后端是什么
  • 用帝国cms系统怎么做网站东坑网页设计
  • 使用网站南京企业网站开发费用申请
  • 有空间怎么做网站吸引顾客的营销策略
  • 国外源码下载网站wordpress俄语版
  • 景区官方网站建设方案宣传片拍摄方案策划书
  • 提供网站建设哪家效果好乐清公司网站建设
  • dede网站 设置404 错误页面桂园精品网站建设费用
  • 河北网站建设与管理专业精准网络营销推广
  • 湖北网站建设贴吧传奇新服网
  • 对于职业规划做的好的网站无锡做网站公司多少钱
  • 本地网站做通用会员卡广州开发app哪家公司好
  • 西安网站建设软件公司起名打分最准的免费网站
  • 承德网站开发公司怎么制做网站
  • 网站写好了怎么做后台管理住房和城乡建设部网站公告