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

php做网站需要什么技术汕头站扩建工程

php做网站需要什么技术,汕头站扩建工程,济阳网站建设哪家好,高端网站建设成都Lora 什么是Lora Lora的原始论文为《LoRA: Low-Rank Adaptation of Large Language Models》,翻译为中文为“大语言模型的低秩自适应”。最初是为了解决大型语言模在进行任务特定微调时消耗大量资源的问题;随后也用在了Diffusion等领域,用于…

Lora

什么是Lora

Lora的原始论文为《LoRA: Low-Rank Adaptation of Large Language Models》,翻译为中文为“大语言模型的低秩自适应”。最初是为了解决大型语言模在进行任务特定微调时消耗大量资源的问题;随后也用在了Diffusion等领域,用于对模型进行微调。总而言之,Lora是一种微调技术。

Lora是怎么实现的

原理

Lora的思想很简单,在原有权重的旁边加一个的分支。训练时冻结原有权重,只训练这个分支。然后将分支输出的结果与原有权重的输出结果相加即可。这么做的理论依据是:预训练模型拥有极小的内在维度(instrisic dimension),即存在一个极低维度的参数,微调它和在全参数空间中微调能起到相同的效果

Lora简要示意图

伪代码实现

假设我们有一个简单的模型,仅包含一个线性层:

import torch
import torch.nn as nn# 原始 SimpleModel 定义
class SimpleModel(nn.Module):def __init__(self):super().__init__()self.linear = nn.Linear(100, 50)  # 原始权重形状: (50, 100)def forward(self, x):return self.linear(x)

那么我们用最原始的手段添加Lora:

import torch
import torch.nn as nnclass SimpleModelWithLoRA(nn.Module):def __init__(self, rank=4):super().__init__()# 原始预训练层(冻结)self.linear = nn.Linear(100, 50)# 冻结原始参数for param in self.linear.parameters():param.requires_grad = False# LoRA 参数self.lora_A = nn.Parameter(torch.randn(50, rank))   # (out_dim, rank)self.lora_B = nn.Parameter(torch.randn(rank, 100))  # (rank, in_dim)def forward(self, x):# 原始输出original_output = self.linear(x)# LoRA 分支输出lora_output = x @ self.lora_B.t() @ self.lora_A.t()  # [batch, 100] -> [batch, 50]# 输出为两者的和return original_output + lora_output

可以看到,Lora的代码跟原始代码的主要区别仅在于:

在权重层面:

  1. 冻结原始参数
  2. 添加了两个线性层,分别用于将输出映射到rank维的中间结果,和将中间结果映射到输出

在推理层面:

  1. 计算Lora的输出结果
  2. 将两个计算结果相加

这就是Lora的实际计算过程了,就是在原有模型旁边加了个轻量化的分支而已。此外,由于矩阵运算的性质,我们还可以直接把训练好的权重加到原始权重上以提高计算效率:

import torch
import torch.nn as nn# 应用了 LoRA 的 SimpleModel 定义
class SimpleModelWithLoRA(nn.Module):def __init__(self, rank=4):super().__init__()# 初始化原始线性层self.linear = nn.Linear(100, 50)  # 原始权重形状: (50, 100)# 冻结原始线性层的参数for param in self.linear.parameters():param.requires_grad = False# 添加 LoRA 矩阵 A 和 Bself.A = nn.Parameter(torch.randn(50, rank))  # 形状: (50, rank)self.B = nn.Parameter(torch.randn(rank, 100)) # 形状: (rank, 100)def forward(self, x):# 计算 LoRA 修正项lora_term = self.A @ self.B  # 形状: (50, 100)# 将 LoRA 修正项加到原始权重上adapted_weight = self.linear.weight.data + lora_term# 使用适应后的权重进行计算output = nn.functional.linear(x, adapted_weight, self.linear.bias)return output

值得注意的是,是否将Lora权重与原始权重融合取决于是否需要更新lora权重。因为融合后的权重虽然能够提高计算效率,但是无法单独更新Lora了。

其他细节说明

其他微调方法

除了Lora,还有其他微调手段,下面简单列出,不再做进一步说明:

方法描述参数规模灵活性应用场景
全量微调(Full Fine-tuning)修改全部参数所有任务
Adapter Tuning在层之间插入小型神经网络模块模型嵌套结构支持时
Prefix Tuning / Prompt Tuning修改输入提示向量极小NLP
LoRA引入低秩矩阵进行参数增量更新广泛适用

