笔记:线性回归,模型轻量化,LORA

news/2024/9/16 23:48:49/ 标签: 笔记, 线性回归, 算法

1.正确理解线性回归

将回归系数解释为比较,这个提示改变了我看待回归系数的方式。

以此线性回归方程为例
salary = -20 + 0.6 * height + 10.6 * male + error
其中工资以每 1000 美元计算,身高以英寸计算
在这种情况下,高度的估计影响为 0.6 或 600 美元似乎是很自然的。

然而,将其视为“效果”并不恰当,因为这意味着如果我们将某人的身高增加一英寸,他们的收入将增加约 600 美元。

我们的模型实际上告诉我们的是,样本中身高较高的人平均收入较高。

正确的解释是——“在拟合模型下,两个同性别但身高相差一英寸的人的平均收入差异为 600 美元。 ”

仅从数据来看,回归分析只能告诉我们个体之间的比较,而不能告诉我们个体内部的变化

将回归视为比较的好处:

1)始终可以进行对比解释
比较可以说是模型的描述,不需要任何因果假设。

2)复杂回归=由简单模型构建
我们可以将更复杂的回归视为由更简单的模型构建而成,从简单的比较开始并添加调整。

3)比较在因果推理的特殊情况下也有效
比较解释也适用于因果推理的特殊情况,我们可以考虑同一个人接受两种不同水平的治疗之间的比较。

2.模型轻量化

模型轻量化的一些常用方法,其中参数剪枝是一种非常实用的模型轻量化技术,分为加载模型、选择剪枝策略、定义剪枝标准、实施剪枝、微调训练、评估模型几个步骤。

此外我们还可以将模型量化或者进行知识蒸馏.

量化是把模型中的浮点类型的权重转换为低精度(如 INT8 或 INT16)的过程,不仅可以减少模型的存储空间需求,还能在某些硬件上加速模型的推理速度。这就好比我们开发语言里的精度转换,比如 double/long 类型转 int 类型,一般会损失精度,至于影响大不大取决于这个变量本身存储的数值。模型量化也是一样,前面我们讲过模型默认以 FP32 的精度存储数据,也就是一个参数需要 32 位 4 个字节存储,量化成 int8,那么只需要 8 位 1 个字节来存储。存储量直接减少 75%。

量化一般有三种情况:静态量化、动态量化、感知训练量化.

静态量化是在模型的推理阶段将权重和激活数据从浮点数转换为低精度整数的过程。和动态量化不同,静态量化会在推理前对模型的权重和激活数据进行量化,通常需要一个校准步骤,通过这一步可以决定最佳的量化参数。

动态量化主要针对模型的权重进行量化,每次输入时都会重新计算量化参数。这种方法通常用于模型的线性层(全连接层)和循环层(如 LSTM)。动态量化可以在不需要重新训练模型的情况下实现,适合那些对推理速度有较高要求的应用场景.

感知训练量化是指在训练过程中应用量化效果,使模型适应量化带来的精度损失。这种方法通常能保持或仅轻微影响模型的精度。

知识蒸馏是一种训练技术,其中一个小的模型,被叫做学生模型,学习模仿一个大的已经训练好的模型,这个模型通常叫做教师模型。

详细内容 参见链接

3.Lora微调 提示

  • 增加微调数据集的大小
  • 训练更多步骤(epoch)
  • 设置更高的 LoRA 等级
  • 修改超参数值,例如learning_rate和weight_decay。
  • 尝试使用较大规格的版本。
  • 增加sequence_length。
  • 尝试先进的提示工程技术。 实施增强以增加样本数量。

http://www.ppmy.cn/news/1507172.html

相关文章

【killall】Centos/Linux killall命令详细介绍

【killall】Centos/Linux killall命令详细介绍 简介 基础语法 选项介绍 基本用法 注意事项 简介 系统版本:Centos7.6 killall 命令,最大的特征就是可以以名字的方式杀死进程,类似的命令有 pkill 命令,与 kill 命令相比有一定…

sql server 通过 sql查询今天、本周、上周、本月、上月、今年、去年的时间范围

