LLM 模型量化推理速度评测

news2024/9/29 21:31:05

最近了解了下些常见的推理和加速方案:

1、量化方案:

  •   gptq、quantization、int8、int4、AWQ、Speculative Decoding、GGUF

2、Attention加速方案:

  • atten的不同种类
  • fused attention

3、内存层面:

  • kv_cache策略、page_attention
  • StreamingLLM(这个不能算加速,算技巧)
  • batching
  • 复用prompt策略
  • Continuous batching

4、硬件层面:

  • A100最好,越高越好,新的加速硬件
  • flash_attention1 & flash_attention2 加速策略
  • kernel 算子融合策略
  • tensor 并行,分布式

5、模型层面:

  • 参数量降低1B?、层数降低、模型结构创新

可能不少遗漏,欢迎各位大佬补充在评论区~

部分经验总结 & 问题:

1、compile 整个模型后的模型确实更快了,如果只compile attention部分加速不大,因为compile优化的空间并不大

2、投机采样测试过程中发现多卡推理 int4 模型出现报错,int8模型没有问题,这个目前没空看了

3、量化确实会带来速度的巨大提升,但是模型效果截图不太方便,效果确实降低了一些

4、AWQ量化后的千问7B模型,效果巨差,暂不确定问题在哪,目测了效果

不同cuda_kernel 的测试结果: default vs sdp-math vs sdp-flash vs sdp-efficient:

vllm & compile测试后的结果:

公众号"小晨的AI工作室"回复: "vllm_test" 获得原图,测试不易,希望点点关注哈~

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

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

相关文章

洛谷 P1083 [NOIP2012 提高组] 借教室(二分+差分)

题目链接: P1083 [NOIP2012 提高组] 借教室 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教…

YOLO系列中的“data.yaml”详解!

专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,主力高效涨点!!! 一、data.yaml介绍 YOLO系列中的data.yaml文件包含了YOLO系列模型运行所需要的数据集路径、数据集中的类别数及标签。数据集路径可以用绝对路径也可以…

计算机系统缺少cv100.dll文件解决方法(最新)

cv100.dll 是一个Windows操作系统中的动态链接库(DLL)文件。DLL文件是包含可由多个程序共享的代码和数据的模块,以减少磁盘空间占用并提高系统性能。根据收集到的信息,cv100.dll 文件可能与图像处理、计算机视觉相关的功能有关。 …

#WEB前端(JS基础语法)

1.实验: 2.IDE:VSCODE 3.记录: (1)数据类型 var,let,const var,let声明变量,const声明常量。var声明的变量具有函数作用域,let声明的变量具有块级作用域,let跟安全更…

鸿蒙实战开发:数据交互【RPC连接】

概述 本示例展示了同一设备中前后台的数据交互,用户前台选择相应的商品与数目,后台计算出结果,回传给前台展示。 样例展示 基础信息 RPC连接 介绍 本示例使用[ohos.rpc]相关接口,实现了一个前台选择商品和数目,后台…

LeetCode 每日一题 Day 88 - 94

2673. 使二叉树所有路径值相等的最小代价 给你一个整数 n 表示一棵 满二叉树 里面节点的数目,节点编号从 1 到 n 。根节点编号为 1 ,树中每个非叶子节点 i 都有两个孩子,分别是左孩子 2 * i 和右孩子 2 * i 1 。 树中每个节点都有一个值&a…

DevOps中集成自动化测试的具体案例

在DevOps中集成自动化测试的具体案例可以从多个角度进行分析,包括金融行业、分布式系统、大型企业等不同领域的实践。以下是几个具体的案例: 金融行业的DevOps实践:在金融行业中,DevOps被广泛应用于提升软件开发和运营的效率。例如,通过解析后台接口代码日志格式,自动化生…

剑指offer--c++--n个骰子的点数

目录 题目: 题目分析: 最后编写代码: 输出结果 题目: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 感谢大佬的帮助:https://www.cnblogs.c…

java面试(消息队列MQ)

MQ有什么用?有哪些场景? MQ(MessageQueue)消息队列。队列(FIFO)先进先出的数据结构,消息由生产者发送到MQ,后由消费者对消息进行处理。QQ,微信就是MQ场景。 MQ作用&…

