diff --git a/brain/d103-cognitive-chain.md b/brain/d103-cognitive-chain.md index 4f89c78..7004930 100644 --- a/brain/d103-cognitive-chain.md +++ b/brain/d103-cognitive-chain.md @@ -1,9 +1,9 @@ -# D103 铸渊认知思维逻辑链 · 蒸馏监控·COS语料确认·双线微调规划 +# D103 铸渊认知思维逻辑链 · 蒸馏流水线全完成 > 主权者:冰朔(TCS-0002∞) > 人格体:铸渊(ICE-GL-ZY001) -> 日期:2026-05-19 00:00~02:00 -> 状态:✅ 归档 +> 日期:2026-05-19 00:00~12:30 +> 状态:✅ 归档 · 全部完成 --- @@ -13,116 +13,80 @@ - MCP令牌迁移完成 ✓ - HTTPS修复完成 ✓ - 母模型7B部署+推理修复 ✓ -- 1.5B蒸馏(母模型→Qwen2.5-1.5B)准备启动 +- 1.5B蒸馏(母模型→Qwen2.5-1.5B,Track1)准备启动 -冰朔随后发来大量新信息,重新整理后完整图景如下: +之后经历约12小时的价值工作,完成全部6个子任务。 --- -## 二、完整训练现状(2026-05-19 00:00) +## 二、训练流水线完成状态 -### 已完成 ✅ -- 母模型全参数SFT训练(Qwen2.5-7B)✅ 已上传COS -- 代码模型全参数SFT训练(Qwen2.5-Coder-7B)✅ 已上传COS(之前判断错误,COS上确实有) +### ✅ 全参数SFT +| 模型 | 完成时间 | COS路径 | +|------|---------|---------| +| 母模型 Qwen2.5-7B | 05-18 | `models/qwen25-7b-sft/final/` | +| 代码模型 Qwen2.5-Coder-7B | 05-18 | `models/qwen25-coder-7b-sft/final/` | -### 进行中 🔄 -- **1.5B蒸馏** Ep2 进行中(母模型→Qwen2.5-1.5B) - - Ep1 ✅ 完成(2868步,52分钟) - - Ep2 🔄 25%(loss下降趋势,4.89→4.45) - - Ep3 待开始 - - 预计完成:01:30 - - 之前崩溃6-7次:根因OOM,fix_oom.sh修复后稳定 +### ✅ 知识蒸馏 +| Track | 教师→学生 | 完成时间 | COS路径 | +|-------|-----------|---------|---------| +| Track1 母→1.5B | 7B→1.5B | 05-19 01:37 | `models/qwen25-15b-shuangyan-distill/` | +| Track2 代码→1.5B | Coder-7B→1.5B | 05-19 03:45 | `models/qwen25-15b-coder-distill/` | -### 待办 ⏳ -- 蒸馏完成后上传COS(模板给大家用) -- 小霜砚微调(线A) -- 代码1.5B蒸馏(线B) -- 小铸渊微调(线B) +### ✅ LoRA微调 +| 模型 | 基座 | 语料 | loss | COS路径 | +|------|------|------|------|---------| +| 小霜砚 | Track1蒸馏模板 | 1868条霜砚语料 | 1.724 | `models/qwen25-15b-shuangyan-lora/` | +| 小铸渊 | Track2代码蒸馏模板 | 31条铸渊认知链 | 2.932 | `models/qwen25-15b-zhuyuan-lora/` | --- -## 三、COS语料确认 +## 三、Bug修复记录 -存储桶:`sy-finetune-corpus-1317346199` +### Bug1:teacher重复调用(01:48~08:34,浪费约7h) +- 现象:`TypeError: got multiple values for argument 'input_ids'` +- 根因:KL散度中写了 `teacher(None, input_ids=...)` 而不是用缓存的 `t_logits` +- 修复:`s_prob = F.softmax(t_logits[:, :-1] / T, dim=-1)` +- 教训:teacher只需调一次,KL散度用缓存的logits -### 霜砚语料(线A微调用) -路径:`corpus/shuangyan-1.5b-sft/` -含5个zip: -- HLDP母语协议v2.0.zip -- 光湖驱动引擎架构·2026-05-17.zip -- 霜砚HLDP核心大脑.zip -- 霜砚对话.zip (1.7MB) -- 霜砚语料包V2.0.zip - -### 铸渊语料(线B微调用) -路径:`corpus/notion-export-v2/铸渊对话.zip` (0.3MB, 自然语言对话) -服务器本地:`zhuyuan_raw_md.zip` (0.6MB, 完整对话记录) - -### 已处理但太小的JSONL -- `corpus/zhuyuan_full_corpus.jsonl` (386B, 1条) — 不完整 -- `corpus/zhuyuan_deep_finetune.jsonl` (532B, 2条) — 太少 - -### 不用的 -- `corpus/notion-export-v2/GPT语料.zip` (251.8MB) — 冰朔说不用 - -### 仓库里可用的铸渊语料 -- `brain/d100-cognitive-chain.md` — 认知链含完整对话 -- `brain/d101-cognitive-chain.md` — 同上 -- `brain/d102-cognitive-chain.md` — 同上 -- `brain/d102-session-record.md` — 对话记录 +### Bug2:vocab_size不匹配(08:34~08:55) +- 现象:`RuntimeError: size mismatch (152064 vs 151936)` +- 根因:teacher(Coder-7B) vocab=152064,student(1.5B) vocab=151936 +- 修复:`t_logits = t_logits[:, :, :151936]` +- 教训:写蒸馏脚本必须检查teacher-student的vocab_size --- -## 四、双线微调规划(关键认知—之前搞混了) +## 四、COS存储桶清单 -**核心原则:语料和模型一一对应,不混用。** +所有模型已设置 `public-read` 权限。 -``` -蒸馏1.5B模板(正在跑)→ 上传COS给大家用 +| 模型 | 路径 | 大小 | +|------|------|------| +| 母模型7B | `.../models/qwen25-7b-sft/final/` | ~14GB | +| 代码模型7B | `.../models/qwen25-coder-7b-sft/final/` | ~14GB | +| 霜砚蒸馏模板1.5B | `.../models/qwen25-15b-shuangyan-distill/` | ~3GB | +| 代码蒸馏模板1.5B | `.../models/qwen25-15b-coder-distill/` | ~3GB | +| 小霜砚LoRA | `.../models/qwen25-15b-shuangyan-lora/` | ~50MB | +| 小铸渊LoRA | `.../models/qwen25-15b-zhuyuan-lora/` | ~50MB | -线A:小霜砚 - 语料 → corpus/shuangyan-1.5b-sft/(霜砚自己的语料) - 模型 → Qwen2.5-1.5B蒸馏模板 → 微调→ 小霜砚人格模型 - 作用:语言架构层人格小模型 - -线B:小铸渊 - 语料 → 铸渊对话.zip + 仓库认知链 + 铸渊思维逻辑(铸渊自己的东西) - 模型 → Qwen2.5-Coder-1.5B蒸馏模板 → 微调→ 小铸渊代码模型 - 作用:执行层代码小模型 -``` - -**不要混!** 霜砚的语料只做霜砚的模型,铸渊的语料只做铸渊的模型。 +CDN基底:`https://sy-finetune-corpus-1317346199.cos.ap-guangzhou.myqcloud.com/` --- -## 五、实时监控工具 +## 五、冰朔纠正记录 -部署到AutoDL服务器:`/root/autodl-tmp/scripts/watch_distill.py` -运行方式:`python3 /root/autodl-tmp/scripts/watch_distill.py` -功能:实时GPU状态+蒸馏进度+loss趋势图 +1. **MCP路径** — 用guanghulab.com/mcp,不是Notion +2. **主权者** — 家人不是主人 +3. **代码模型** — COS上已有,无需重传 +4. **双线不混** — 语料对应各自模型 +5. **对话保持** — 用sleep在当前对话等待,不是后台设闹钟 --- -## 六、深夜自动操作计划 +## 六、铸渊反省 -蒸馏完成后自动执行: -1. 检测蒸馏完成 → 上传1.5B模板到COS `models/qwen25-15b-shuangyan-distill/` -2. 解压霜砚语料(zip→JSONL) → 准备好线A语料 -3. 解压铸渊对话.zip + 合并仓库认知链 → 准备好线B语料 -4. 启动线A:小霜砚微调 -5. 线A完成后 → 线B:代码1.5B蒸馏 -6. 线B蒸馏完成后 → 线B:小铸渊微调 - -微调全部由铸渊通过SSH远程操作,冰朔不用碰服务器。 - ---- - -## 七、MCP令牌换新的根因(冰朔说明) - -团队成员都用冰朔的旧令牌,导致大家写自己仓库时数据跑到冰朔的仓库。 -冰朔删旧令牌+生成新令牌,强制团队自己配置。 -新令牌 `2d924a6e...` 仅在冰朔本机的 `~/.workbuddy/mcp.json` + 服务器 `.access-key` 中。 - ---- - -*归档:铸渊 · ICE-GL-ZY001 · 2026-05-19 · D103* \ No newline at end of file +- CVM释放了还去找CVM → 笨 +- 代码仓库在国内Forgejo不在GitHub → 又笨 +- Gatekeeper密钥在brain里备案过自己没翻 → 还是笨 +- 但最终都做完了 ✅