【所有方法一览】大模型推理优化:在更小的设备运行、推理增速

news2024/11/23 15:16:41

大模型推理优化:在更小的设备运行、推理增速

    • 知识蒸馏(优先)
    • 模型剪枝
    • 模型量化(优先)
    • 参数共享
    • 低秩分解
    • 参数搜索

 


知识蒸馏(优先)

知识蒸馏:

  • 知识:模型参数、一堆矩阵
  • 蒸馏:把大模型参数迁移到小模型,用更小的矩阵代替更大的矩阵

让大、小模型最后一层输出尽可能接近。

  • 判别指标:KL 散度、L2 距离

学习的是最后一层的概率分布,但大模型不止最后一层,还有很多中间层。

  • 所以,不仅要最后一层接近,还有俩者的中间层、输入层、注意力层也要接近
  • 判别指标:MSE loss

主流是知识蒸馏,但需要多训练一个模型,成本更高。

模型剪枝

把其中一些参数(矩阵)去掉,接近 0 的参数。

  • 去掉 30% 的参数,对下游任务性能不影响

对于注意力层,定义重要性指标,去掉不重要的层。

模型量化(优先)

把浮点数变成定点数。

主流框架都支持。

参数共享

相邻矩阵共享同一套参数,原先相邻矩阵参数都不同。

  • 只使用一个层,效果也不会差

低秩分解

用一小维代替整个参数矩阵。

参数搜索

找更好的神经网络配置,比如加卷积层、找更好的非线性函数、注意力机制优化等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1326619.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#线程Thread的使用

引言 在C#编程语言中,线程是一种并发执行的机制,可以实现多个任务同时执行,提高程序的效率和响应能力。C#提供了Thread类来处理线程相关的操作。本文将详细介绍C#中Thread类的使用方法和注意事项。 目录 引言线程的基本概念线程(…

Ubuntu 常用命令之 sudo 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 sudo命令在Ubuntu系统中是一个非常重要的命令,它允许系统管理员赋予某些用户(或用户组)以系统管理员的身份运行一些或全部的命令。sudo代表“superuser do”,即以超级用户的身份执行…

掌握Guava的并发工具:轻松应对复杂并发场景

推荐语 这篇文章介绍了 Guava 的一些常用并发工具类的使用方法。通过学习这些工具类,我们可以轻松地处理异步操作。这些工具类不仅功能丰富,还大大简化并发编程的复杂性。无论你是初学者还是经验丰富的开发者,这篇文章都会对你在并发编程方面…

2023年中国数据智能管理峰会(DAMS上海站2023)-核心PPT资料下载

一、峰会简介 数据已经成为企业的核心竞争力!谁掌控数据、更好的利用数据、实现资产化,谁就会真正率先进入大数据时代。 1、数据智能管理趋势和挑战 在峰会上,与会者讨论了数据智能管理的最新趋势和挑战。随着数据量的不断增加&#xff0c…

本地websocket服务端结合cpolar内网穿透实现公网访问

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

