📝 学习笔记:在 AMD 显卡上“硬核组装”大模型瘦身工具 (bitsandbytes)
📌 核心知识点卡片
| 核心概念 | 大白话解释 | 为什么笔记里要提它? |
|---|---|---|
| ROCm | AMD 显卡专用的“AI 加速引擎” | 说明这台电脑用的是 AMD 显卡,而不是英伟达。 |
| bitsandbytes | 大模型“瘦身减重”魔法工具 | 用“量化”技术把 16 位大模型压缩成 8 位/4 位,让普通显卡也能跑得动。 |
| 源码编译 | 把零件买回家,自己照着说明书组装 | bitsandbytes 默认只支持英伟达,AMD 用户必须手动组装(编译) 专属版本。 |
🛠 实战操作步骤拆解
步骤一:克隆代码(把零件下载到本地)
bash
git clone --recurse-submodules https://github.com/bitsandbytes-foundation/bitsandbytes.git
cd bitsandbytes
请谨慎使用此类代码。
- 大白话: 去 GitHub 官方仓库把 bitsandbytes 的“全套源文件零件”下载到电脑里,并进入这个文件夹。
- 注意点:
--recurse-submodules意思是把里面包含的小零件(子模块)也一并下载完整,漏了后面会组装失败。
步骤二:清理旧环境(打扫工作台)
bash
# 清理之前的构建 (如果有)
rm -rf build
请谨慎使用此类代码。
- 大白话: 如果之前组装失败过,工作台上会有垃圾残留。这行命令会彻底删掉旧的编译缓存,保证全新、干净地开始。
步骤三:量体裁衣(配置显卡型号密码)
bash
cmake -DCOMPUTE_BACKEND=hip -DBNB_ROCM_ARCH="00000" -S .
请谨慎使用此类代码。
这是最关键的一步,相当于告诉编译器组装说明书:
-
-DCOMPUTE_BACKEND=hip:告诉电脑“我用的是 AMD 显卡,使用 HIP 翻译官把英伟达的代码翻译过来”。 -
-DBNB_ROCM_ARCH="00000":指定你的显卡架构代码。- 💡 避坑指南: 图片中的
0000是某种特定显卡的代号。在实际操作中,必须换成你自己的显卡代号! - 如何查询自己的代号? 在终端输入
rocminfo | grep "Name"就能查到(例如:RX 7900 XTX 通常对应gfx1100)。
- 💡 避坑指南: 图片中的
步骤四:开工组装(正式编译)
bash
make -j$(nproc)
请谨慎使用此类代码。
- 大白话: 让电脑的处理器(CPU)火力全开,把看客看不懂的代码“熔炼”成电脑可以直接执行的二进制程序。
- 参数解释:
-j$(nproc)意思是让 CPU 动用所有的核心一起多线程工作,速度最快。
步骤五:正式安装
bash
pip install .
请谨慎使用此类代码。
- 大白话: 把刚刚组装好的、完美适配你家 AMD 显卡的 bitsandbytes 工具,正式安装到你的 Python 环境里。
💡 独立站出海 / 技术分享思考
- AI 生态的“护城河”效应: 英伟达的 CUDA 是垄断生态,AMD 的 ROCm 正在艰难破局。这就是为什么 AMD 用户需要多走这 5 个“源码编译”步骤。
- 技术出海机会: 目前海外(特别是欧美)有大量独立开发者因为预算问题,正在购入大显存的 AMD 显卡(如 RX 7900 系列)来跑开源大模型。