sql server 通过 sql查询今天、本周、上周、本月、上月、今年、去年的时间范围 因为经常用到,做个笔记记录下 select /*今天*/ convert(varchar(10),CAST(GETDATE() AS DATE),120), convert(varchar(10),CAST(GETDATE() AS DATE),120), /*本周*/ convert(varchar…

HAproxy 七层负载均衡调度器详解及配置

HAproxy 七层负载均衡 负载均衡技术 负载均衡(Load Balance):一种服务,或基于硬件设备实现的高可用的反向代理技术,是指将特定的业务流量分摊给一个或多个后端的特定服务器或设备,实现高并发处理业务流量…

git系统学习

git系统学习 git命令行获取git 版本号 创建初始版本库创建git库初始化用户名和密码查看用户名和邮箱修改用户名和密码 将文件添加到版本库中删除暂存文件提交代码查看提交信息查看更加详细的信息查看提交差异版本库内文件的删除和重命名删除库里的文件重命名库里的文件 打标签查…

Linux Shell编程--数组

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除! 一、简介 Shell 脚本中的数组允许你存储多个值,并可以通过索引访问它们。Shell 中的数组是一维的。 二、声明数组 在Shell…

鸿蒙HarmonyOS开发:多种内置弹窗及自定义弹窗的详细使用指南

文章目录 一、消息提示框(showToast)1、导入模块2、语法3、参数4、示例5、效果 二、对话框(showDialog)1、导入模块2、语法3、参数4、示例5、效果 三、警告弹窗(AlertDialog)1、语法2、参数3、AlertDialogP…

docker安装redis单机部署的redis.conf配置

下面是一个简单的 Redis 配置文件 (redis.conf) 示例,它适合docker单机部署环境,并且启用了密码保护。这个配置文件包含了最基本的设置,您可以根据需要进行扩展。 # 服务器监听的地址 bind 0.0.0.0# 服务器监听的端口 port 6379# 设置密码 r…

期权价格的奥秘:深入理解影响因素

在金融市场中,期权作为一种衍生工具,为投资者提供了风险管理和资产增值的多种可能性。期权价格的波动往往令人着迷,但其背后的定价机制却充满了复杂性。本文将带您探索期权价格变化的奥秘,并尝试以浅显易懂的方式,解析…

Oceanbase 执行计划

test100 CREATE TABLE `test100` ( `GRNT_CTR_NO` varchar(32) COLLATE utf8mb4_bin NOT NULL COMMENT 担保合同编号, `GRNT_CTR_TYP` varchar(3) COLLATE utf8mb4_bin NOT NULL COMMENT 担保合同类型, `COLC_GRNT_IND` varchar(1) COLLATE utf8mb4_bin DEFAULT NULL …

1.Windows安装Maven和搭建Nexus私服

一、Windows安装Maven 首先安装jdk。这个没什么说的。接着安装Maven 下载Maven的安装包,解压到 D:\apache-maven-3.5.2 然后新建用户环境变量M2_HOME: 接着编辑用户环境变量Path,增加%M2_HOME%\bin(下图中少写了一个%&#xff…

Postman接口测试工具使用方法

Postman 是一个强大的 API 开发和测试工具,广泛用于开发、测试和文档编写。 安装 Postman: 前往 https://www.postman.com/ 官网 下载适用于你的操作系统的安装包。安装完成后,启动 Postman。 创建账户(可选)&#…

视频号直播回放怎么下载?

一、如果是下载自己直播回放视频: 方法一:视频号助手 打开网址:视频号助手 登陆账号后。下面路径,先点击成回放, 后就可以在下面路径,下载全场回放 但是这种有个缺点,就是不能分段下载。这样…

【ES6】使用Set和Map进行全组合判断

判断数据集是否为全组合关系 例如下列表格,字段1包含(甲、乙)值,字段2包含(a、b)值,字段3包含(1、2、3)值,每种组合情况都可以在数据集的行记录中找到有且仅…

QT实现一个系统参数管理窗口

为了实现一个管理系统参数的设计,我们可以创建一个配置参数类来封装配置的读取和写入操作,并使用一个 QWidget 作为用户界面来管理这些参数。以下是如何设计一个这样的系统,包括配置参数类和管理界面。 1. 配置参数类 我们创建一个 ConfigM…

数据库篇--八股文学习第十八天| MySQL和Redis的区别是什么;Redis有什么优缺点?为什么用Redis查询会比较快

1、MySQL和Redis的区别是什么 答: Redis基于键值对,支持多种数据结构;而MySQL是一种关系型数据库,使用表来组织数据。Redis将数据存在内存中,通过持久化机制将数据写入磁盘,MySQL通常将数据存储在磁盘上。…

Ubuntu安装 IDEA

一、在官网下载 IDEA 下载IDEA For LinuxDownload the latest version of IntelliJ IDEA for Windows, macOS or Linux.https://www.jetbrains.com/idea/download/?sectionlinux下载好的安装包解压到/opt/中,目录名更改为 idea 二、对/opt/idea 目录下所有文件授予…

Java开发工具IDEA

IDEA概述 Intellij IDEA IDEA全称Intellij IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。 集成环境 把代码编写,编译,执行,调试等多种功能综合到一起的开发工具。 IDEA下载和安…

Unity自带的UGUI ScrollView刷新不及时问题

self:RefreshCommentsList()self.scrollView self.CommentsView:GetComponent(ScrollRect) self.scrollView.verticalNormalizedPosition 0如上所示,当我想刷新Unity中的一个ScrollView的列表后,将这个列表瞬间移至底部。但是上述这三行代码会出现一个…

关于网络数据的一些思考

为了给游戏用户带来更好的体验,但又想兼顾稳定性,因此有了kcp这样的技术,可如果是面临海外产品这是远远不够的 不同国家,不同地区,不同企业,不同用户所使用的设备千奇百怪。甚至与安装师傅的配置也有关系。…

支持二次开发的在线客服系统-高性能客服程序源码

首先,咱们这个客服系统是用 Go 语言开发的,Go 语言是 Google 大佬们搞出来的,它特别适合写并发程序,性能杠杠的。 如果你想改前端页面: 咱们的前端页面是用 HTML、CSS、JavaScript 这些传统技术做的,不是…