auto-gptq安装以及不适配软硬件环境可能出现的问题及解决方式
目录
- 1、auto-gptq是什么?
- 2、auto-gptq安装
- 3、auto-gptq不正确安装可能会出现的问题
- (1)爆出:`CUDA extension not installed.`
- (2)没有报错但是推理速度超级慢
1、auto-gptq是什么?
Auto-GPTQ 是一种专注于 量化深度学习模型 的工具库。它的主要目标是通过量化技术(Quantization)将大型语言模型(LLM)等深度学习模型的大小和计算复杂度显著减少,从而提高推理效率,同时尽可能保持模型的性能。
2、auto-gptq安装
在Linux和Windows上,AutoGPTQ可以通过预先构建的轮子为特定的PyTorch版本安装:
| AutoGPTQ version | CUDA/ROCm version | Installation | Built against PyTorch |
|---|---|---|---|
| latest (0.7.1) | CUDA 11.8 | pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ | 2.2.1+cu118 |
| latest (0.7.1) | CUDA 12.1 | pip install auto-gptq | 2.2.1+cu121 |
| latest (0.7.1) | ROCm 5.7 | pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/rocm571/ | 2.2.1+rocm5.7 |
| 0.7.0 | CUDA 11.8 | pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ | 2.2.0+cu118 |
| 0.7.0 | CUDA 12.1 | pip install auto-gptq | 2.2.0+cu121 |
| 0.7.0 | ROCm 5.7 | pip install auto-gptq --extra-index-url https://huggingface.github.io/autogptq-index/whl/rocm571/ | 2.2.0+rocm5.7 |
| 0.6.0 | CUDA 11.8 | pip install auto-gptq==0.6.0 --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ | 2.1.1+cu118 |
| 0.6.0 | CUDA 12.1 | pip install auto-gptq==0.6.0 | 2.1.1+cu121 |
| 0.6.0 | ROCm 5.6 | pip install auto-gptq==0.6.0 --extra-index-url https://huggingface.github.io/autogptq-index/whl/rocm561/ | 2.1.1+rocm5.6 |
| 0.5.1 | CUDA 11.8 | pip install auto-gptq==0.5.1 --extra-index-url https://huggingface.github.io/autogptq-index/whl/cu118/ | 2.1.0+cu118 |
| 0.5.1 | CUDA 12.1 | pip install auto-gptq==0.5.1 | 2.1.0+cu121 |
| 0.5.1 | ROCm 5.6 | pip install auto-gptq==0.5.1 --extra-index-url https://huggingface.github.io/autogptq-index/whl/rocm561/ | 2.1.0+rocm5.6 |
AutoGPTQ is not available on macOS.
注意:安装的auto-gptq版本必须与CUDA和pytorch版本都适配,安装完之后推理速度很慢可能是需要从源码安装
3、auto-gptq不正确安装可能会出现的问题
(1)爆出:CUDA extension not installed.

