[踩坑记] CUDA环境下bitsandbytes安装报错/异常解决

2023-10-29

关键词:模型量化,bitsandbytes,bitsandbytes报错,大模型环境,CUDA环境

1. 问题描述

在部署大模型LLaMA的过程中,需要安装量化工具包bitsandbytes,环境如下:
操作系统:Ubuntu 18.04
GPU:4xA100 40G
CUDA:11.7
cuDNN:8.4
bitsandbytes: 0.38.0
github库

conda python环境下,通过pip install bitsandbytes直接安装,或是按源码编译安装,在python -m bitsandbytes检测时均出现异常。详见ISSUES),主要异常内容如下:

File 'bitsandbytes/cextension.py', line 20, in <module> raise RuntimeError('''
RuntimeError:
CUDA Setup failed despite GPU being available. Inspect the CUDA SETUP outputs above to fix your environment!
''')

在环境变量LD_LIBRARY_PATH中增加CUDA的lib路径,问题依旧。重新编译出现异常内容如下:

nvcc fatal: Unsupported gpu architecture 'compute_75'

在环境变量中增加CUDA_HOME,编译成功,但执行模块加载后出依然出现问题:

RuntimeError:
CUDA Setup failed despite GPU being available. Please run the following command to get more information: 

python -m bitsandbytes

Inspect the output of the command and see if you can locate CUDA libraries. You might need to add them to your LD_LIBRARY_PATH. ...

bitsandbytes仓库中发布ISSUES,无论是增加环境变量,还是重新编译,均没有解决。

2. 过程分析

新环境安装:在另外一台GPU测试机GTX TITAN X(lspci | grep -i nvidia)上安装CUDA11.7和cuDNN,并安装bitsandbytes(python -m bitsandbytes),一切正常。

确定问题出在系统环境上,咨询OP环境情况,原来系统中安装了CUDA10后来没有删除又安装了CUDA11,删除CUDA10后,可能系统中有信息残留,导致上述各种问题的出现,总之就是CUDA环境不干净!

3. 解决方法 ISSUES

删除系统中的所有的CUDA程序,包括源码安装的和工具安装的CUDA(apt-get uninstall),确保nvidia-smi, nvcc不再可用。

重新在干净的系统上依次安装cuDNNCUDA,之后重启系统,在conda python环境下通过pip install bitsandbytes安装bitsandbytes,通过python -m bitsandbytes验证,安装成功。

-------- END --------

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[踩坑记] CUDA环境下bitsandbytes安装报错/异常解决 的相关文章

