一、内存 / 显存不足(OOM 错误,如 “CUDA out of memory”)
- 解决办法:
- 加载模型时启用量化(如 4bit/8bit 量化):load_in_4bit=True(使用 bitsandbytes 库)。
- 降低模型批次大小(batch_size),或使用梯度检查点(gradient checkpointing)减少显存占用。
- 拆分模型到多设备(如模型并行):device_map=”auto”(transformers 库支持)。
- 改用更小的模型版本(如从 7B 切换到 3B,或选择蒸馏版模型)。
- 升级硬件(增加 GPU 显存,如从 16GB 升级到 24GB/48GB)。
二、CPU 编译 / 运行速度过慢(如安装依赖时编译耗时超 1 小时)
- 解决办法:
- 启用多线程编译:CMAKE_BUILD_PARALLEL_LEVEL=8 pip install 库名(利用多核 CPU)。
- 安装预编译二进制包(如用 conda 安装:conda install -c conda-forge 库名)。
- 避免在低配置 CPU(如 2 核 4 线程)上编译大型依赖(如 FlashAttention),优先使用云服务器。
- 临时关闭杀毒软件或后台进程,释放 CPU 资源。
- 提前下载依赖源码,本地编译后离线安装(适合网络差的环境)。
三、GPU 驱动或 CUDA 版本不兼容(如 “CUDA driver version is insufficient”)
- 解决办法:
- 查看模型要求的 CUDA 版本(如 LLaMA-Factory 要求 CUDA 11.7+),安装对应版本的 CUDA Toolkit 和 cuDNN。
- 升级 NVIDIA 驱动至最新版本(官网下载对应 GPU 型号的驱动)。
- 用nvidia-smi命令确认驱动支持的最高 CUDA 版本,避免安装过高版本的 CUDA。
- 若使用 conda 环境,直接安装带 CUDA 的依赖:conda install cudatoolkit=11.7 cudnn=8.5。
- 降级模型框架版本(如 PyTorch 从 2.0 降到 1.13)以适配现有 CUDA。
四、磁盘空间不足(模型文件 / 依赖包占用超 100GB)
- 解决办法:
- 清理临时文件(如/tmp目录、conda 缓存:conda clean -a)。
- 将模型下载到外接硬盘,通过符号链接关联到项目目录:ln -s /外接硬盘路径/model /项目路径/model。
- 只下载必要的模型权重(如跳过冗余的 tokenizer 文件或旧版本检查点)。
- 压缩模型文件(如用 GPTQ/AWQ 量化压缩,减少 50%+ 空间)。
- 优先使用流式下载(如git lfs pull –include “模型文件”),避免一次性下载全部文件。
五、低配置设备无法启动(如普通笔记本运行 7B 模型)
- 解决办法:
- 改用 CPU 推理(速度慢但能运行):model = AutoModelForCausalLM.from_pretrained(…, device_map=”cpu”)。
- 使用轻量级框架(如 llama.cpp),支持 CPU 高效推理。
- 部署到云平台(如 Colab、阿里云 PAI-DSW),利用免费或按需付费的 GPU 资源。
- 选择针对低资源优化的模型(如 Phi-2、Qwen-1.8B)。
- 启用模型分片加载:from accelerate import load_checkpoint_and_dispatch; model = load_checkpoint_and_dispatch(…)。