这个问题我一直以为是CUDA和pytorch没配置好,或者不适配硬件,甚至以为是没有安装cudnn的原因,但最后发现原来是安装的auto-gptq不适配当下环境。
注意按照上面的方法安装auto-gptq仍然可能报错或者不适配,此时应该从源码安装,可以参考教程AutoGPTQ/README_zh.md at main · AutoGPTQ/AutoGPTQ,或者解决 GPTQ 模型导入后推理生成 Tokens 速度很慢的问题(从源码重新安装 Auto-GPTQ)_auto gptq 源码构建非cuda版本-CSDN博客
(以下摘自官方文档)
克隆源码:
git clone https://github.com/PanQiWei/AutoGPTQ.git && cd AutoGPTQ然后,从项目目录安装:
pip install .正如在快速安装一节,你可以使用
BUILD_CUDA_EXT=0来取消构建 cuda 拓展。如果你想要使用 triton 加速且其能够被你的操作系统所支持,请使用
.[triton]。对应 AMD GPUs,为了从源码安装以支持 RoCm,请设置
ROCM_VERSION环境变量。同时通过设置
PYTORCH_ROCM_ARCH
(reference)
可提升编译速度,例如:对于 MI200 系列设备,该变量可设为gfx90a。例子:
ROCM_VERSION=5.6 pip install .对于 RoCm 系统,在从源码安装时额外需要提前安装以下包:
rocsparse-dev,hipsparse-dev,
rocthrust-dev,rocblas-devandhipblas-dev。
(2)没有报错但是推理速度超级慢
此时查看auto-gptq版本,如果版本后没有带cu1xx,则可能是需要从源码安装
相关文章:
auto-gptq安装以及不适配软硬件环境可能出现的问题及解决方式
目录 1、auto-gptq是什么?2、auto-gptq安装3、auto-gptq不正确安装可能会出现的问题(1)爆出:CUDA extension not installed.(2)没有报错但是推理速度超级慢 1、auto-gptq是什么? Auto-GPTQ 是一…...
【R语言】基础知识
一、对象与变量 R语言中的所有事物都是对象,如向量、列表、函数,变量、甚至环境等。它的所有代码都是基于对象object的操作,变量只是调用对象的手段。 1、对象 在R语言中,对计算机内存的访问是通过对象实现的。 # 字符型向量 …...
【一本通】虫洞
【一本通】虫洞 C语言代码C代码JAVA代码 💐The Begin💐点点关注,收藏不迷路💐 John在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之…...
python爬虫--小白篇【爬虫实践】
一、前言 1.1、王者荣耀皮肤爬虫 根据王者荣耀链接,将王者荣耀的全部英雄的全部皮肤图片爬取保存到本地。经过分析得到任务的三个步骤: 根据首页全部英雄列表连接获取全部英雄的名称hero_name以及对应的hero_id;根据单个英雄的hero_name和h…...
Unity背包道具拖拽(极简版实现)
(感觉Csdn代码页面可以再大一点或者加个放大功能 不然得划着看不太舒服) 1.关键接口,三个拖拽相关的 2.关键参数,PointerEventData 一直没仔细看过,其实有包含鼠标相关的很多参数,鼠标点击次数ÿ…...
spark读取普通文件
spark读取普通文件 txt文件 """ 将一行数据当做一个字段,需要自己切割 字段名称为value 表结构 可以从sql中搞 """ df spark.read.text("../../data/wordcount/input/data.txt") df spark.read.format("text"…...
MySQL SQL语句性能优化
MySQL SQL语句性能优化指南 一、查询设计优化1. 避免 SELECT *2. 使用 WHERE 进行条件过滤3. 避免在索引列上使用函数和表达式4. 使用 LIMIT 限制返回行数5. 避免使用子查询6. 优化 JOIN 操作7. 避免全表扫描 二、索引优化1. 使用合适的索引2. 覆盖索引3. 索引选择性4. 多列索引…...
【蓝桥杯每日一题】技能升级
技能升级 2024-12-10 蓝桥杯每日一题 技能升级 二分 题目大意 一个角色有 N 种可以增加攻击力的技能,对于第 i 个技能首次升级可以提升 A i A_i Ai 点攻击力,随后的每次升级增加的攻击力都会减少 B i B_i Bi 。升级 ⌈ A i B i ⌉ \lceil \frac{A…...
css 实现在一条线上流动小物体(offset-path)
直接贴代码,留几个参考网址给大家 【SVG】路径<Path>标签详解,一次搞懂所有命令参数 探秘神奇的运动路径动画 Motion Path <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><meta name="viewport&quo…...
探索 Robyn 框架 —— 下一代高性能 Web 框架
技术博客:探索 Robyn 框架 —— 下一代高性能 Web 框架 什么是 Robyn? Robyn 是一个用 Rust 编写的高性能 Web 框架,旨在通过极简设计和高效并发处理,帮助开发者快速构建可扩展的现代 Web 应用。得益于 Rust 的内存安全性和性能…...
STL容器-map P3613【深基15.例2】寄包柜 普及-
题目来源:洛谷题库 文章目录 map例题map知识点map使用注意:map的常用用法 map例题 P3613【深基15.例2】寄包柜 普及- 题意 根据数据插入/查询 思路 map键值对可以根据柜子编号查找物品,但是柜子又有很多个,考虑数组或者map数组…...
【MySQL 进阶之路】了解 性能优化 与 设计原则
1.B树的优势 “矮胖”结构: 矮:B树的每个节点存储更多的关键字,从而减少了树的层级(最多三层),减少了磁盘I/O操作,提高了查询效率。胖:叶子节点存储实际的数据,并使用双…...
MySQL之数据库三大范式
一、什么是范式? 范式是数据库遵循设计时遵循的一种规范,不同的规范要求遵循不同的范式。 (范式是具有最小冗余的表结构) 范式可以 提高数据的一致性和 减少数据冗余和 更新异常的问题 数据库有六种范式(1NF/2NF/3NF…...
[大数据]Hudi
G:\Bigdata\17.hudi\大数据技术之数据湖Hudi 第1章 Hudi概述 1.1 Hudi简介 Apache Hudi(Hadoop Upserts Delete and Incremental)是下一代流数据湖平台。Apache Hudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服…...
jenkins harbor安装
Harbor是一个企业级Docker镜像仓库。 文章目录 1. 什么是Docker私有仓库2. Docker有哪些私有仓库3. Harbor简介4. Harbor安装 1. 什么是Docker私有仓库 Docker私有仓库是用于存储和管理Docker镜像的私有存储库。Docker默认会有一个公共的仓库Docker Hub,而与Dock…...
JavaScript 高级特性与 ES6 新特性:正则表达式的深度探索
在现代 JavaScript 开发中,正则表达式(Regular Expressions)和高级特性、ES6 新特性的结合使用,能够极大地提升代码的简洁性、可读性和功能性。本文将深入探讨 JavaScript 中的正则表达式及其在高级特性和 ES6 新特性中的应用&…...
正则表达式——参考视频B站《奇乐编程学院》
智能指针 一、背景🎈1.1. 模式匹配🎈1.2. 文本替换🎈1.3. 数据验证🎈1.4. 信息提取🎈1.5. 拆分字符串🎈1.6. 高级搜索功能 二、原料2.1 参考视频2.2 验证网址 三、用法3.1 限定符3.1.1 ?3.1.2 *3.1.3 3.1.…...
【FFmpeg】FFmpeg 内存结构 ⑥ ( 搭建开发环境 | AVPacket 创建与释放代码分析 | AVPacket 内存使用注意事项 )
文章目录 一、搭建开发环境1、开发环境搭建参考2、项目搭建 二、AVPacket 创建与释放代码分析1、AVPacket 创建与释放代码2、Qt 单步调试方法3、单步调试 - 分析 AVPacket 创建与销毁代码 三、AVPacket 内存使用注意事项1、谨慎使用 av_init_packet 函数2、av_init_packet 函数…...
【多模态文档智能】OCR-free感知多模态大模型技术链路及训练数据细节
目前的一些多模态大模型的工作倾向于使用MLLM进行推理任务,然而,纯OCR任务偏向于模型的感知能力,对于文档场景,由于文字密度较高,现有方法往往通过增加图像token的数量来提升性能。这种策略在增加新的语言时࿰…...
Mybatis动态sql执行过程
动态SQL的执行原理主要涉及到在运行时根据条件动态地生成SQL语句,然后将其发送给数据库执行。以下是动态SQL执行原理的详细解释: 一、接收参数 动态SQL首先会根据用户的输入或系统的条件接收参数。这些参数可以是查询条件、更新数据等,它们…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
华为OD机试-最短木板长度-二分法(A卷,100分)
此题是一个最大化最小值的典型例题, 因为搜索范围是有界的,上界最大木板长度补充的全部木料长度,下界最小木板长度; 即left0,right10^6; 我们可以设置一个候选值x(mid),将木板的长度全部都补充到x,如果成功…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