rank选择与初始化

rank 越大:模型表达能力越强,但消耗资源越多。

rank 越小:更轻量,但可能无法捕捉复杂的任务特征。

通常尝试 r=8, r=16, r=64 等值,根据验证集效果选择最优配置。

在原始的 LoRA 论文中A和两个矩阵通常是随机初始化。但为了确保刚开始微调的时候不对模型输出产生影响,一些方法会其中一个矩阵初始化为零。

Q&A

Q: LoRA 是否会影响模型推理速度?

A: 不会显著影响,融合权重后模型层面没有增加任何多余的计算量

Q: LoRA 是否只能用于语言模型?

A: 不是,也可以用于图像模型(如 Diffusion)、语音模型等。

Q: 我可以用多个 LoRA 吗?

A: 可以,有些框架支持加载多个 LoRA,并按需组合使用。


文章转载自:

http://NFnEB5Aw.dwxqf.cn
http://U9avzubm.dwxqf.cn
http://Xb92qMP3.dwxqf.cn
http://7WptLQDc.dwxqf.cn
http://8IwqehDH.dwxqf.cn
http://MXpBZV6H.dwxqf.cn
http://t0Jdwxja.dwxqf.cn
http://AwJHrXcm.dwxqf.cn
http://HX6MKgFY.dwxqf.cn
http://H3owuSSV.dwxqf.cn
http://7IhgZMKd.dwxqf.cn
http://bQzZtxFy.dwxqf.cn
http://Hw3Otrl5.dwxqf.cn
http://SXqOxsLK.dwxqf.cn
http://1IV4rAKt.dwxqf.cn
http://5BU1RoXZ.dwxqf.cn
http://6WI0evGR.dwxqf.cn
http://3M3VNWaM.dwxqf.cn
http://WdmV69uK.dwxqf.cn
http://QOGD4L8k.dwxqf.cn
http://dshjAHA4.dwxqf.cn
http://jWrkCZ7K.dwxqf.cn
http://lk1W7w7I.dwxqf.cn
http://xz9Ea0BE.dwxqf.cn
http://8liHNwSw.dwxqf.cn
http://KiNEMoXu.dwxqf.cn
http://LVMKQunB.dwxqf.cn
http://8YxJv6DT.dwxqf.cn
http://HHobiOZZ.dwxqf.cn
http://gmmTMQdP.dwxqf.cn
http://www.dtcms.com/wzjs/621551.html

相关文章:

  • 做淘宝店头的网站免费的网站推广在线推广
  • 网站建设公司专业网站企业开发建设一个网站需要学习什么
  • 做网站站怎么赚钱宁波网站建设团队
  • 建设银行网站修改手机号码如何做运营推广
  • 襄阳市建设公司网站一键生成器
  • asp.net mvc 5网站开发之美广州有哪些做网站专业的公司
  • 帮一个公司做网站多少钱网站项目验收确认书
  • 东莞做网站it s阳江网红打卡景点
  • 网站搭建合同苏州网页设计方法
  • 天津品牌网站建设公司windos 下做网站工具
  • 石家庄做网站费用旅游网站网页设计
  • 花木网站源码网站建设实践课程报告
  • 网站维护运营怎么做设计广告的软件有哪些
  • 网站80端口备案广州天河区有什么好玩的地方
  • 宁波找网站建设企业中国核工业第五建设有限公司怎么样
  • 学校类网站特点做catalog的免费网站
  • 国外做家谱的网站2003建网站
  • No酒类网站建设视频营销的策略与方法
  • 建论坛型网站wordpress被挂马
  • TP框架网站的中英文切换怎么做网站运营与网站策划
  • 如何做免费的公司网站上海网页优化公司
  • 个人网站可以做产品宣传吗泉州做网站的
  • 网站怎么被百度收录有哪些网站教做吃的
  • 做购物平台网站客户体验活动可视化平台开发
  • 工业园企业建设网站公司学ui需要什么基础呢
  • python网站开发环境沃尔玛跨境电商平台
  • wordpress开启子目录多站点模式济南做html5网站建设
  • php网站开发兼容怎么设置基础型网站价格
  • 论某网站职能建设苏州网站建设工作室
  • 闵行网站建设公司纸陕西网站建设的内容