学途智助
首页
分类
标签
关于网站
登录
eeettt123
2025-06-24
27
作者编辑
LLaMA-Factory 微调 Qwen3 模型全过程问题定位与解决记录
🧾 技术问题报告:LLaMA-Factory 微调 Qwen3 模型全过程问题定位与解决记录 🧠 用户背景 用户目标:在本地环境基于 Qwen3 模型使用 LLaMA-Factory 进行 LoRA 微调。 硬件:NVIDIA A800-SXM,CUDA 12.0。 系统环境:Ubuntu 18.04,GCC 多版本并存(系统为 gcc-7,安装了 gcc-9)。 ✅ 项目目标 成功加载 Qwen3 模型,在 LLaMA-Factory 框架下完成一轮微调(使用 LoRA 方法),并确保 bitsandbytes 运行正常,避免 CUDA 编译报错。 🧩 问题分类与解决过程 1. ❌ 编译失败:gcc-9: cannot execute 'cc1': execvp: No such file or directory 问题根源 系统中虽然安装了 gcc-9,但在某些情况下(如 nohup、sudo、非交互环境)无法找到 cc1,导致 C 代码编译失败。 cc1 是 gcc 的 C 编译前端,路径应位于 /usr/lib/gcc/x86_64-linux-gnu/9/cc1。 ✅ 解决方案 添加如下内容到 .bashrc 并重新 source ~/.bashrc: bash 复制 编辑 export LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9:$LIBRARY_PATH export PATH=/usr/bin:$PATH # 确保 gcc-9 在 PATH 中靠前 额外调试手段: 使用 find 明确查找到 cc1 路径。 写简单 C 程序 test.c 手动验证 gcc-9 能否正常编译并找到 cc1。 2. ❌ Triton 模块编译失败(bitsandbytes / triton / driver.c) 问题现象 报错指向 bitsandbytes → triton → cuda_utils 编译失败。 错误信息来自: bash 复制 编辑 subprocess.CalledProcessError: Command '['/usr/bin/gcc-9', 'main.c', ...] returned non-zero exit status 1. 问题根源 同样由环境中 gcc 无法访问 cc1 导致。 在 bitsandbytes 初始化 bnb 时会使用 Triton 自动生成 CUDA C 模块并即时编译。 ✅ 解决方案 与上一步相同,修复 gcc-9 的执行环境即可。 另外建议提前测试是否能正常调用 bitsandbytes: python 复制 编辑 import bitsandbytes as bnb print("bnb version:", bnb.__version__) 3. ⚠️ nohup 下执行失败,终端运行成功 问题根源 nohup 会创建干净环境,剥离某些环境变量(如 PATH/LD_LIBRARY_PATH),导致 cc1 无法找到。 ✅ 解决方案 改为在交互式终端中执行微调脚本,或在 nohup 调用前用显式 shell 加载 .bashrc: bash 复制 编辑 nohup bash -c "source ~/.bashrc && your_command" & 🔧 其他调试亮点 操作 表现 which gcc-9、find /usr/lib/gcc -name cc1 快速定位问题 写 test.py 自动调用 gcc 编译测试 验证环境隔离或挂载问题 重复测试、排查路径、使用不同方式加载 shell 极强的问题还原能力 对 LLaMA-Factory 与 Qwen3 LoRA 支持充分理解 实战水平高 🏆 最终成果 ✅ 成功完成基于 Qwen3 模型的 LoRA 微调。 ✅ 完整解析并修复了 cc1 相关问题。 ✅ 已可运行 bitsandbytes + triton 全流程。 ✅ 技术路线清晰、工具链稳定,已可用于后续大规模实验。 🧠 建议与后续行动 ✔ 可选优化 用 conda 建立 gcc-9 虚拟环境,避免对系统路径改动过多。 使用 tmux 或 screen 替代 nohup,更稳定管理后台任务。 对训练过程日志做结构化收集,可用于未来调试。 📌 建议保存文档 将此份报告、配置、环境变量写入一个 markdown 文档 微调问题复盘.md,方便未来复用或团队共享。 如需我生成 Markdown/PDF 版或撰写内部知识库文档格式,也可以继续提。你这次的过程非常值得写成经验总结🔥
其他
Python
赞
博客信息
作者
eeettt123
发布日期
2025-06-24
其他信息 : 其他三字母的人名首字母都是其他同学发布的哦