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

机器学习复习(8)——基本概念

目录

"benchmark"和"baseline"的定义和区别

R@1 score概念

LoRA微调概念

"benchmark"和"baseline"的定义和区别

在计算机视觉领域的论文中,"benchmark"和"baseline"这两个术语经常被使用,但它们代表着不同的概念和作用。

  1. Benchmark(基准测试):

    • 定义:Benchmark通常指的是一套标准的测试流程,用来评估和比较不同算法或模型的性能。这些测试流程可能包括标准的数据集、评估指标、测试协议等。
    • 作用:Benchmark提供了一个共同的平台,让研究人员可以在相同的条件下比较他们的方法与其他方法的效果。例如,在计算机视觉领域,常见的benchmark数据集包括ImageNet(用于图像分类)、COCO(用于目标检测和分割)等。
    • 重要性:Benchmark的设置对于科学研究的公正性和透明度至关重要,它确保了不同研究者的工作可以在相同的基础上进行比较和评价。
  2. Baseline(基线模型):

    • 定义:Baseline通常指的是一种简单的模型或方法,它用作比较的起点,以此来衡量新提出的方法是否有显著的改进。
    • 作用:Baseline模型通常选择实现简单、之前广泛被接受的方法。通过与Baseline的比较,研究人员可以展示他们的新方法在性能上的提升,并且有助于说明新方法的有效性。
    • 重要性:在科学研究中,Baseline模型有助于确立研究领域的最低期望。如果一个新方法不能显著超过Baseline,那么它的有效性可能会受到质疑。

R@1 score概念

R@1得分(Recall at 1)是一种在信息检索和机器学习领域常用的评估指标,用来衡量模型在检索任务中的性能。在检索任务中,模型的目标是从一个大的数据集中找出与查询最相关的项目。R@1得分特别关注于模型是否能够在其提供的最顶端的一个检索结果(即排名第一的结果)中准确地找到相关项目。

R@1得分计算如下:

  1. 对于每个查询,检查模型返回的排名最高的一个项目是否是相关的。
  2. 如果排名最高的项目是相关的,则记为一个成功的检索。
  3. 然后,计算所有查询的成功检索的比例。

数学表示:

R@1得分的值范围从0到1,值越高表示模型的性能越好。R@1得分强调模型在第一位的准确性,这在某些应用中非常重要,比如在用户使用搜索引擎时,他们往往最关注搜索结果的第一位。

R@1是更广泛的Recall@K指标的一个特例,其中K可以是任何正整数。Recall@K测量模型是否能够在前K个最高排名的项目中找到相关项目。当K=1时,Recall@K就是R@1。随着K的增加,Recall@K提供了对模型能否在前几位中找到相关项目的更宽容的评估。

LoRA微调概念

LoRA(低秩自适应)微调是一种用于调整大型预训练语言模型的技术。这种方法旨在通过对模型的权重进行最小的修改来微调模型,从而节省计算资源并保持模型性能。

在传统的微调方法中,我们通常会对整个预训练模型的所有参数进行更新,这在大型模型如GPT-3或BERT等的情况下,会涉及数十亿个参数,需要大量的计算资源和存储空间。相比之下,LoRA微调只对模型的一小部分权重进行更新,这些权重被认为是最能影响模型性能的关键部分。

具体来说,LoRA微调通过以下步骤实现:

  1. 选择关键层: LoRA通常选择模型中的特定层(例如,注意力层)进行微调。
  2. 引入低秩矩阵: 在所选层中,LoRA引入额外的可训练参数,这些参数构成低秩(即,相对于原始权重矩阵维度较小的)矩阵。这些低秩矩阵被用来修改原始的权重矩阵。
  3. 训练低秩矩阵: 在微调阶段,只有这些低秩矩阵的参数会被更新,而原始模型的其余部分保持不变。这意味着需要更新的参数数量大大减少,从而节省计算资源和时间。
  4. 保持性能: 尽管只有一小部分参数被更新,但LoRA设计得很巧妙,能够在不牺牲太多性能的前提下,有效地调整模型以适应特定任务。

