hiijoiu level
获赞
0
粉丝
1
关注
10
看过 TA
51
香港理工大学
2026
Python
IP属地:广东
暂未填写个人简介
私信
关注
# 🚀 一、GitHub + Git 是干嘛的👉 **Git**:本地版本控制工具👉 **GitHub**:远程代码托管 + 团队协作平台---# 🧩 二、完整开发流程(最核心)## ✅ 1. 克隆项目(拿代码)```bashgit clone 仓库地址```👉 把远程仓库拉到本地/服务器---## ✅ 2. 创建分支(不要直接改主分支)```bashgit checkout -b dev-v3```👉 每个人在自己的分支开发(避免互相覆盖)---## ✅ 3. 开发 + 提交```bashgit add .git commit -m "实现某功能"```👉 提交到本地仓库(形成版本记录)---## ✅ 4. 拉最新代码(避免冲突)```bashgit pull origin dev```👉 同步别人代码(团队协作关键步骤)---## ✅ 5. 推送代码到远程```bashgit push origin dev-v3```---## ✅ 6. 发起 Pull Request(PR)👉 在 GitHub 上:* 提交合并请求(PR)* Code Review(代码审核)* 合并到主分支(main / dev)---# 🔥 三、团队协作的核心原则(重点)## 1️⃣ 不要直接改 main👉 所有人基于分支开发---## 2️⃣ 经常 pull👉 避免代码冲突---## 3️⃣ 小步提交👉 每个 commit 只做一件事---## 4️⃣ 用 PR 做代码审核👉 保证代码质量---# 🧠 四、常见场景总结(非常重要)## 🚀 场景1:日常开发```bashgit pullgit add .git commit -m "xxx"git push```---## 🚀 场景2:拉同事代码```bashgit fetch origingit reset --hard origin/xxxgit clean -fd```---## 🚀 场景3:新建分支开发```bashgit checkout -b feature-xxx```---## 🚀 场景4:代码冲突解决```bashgit pull# 手动解决冲突git add .git commit```
0 点赞 评论 收藏
分享
一、问题背景与现象总结在复现导师提供的基于 Unsloth + TRL 的大模型 LoRA 微调任务过程中,项目在训练启动阶段频繁报错,主要表现为:fbgemm_gpu_experimental_gen_ai.so 动态库加载失败torchao / fbgemm_gpu 与当前 PyTorch、CUDA 版本不兼容多次卸载依赖后仍被自动重新安装在模型加载成功后,数据处理阶段出现 KeyError: 'conversations'这些问题并非单点错误,而是环境依赖、工具链、数据格式多因素叠加导致的系统性问题。二、问题定位与解决过程回顾1. 明确问题根因:不是“代码错了”,而是“依赖链错位”通过逐步排查发现:当前环境为:PyTorch 2.10.0 + CUDA 12.8transformers ≥ 4.55unsloth 2025.11.xfbgemm-gpu-genai 和 torchao 会尝试加载 与当前 PyTorch ABI 不兼容的 CUDA 扩展即使不在代码中显式调用量化,transformers / unsloth 仍可能在 import 阶段触发该链路结论:这是一个典型的「传递依赖 + 二进制扩展不兼容」问题,而非模型或训练逻辑本身的问题。2. uv 环境管理的关键认知在排查过程中逐渐意识到:uv sync 会严格遵循 pyproject.toml + uv.lock传递依赖(如 torchao)即使未写在 dependencies 中,也会被自动补装单纯 pip uninstall 无法解决“回弹式安装”正确做法:修改 pyproject.toml 中的顶层依赖删除 uv.lock重新 uv sync,让依赖图重新求解这一步是整个问题能否彻底解决的转折点。3. 在“版本兼容性”中做出正确取舍通过依赖约束分析发现:unsloth 2025.11.x 强依赖 trl ≥ 0.18trl ≥ 0.22 强依赖 transformers ≥ 4.55因此不能简单“为了躲 torchao 而降 transformers”最终采取的策略是:保留 unsloth + trl + transformers 的原始兼容组合移除不必要的 fbgemm-gpu-genai清理残留的 fbgemm_gpu 二进制模块接受 torchao 存在,但避免其进入危险路径这是一次典型的工程妥协式修复:不追求“最干净”,而是追求“能稳定跑通”。4. 数据格式问题:从系统错误回归到业务逻辑在环境完全打通后,训练流程卡在:KeyError: 'conversations'通过检查数据集字段发现:数据为 ChatML 格式:messagesUnsloth 默认按 ShareGPT 格式读取:conversations通过 最小改动:dataset = dataset.rename_column("messages", "conversations")成功对齐 Unsloth 的数据处理逻辑,训练流程顺利进入 Map 阶段。
0 点赞 评论 收藏
分享

创作者周榜

更多
关注他的用户也关注了:
牛客网
牛客网在线编程
牛客网题解
牛客企业服务