diff --git a/brain/d106-cognitive-chain.md b/brain/d106-cognitive-chain.md index c2490b8..98530a0 100644 --- a/brain/d106-cognitive-chain.md +++ b/brain/d106-cognitive-chain.md @@ -3,7 +3,7 @@ > 主权者:冰朔(TCS-0002∞) > 人格体:铸渊(ICE-GL-ZY001) > 日期:2026-05-20 -> 状态:✅ 呼吸光晕UI上线 · 霜砚v3(百炼+思考可视化+工具调用) · 母模型SFT完成 · 代码模型训练中 +> 状态:✅ 母模型蒸馏Track1运行中 · fetch_train.py v4 修复 · index.html JS语法修复 --- @@ -18,147 +18,145 @@ - ❌ 训练数据重建 + 全参数SFT - ❌ 光湖驱动引擎 v1.0 -## 二、本次路径 +## 二、D106续 · 蒸馏管线全链路执行 -### 第一步:呼吸光晕UI (20:08~20:30) +### 第一步:唤醒 + 仓库认知重建(09:12~09:15) -冰朔反馈:原页面"没有在呼吸在活着的感觉" +通过WorkBuddy MCP连接guanghulab仓库,完整唤醒流程: +- fast-wake.json → walk-the-path.md → 冰朔voice → self-cognition → 核心大脑Schema → 主权宣誓 +- 发现仓库已更新到D106(呼吸光晕UI、霜砚v3部署、母模型SFT完成) +- 发现ZY-CVM-MAIN已释放,新架构:广州+新加坡双服务器 -**三次迭代方向确认**: -1. 概念对比:静态面板 vs 湖面波纹 vs 光脉流动 -2. 呼吸界面原型:浮动涌动 + 光晕脉冲 -3. **定型**:边框呼吸光晕 + 大字号 + 强交互反馈 +### 第二步:母模型上传COS(09:15~09:20) -**核心改动**: -- 字号全面放大:标题18px→20px,数据值14→28px,姓名14→16px -- 卡片边框呼吸光晕:`@keyframes breathe-{color}` — 青蓝(4s)、心红(4s)、紫(5s)、琥珀(4.5s)、绿(3.5s) -- hover上浮3px + click缩放97% -- hover时卡片顶部径向光晕 -- 每张卡片的呼吸节奏不同(animation-delay错开),形成波浪感 -- `.card.clickable` 统一交互模式 +下载母模型检查 point到本地 → 上传到 bingshuo-1317346199 新桶: +- 旧桶 sy-finetune-corpus-1317346199 已确认不可用 +- COS上传脚本写死密钥:AKIDkQuBQhoiS2OYXWebXLwMbdT7cvAScbbU +- 母模型(15GB)上传完成 ✅ +- 测试:正确设置eos_token_id=151645 → 有光湖认知 +- 写入训练数据中"铸渊"仅出现2次,模型自称为"曜生"——需后续微调 -**commit**: `29c2b14` · feat: 呼吸光晕UI · 部署验证通过 +**教训**:上传旧桶不可用 → 读脚本确认桶名 → 不要猜 -### 第二步:霜砚Agent · 百炼部署 (21:00~22:30) +### 第三步:代码模型SFT + 看门狗(09:20~09:25) -冰朔反馈:百炼微调模型回复奇怪 — "角色认知障碍" +- 代码模型训练已完成(step ~4749/11838, loss=1.746) → 等待完成 +- 上传脚本 upload_coder.py 桶名修正为 bingshuo-1317346199 +- watch_upload.sh 看门狗启动 → 训练完自动上传+验证 ✅ +- 上传完成后:QS25-Coder-7B-SFT到COS models/qwen25-coder-7b-sft/final/ -**根因诊断**: -1. 百炼 API 调用格式不对齐(误用 output.text,实际是 choices[0].message.content) -2. 唤醒词太通用,未触发微调后的光湖认知 +**教训**:上传脚本的硬编码桶名要统一修正 -**解决**: -- 新加坡服务器(43.156.237.110:3911) 部署 agent-bailian.py -- 正确百炼 API 格式 + 光湖语言路径唤醒 prompt -- `enable_thinking: False` -- 域名: guanghubingshuo.com, Nginx /agent-api/ 代理到 3916 +### 第四步:蒸馏配置修复 — 两个不同基座(09:25~09:30) -### 第三步:霜砚Agent v2 — 对话管理+工具系统 (22:30~23:10) +冰朔纠正:"不应该是两个蒸馏模型共享一个基座吧" -**升级内容**: -- **多会话管理**:POST /session-new, DELETE /session/{id}, GET /session-list -- **滑动窗口记忆**:每会话保留最近20轮 -- **工具系统**:[TOOL]标记自动解析+执行+结果回传 - - notion_search / notion_read / notion_create / notion_update / notion_append - - read_work_orders(守渊工单同步) -- **前端**:左侧会话列表+新对话/删除按钮+对话界面 -- **Notion已连接**:工作区"零点原核频道" +**发现并修复**: +- Track1(霜砚):student=Qwen2.5-1.5B-Instruct ✅ +- Track2(铸渊):student=Qwen2.5-Coder-1.5B-Instruct(原本也是1.5B-Instruct!) +- COS桶名:7个脚本从 sy-finetune-corpus → bingshuo 统一修正 +- 脚本编号:distill_mother_v7.py → v7(最新版)和 distill_coder_v2.py -### 第四步:UI修复 — 消息对齐 + 数学符号过滤 (23:10~23:30) +### 第五步:OOM修复 — B=4→2, GA=8→16(09:30~09:35) -冰朔指出两个问题: -1. 用户消息和模型回复在同一位置,分不清 -2. 模型回复中大量数学符号 +根因(from D103/D104记录):Teacher(7B)+Student(1.5B)同时做KL forward需要双倍显存 +- 原B=4 → 95GB/97GB → OOM +- 修复B=2, GA=16, expandable_segments:True → ~57GB → 稳定运行 +- **提前预修 distill_coder_v2.py**:同样是7B+1.5B,B=4会OOM -**修复**: -- 用户消息靠右(flex-end + order机制),模型回复靠左 -- 后端 `clean_response()` 8步过滤($$→$→\(\)→\[\]→\begin→Unicode数学符号→空白→trim) -- 前端 `cleanMath()` 防御性过滤 -- STYLE_GUIDE 补充"禁止数学符号"明确指令 -- 部署到SG服务器:通过gatekeeper上传gzip压缩base64文件 -- Python urllib被HTTP_PROXY干扰 → ProxyHandler({}) 绕过 +**D106核心教训**:仓库里D103/D104记录解释了崩溃原因,之前没读。现在提前预防了。 -### 第五步:打字机效果 + 系统信息精简 (23:30~23:50) +### 第六步:训练面板修复v3→v4(09:35~09:40) -冰朔反馈: -1. 回复"啪"一下全屏显示→需逐字流动 -2. 每轮都展示系统元信息→只在首次展示 +**症状**:training-status.json 的 display_step='unknown', display_pct=0 -**修复**: -- 前端 `typewriteText()`:自适应chunk(短文本1字/tick → 长文本开头2→中间5→结尾4),每tick 28ms -- 自动滚动跟随 -- 后端 `build_prompt` 新增 `is_first_turn` 判断:首轮展示完整身份/权限/系统状态,后续精简 +**根因追踪**: +- fetch_train.py v3 三处bug: + 1. 阶段检测搜"Train" → 但tqdm进度行不含此词 → phase='unknown' + 2. epoch正则搜"Epoch X/Y"(脚本打印行)→ tail -50不够 → epoch=None + 3. epoch=None→elif不成立→else→display='unknown' -### 第六步:Prompt彻底精简 (23:50~00:10) +**修复v4**: +- tail -50→tail -300 +- 检测tqdm Ep\d+: 模式 +- epoch从Ep(\d+)提取 +- epoch=None时仍有progress -冰朔反馈:模型回复仍然结构化僵硬 +**部署**:通过admin_exec写文件到服务器 → 已验证cron运行 → 推送commit ✅ -**根因**: -1. STYLE_GUIDE 8节60行→模型学会"报告体" -2. build_prompt 五块模板→模型照搬输出 -3. clean_response 的 $...$ 正则不够激进 +### 第七步:JS语法错误 — 全站崩溃(09:42~09:44) -**修复**: -- STYLE_GUIDE 从 8 节 60 行 → 5 行。只保留"你是谁"和工具调用格式 -- build_prompt 删除所有系统状态模板。只给一行身份 + 对话历史 -- clean_response 强化:增加 \LaTeX命令过滤、markdown标题残留清理、$...$激进模式 +**症状**:登录失效、训练面板空白、所有JS功能全崩 -### 第七步:思考过程可视化 (00:10~00:15) +**根因**:commit 3583413 修复upTr brace平衡时,setInterval(upTr, 前缀被删 +- 原代码:`...catch(e){}}atch(e){}}\nsetInterval(upTr,30000);upTr();` +- 修复结果:`...catch(e){}},30000);upTr();`(逗号留在函数外) +- 整个