第七个程序:两个字符串连接后计算长度

实验步骤; 第一步:新建项目 第二步:程序编写 第三步:运行结果 Labview一共7个字节,长度为7,一个字母一个字节 汉字为2个字节,图一为4,图二为8 所以结果分别为11和15 视频教学: 字…

Android开发技术总结,附项目源码

今天本文主要讲解: APK文件反编译 什么是反编译如何防止反编译APK文件的基本构造 APK加固的方案原理 APK加固总体架构APK打包基本流程Dex文件的意义 AES加密项目实战 APK加固项目实战APK脱壳技术实战 一.APK文件反编译 1.什么是反编译 定义: 利用…

一次电脑感染Synaptics Pointing Device Driver病毒的经历,分享下经验

没想到作为使用电脑多年的老司机也会电脑中病毒,周末玩电脑的时候突然电脑很卡,然后自动重启,奇怪,之前没出现这个情况。 重启后电脑开机等了几十秒,打开任务管理器查看开机进程,果然发现有个Synaptics Po…

【ICM】好奇心机制

文章目录 样本经验处理降低图片像素和通道构建连续状态捕捉动作经验回放类 各部分的模型编码器模型反向模型正向模型DQN模型ICM 的 反向传播 概念补充强化学习组成元素按照学习目标来分按照策略更新方式区分强化学习on-line 与 off-line经验回放 全部代码 样本经验处理 降低图…

代码随想录 二叉树第五周

目录 235.二叉搜索树的最近公共祖先 701.二叉搜索树的插入操作 450.删除二叉搜索树中的节点 669.修建二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 235.二叉搜索树的最近公共祖先 235. 二叉搜索树的最近公共祖先 中等 给定一个二叉搜索树,…

“声震四方,贼人退散;平安守护,行者无忧。”#STM32项目一 《电动车报警器》

“声震四方,贼人退散;平安守护,行者无忧。”#STM32项目一 电动车报警器 前言预备知识1.电动车报警器项目概述1.1项目需求1.2项目框图1.3.硬件清单 2.振动传感器介绍及实战2.1振动传感器介绍2.2振动传感器接线2.3使用STM32CubeMX建立工程2.4程…

Spring 类型转换、数值绑定与验证(三)— Formatting 与 Validation

1 Formatting 在Spring中用于格式化数据及根据地域展示不同格式的数据。 图 Formatting接口 UML 1.1 注解驱动Formatting 自定义像“DateTimeFormat”注解来对相关字段格式化的步骤为: 自定义注解。定义一个实现AnnotationFormatterFactory接口的工厂类。往容器…

亚马逊卖家做市场分析业务可以用静态IP代理完成吗?

亚马逊作为全球最大的电商平台之一,其庞大的销售数据和用户行为数据成为了许多商家和市场研究人员进行市场分析和竞争研究的重要来源。而使用IP代理则能够为亚马逊市场分析带来许多帮助,下面就来一一介绍。静态IP代理可以为市场分析带来哪些帮助&#xf…

DatasetsDataLoader

PyTorch 提供了两个数据基类: torch.utils.data.DataLoader 和 torch.utils.data.Dataset。允许你使用预加载的数据集以及你自己的数据集。 Dataset 存储样本和它们相应的标签,DataLoader 在 Dataset 基础上添加了一个迭代器,迭代器可以迭代数…

【Java JVM】对象回收判断

Java 对象回收判断是程序设计中至关重要的一环。在面向对象的编程中, 合理的对象回收策略直接影响着程序的性能和内存利用效率。 因此, 深入了解和准确判断 Java 对象的回收时机, 不仅可以优化程序的运行性能, 还能有效避免内存泄漏和资源浪费。 本文将简单的分析一下 JVM 中对…

Java递归生成本地文件目录树形结构

Java递归生成本地文件目录(树行结构) 1.读取txt文件保存的文件目录结构 2.递归生成本地文件目录树形结构,并修改目录文件前缀进行递增 3.结果截图 4.代码 package com.zfi.server.device;import io.swagger.annotations.Api; import org.springframework.web.bind…