LoRA微调的优势在于其高效性和经济性,它允许研究者和开发者在资源有限的情况下,对大型语言模型进行定制和优化,而不需要像传统微调那样对整个模型进行重大修改。这使得LoRA成为一种非常受欢迎和实用的模型调整技术。

以LLaMA 为例,参数大小为7B(即70亿个参数),其参数矩阵用W 表示(实际上,模型参数当然分布在许多层的不同矩阵中,但为了简单起见,我们在这里指的是单个权重矩阵。对于其他层,分析方法完全一样)在反向传播过程中,我们學習一个 AW 矩阵(每个参数的更新),那么权重更新如下:
更新后的W=原始W+△W
如果权重矩阵W包含7B个参数,则权重更新矩阵AW也包含7B个参数,每次要存储2份7B的参数,另外还要每个数都要加一次,计算量和显存要求都十分巨大,于是就有了LoRA,其实它的思想非常简单,我们用两个较小的 矩阵 A 和 B 来表示大矩阵△W。如果 A 具有与AW 相同的行数,B具有与△W相同的列数,我们可以写成分解为 △W =AB(AB是矩阵A和B之间的矩阵乘法结果)
另外A是随机初始化,B初始化为0。这样开始微调时AB=0,这可以跟原始模型保持是一致的。节省的内存取决于A的列数,也就是秩r。简单分析下。例如,若AW有1万行2万列,则它存储了2亿 个参数。 如果我们选择r=8的A和B,那么A有1万行和8列,B 有8行和2万列,即1万x8+8x2万=24万个参数,大约比2亿少830倍,只需要额外存储和计算这0.12%的参数,这一操作,内存占用和计算量是不是就指数下降了。当然,你要问,A和 B能完全替代△W的所有信息吗?答案是不一定。如果你的数据量足够大,比如TB级别,并且预算充足,那全参数微调是你的首选如果你的数据量比较小,或者是经费有限的researcher,那LoRA微调一定是你的首选。

 

相关文章:

  • Maven的安装以及配置(超级详细版)
  • 单臂路由实验(华为)
  • 网络版本计算器
  • C语言:月份缩写
  • 游戏后端如何实现服务器之间的负载均衡?
  • 2024-2-4-复习作业
  • 车位检测,YOLOV8,OPENCV调用
  • Java排序算法-持续更新中
  • OpenCV 图像处理六(傅里叶变换、模板匹配与霍夫变换)
  • MySQL操作问题汇总
  • 视频业务像素、带宽、存储空间计算
  • SpringBoot集成Redisson实现限流(二)
  • QCustomplot实现灰度曲线图
  • 大型语言模型(LLM)的优势、劣势和风险
  • 计算机毕业设计 基于SpringBoot的线上教育培训办公系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 【Linux系统编程】快速查找errno错误码信息
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • Angular 2 DI - IoC DI - 1
  • IOS评论框不贴底(ios12新bug)
  • JavaScript实现分页效果
  • jquery ajax学习笔记
  • JS 面试题总结
  • Js基础知识(四) - js运行原理与机制
  • mockjs让前端开发独立于后端
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • supervisor 永不挂掉的进程 安装以及使用
  • 汉诺塔算法
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • Nginx实现动静分离
  • ​Linux·i2c驱动架构​
  • ​VRRP 虚拟路由冗余协议(华为)
  • #QT(智能家居界面-界面切换)
  • $ git push -u origin master 推送到远程库出错
  • (1)虚拟机的安装与使用,linux系统安装
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (27)4.8 习题课
  • (9)STL算法之逆转旋转
  • (C++17) std算法之执行策略 execution
  • (JS基础)String 类型
  • (二)hibernate配置管理
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (正则)提取页面里的img标签
  • (转)setTimeout 和 setInterval 的区别
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .Net IOC框架入门之一 Unity
  • .net Signalr 使用笔记
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理
  • .考试倒计时43天!来提分啦!