随机推荐

  • 1.c++环境配置及第一个环境运行

    开发IDE与环境 最好是使用ubuntu系统进行开发 如果没有的话 基于windows使用vs code 进行ssh连接到远程的ubuntu主机进行开发也可以 开发的过程跟本地差不多 vs code IDE 插件的安装 1 变成中文菜单与提
  • ByteBridge数据标注平台:自动驾驶相关数据标注

    ByteBridge Dashboard是一个Saas型数据采集标注平台 利 强大的标注工具 运 智能算法技术 依靠交叉审核质检机制 借助标注运营及管理 动 体化系统 为客户按时提供安全 稳定 质量的数据标注服务 满 在模式识别领域进 科研
  • BP算法

    只限于自己看 预先说明 首先 这里面什么看成变量 什么看成常量 变量 网络的权值W 偏置b默认在W内 以及输入X 常量 就是target 你可能会说呃呃呃 不是输入都是有值吗 不都是数吗 怎么会是变量啊 一般来说网络的反向传播就是两种类型
  • VS2015--win32工程配置

    一个工程很大 需要很多的文件 如果都是我们自己写的文件 我们一般不会把实现不同功能的两个文件命以相同的名称 但是 如果我们引入了第三方库的源码 这样就很有可能有相同名字的文件存在 比如很多库都喜欢定义一个base h文件用于放置一些最基本的
  • Modbus RTU协议认识

    Modbus RTU协议认识 一 通信模式 Modbus RTU协议是一个主从协议 主机发出请求 从机返回响应 从机不能主动发送数据 同一时刻总线上只能有一个主机 但可以有多个从机 从机之间不能相互通信 二 通信角色 主机 主机没有编号 因
  • MYSQL修改时区

    按照公司要求 java程序和数据库时区保持在UTC时区 本文将针对自建数据库 提供修改时区方法 含盖windows和ubuntu环境 一 Windows环境 1 找到mysql配置文件 my ini mysql由于按照方式不同 存在位置可能
  • Python基础知识: for . in range()循环

    Python for x in range 循环打印四个数字能生成多少个互不相同且无重复数字的三位数 记录打印三位数的个数 count 0 用i控制第一位输出的位数 for i in range 1 5 用j控制第二位输出的位数 for j
  • (转)大厂的产品经理是怎样进行产品迭代的?

    先说一下背景 大厂和小厂都呆过 呆过野蛮生长的传统集团的互联网部门 呆过上市的中型二线互联网公司 呆过APPLE STORE行业APP排名第一的产品公司 现在呆在全球一万多员工的超级独角兽公司 其实各个产品公司的迭代流程都大同小异 因为规范
  • Flink 1.11.2 在K8s里基于NFS搭建高可用集群

    使用官方的docker镜像搭建job ha集群一直失败 最后参考了flink1 11 2 的start cluster sh 脚本 对docker 的启动脚本进行了调整 终于成功了 希望能够帮助到大家 需要注意的是 我的k8s环境是基于k8
  • GIS开发一:OpenLayers在线瓦片数据源汇总

    文章目录 1 概述 2 地图数据源 2 1 Google 2 2 OpenStreetMap 2 3 Thunderforest 2 4 Mapbox 2 5 ArcGIS 2 6 Bing地图 2 7 高德地图 2 8 百度地图 2 9
  • 自用入门人工智能笔记

    定义 百度百科的定义 机器学习的主要研究对象是人工智能 特别是如何在经验学习中改善具体算法的性能 能通过经验自动改进的计算机算法的研究 用数据和以往的经验来优化计算基础性的性能标准 Machine Learning书中的定义 如果一个程序可
  • Unity AssetBundle(2):工具UnityStudio

    一 UnityStudio 作用有两个 查看AssetBundle内资源 File gt LoadFile 提取AssetBundle内资源 Export 下载地址 UnityStudio releases地址 Perfare UnityS
  • Linux下Mysql 5.6.21 tar包安装实践

    好久没玩linux 由于项目需要部署新的linux开发环境 包括安装jdk tomcat redis mysql 趁着有时间 赶紧部署好 jdk tomcat redis很快就部署好了 唯独mysql让我折腾了一阵 先安装了我之前就安装过的
  • 数据库性能优化必读,AntDB-M数据库的哈希索引设计

    数据库加快访问速度的关键技术之一就是索引 索引的设计及使用方式极大程度上影响了数据库的性能 AntDB M支持Hash BTree两种索引类型 本文主要讲解Hash索引的相关设计 并给出一些使用建议 1 相关概念 桶 用于定位索引记录的容器
  • 如何在本地操作Redis

    1 下载redis到本地 下载Redis x64 xxx zip压缩包并解压 我这里解压到了D Redis Redis下载地址 2 开启并连接Redis 1 进入解压的文件夹中 按住shift 右击鼠标 点击在此处打开命令窗口 运行命令 r
  • MySQL安装时常见问题和解决方案【详解】

    目录 1 更改不了后缀名 2 配置文件设置错误 3 使用 mysqld install命令安装MySQL服务失败 4 使用 mysqld initialize console命令初始化MySQL 失败 5 使用net start mysql
  • java 中 BigDecimal 详解

    首先 学习一个东西 我们都必须要带着问题去学 这边我分为 为什么 是什么 怎么用 为什么要用BigDecimal 首先 我们先看一下 下面这个现象 那为什么会出现这种情况呢 因为不论是float 还是double都是浮点数 而计算机是二进制
  • 时间的几个实用函数 FILETIME UnixTime的转换

    filetimeToUnixTime windos filetime 起于 1601 01 01T00 00 00Z 单位 100 纳秒 UnixTime 起于 1970 01 01T00 00 00Z 单位 秒 它们的起始时间差了 116
  • Java实现第九届蓝桥杯测试次数

    测试次数 题目描述 x星球的居民脾气不太好 但好在他们生气的时候唯一的异常举动是 摔手机 各大厂商也就纷纷推出各种耐摔型手机 x星球的质监局规定了手机必须经过耐摔测试 并且评定出一个耐摔指数来 之后才允许上市流通 x星球有很多高耸入云的高塔
  • [踩坑记] CUDA环境下bitsandbytes安装报错/异常解决

    关键词 模型量化 bitsandbytes bitsandbytes报错 大模型环境 CUDA环境 1 问题描述 在部署大模型LLaMA的过程中 需要安装量化工具包bitsandbytes 环境如下 操作系统 Ubuntu 18 04 GP