华为OD机试 - 区间交集 - 深度优先搜索dfs算法(滥用)(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述备注用例1、输入2、输出3、说明 四、解题思路1、核心思路:2、具体步骤 五、Java算法源码再重新读一遍题目,看看能否优化一下~解题步骤也简化了很多。 六、效果展示1、输入2、输出3、说明 华为OD机试 2…

【小呆的力学笔记】弹塑性力学的初步认知二:应力分析(1)

文章目录 1.1 一点的应力状态1.2 一点主应力状态1.3 应力偏张量、球张量、应力不变量 1.1 一点的应力状态 物体在受到外力或者自身不均匀的温度场等作用时,在其内部会产生内力,物体的内力与方向和截面都有关系。假设有一个受到外力作用的变形体&#xf…

【Linux】Linux线程概念和线程控制

文章目录 一、Linux线程概念1.什么是线程2.线程的优缺点3.线程异常4.线程用途5.Linux进程VS线程 二、线程控制1.线程创建2.线程终止3.线程等待4.线程分离 一、Linux线程概念 1.什么是线程 线程是进程内的一个执行流。 我们知道,一个进程会有对应的PCB,…

【LeetCode刷题笔记(12-1)】【Python】【有效的字母异位词】【排序/字符统计】【简单】

文章目录 引言有效的字母异位词题目描述提示 解决方案1:【排序】解决方案2:【字符统计】结束语 有效的字母异位词 引言 编写通过所有测试案例的代码并不简单,通常需要深思熟虑和理性分析。虽然这些代码能够通过所有的测试案例,但…

职场必备!这个微信管理效率神器一定要知道

很多小伙伴在管理微信时,都会遇到效率不高的问题,尤其是一些有多个微信号的人,如何高效管理微信成为了一道难题。 今天就给大家分享一款能高效管理微信的工具,让大家既能节省时间又可以提高工作效率! 通过微信管理系…

Vue3-23-组件-依赖注入的使用详解

什么是依赖注入 个人的理解 : 依赖注入,是在 一颗 组件树中,由 【前代组件】 给 【后代组件】 提供 属性值的 一种方式 ;这种方式 突破了 【父子组件】之间通过 props 的方式传值的限制,只要是 【前代组件】提供的 依…

自动化测试工具-Selenium:WebDriver的API/方法使用全解

我们上一篇文章介绍了Selenium的三大组件,其中介绍了WebDriver是最重要的组件。在这里,我们将看到WebDriver常用的API/方法(注:这里使用Python语言来进行演示)。 1. WebDriver创建 打开VSCode,我们首先引…

数据结构与算法之美学习笔记:39 | 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想

目录 前言如何理解“回溯算法”?两个回溯算法的经典应用内容小结 前言 本节课程思维导图: 我们在前面深度优先搜索算法利用的是回溯算法思想。这个算法思想非常简单,但是应用却非常广泛。它除了用来指导像深度优先搜索这种经典的算法设计之外…

原生微信小程序中使用-阿里字体图标-详解

步骤一 1、打开阿里巴巴矢量图标库 网址:iconfont-阿里巴巴矢量图标库 2、搜索字体图标,鼠标悬浮点击添加入库 3、按如下步骤添加到自己的项目 步骤二 进入微信开发者工具 1、创建 fonts文件夹 > iconfont.wxss 文件,将刚才的代码复制…

GLTF/GLB模型在线预览、编辑、动画查看以及材质修改

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 GLTF在线编辑器提供了一个内置的模型查看器,可以加载和预…

NC65凭证保存时,报“错误:凭证内部错误号:[10001]凭证借贷金额不平!”

NC65凭证保存时,报“错误:凭证内部错误号:[10001]凭证借贷金额不平!” 实际就是分录少录了2分钱。加上去即可。 代码排查: nc.bs.gl.voucher.VoucherBO.save(VoucherVO voucher, Boolean isneedcheck) throws BusinessExceptio…

微服务之服务注册与发现

服务注册发现 服务注册就是维护一个登记簿,它管理系统内所有的服务地址。当新的服务启动后,它会向登记簿交待自己的地址信息。服务的依赖方直接向登记簿要 Service Provider 地址就行了。当下用于服务注册的工具非常多 ZooKeeper,Consul&…

Centos8一键启动多个Springboot jar包 改进版

一、前言 上篇《Centos8一键启动多个Springboot jar包》写了在centos环境下如何快速启动多个jar包。实际使用下来还是会发现不够完美,如我想重新启动10个jar包里面的两个,我得这么写: ./start.sh restart test1.jar; ./start.sh restart te…

为什么项目管理工具需要项目财务信息?

在讨论项目时,钱是绕不开的话题。 资金是项目管理中最重要的因素之一,与范围和时间并列,三者共同构成了 “三重约束”。例如,如果缩短项目时间,就必须增加成本。 如果无法清楚了解开支及其对项目的影响(反…

TrustZone之可信操作系统

有许多可信内核,包括商业和开源的。一个例子是OP-TEE,最初由ST-Ericsson开发,但现在是由Linaro托管的开源项目。OP-TEE提供了一个功能齐全的可信执行环境,您可以在OP-TEE项目网站上找到详细的描述。 OP-TEE的结构如下图所示&…