samai-9b / transfer.md
tchbcb's picture
transfer.md R14: GSQ-RCO champion + tunnel-native OpenAI API + queue
c06712d verified
|
Raw History Blame Contribute Delete
8.07 kB

SAMAI-8B 交接文档 (transfer.md) — R14 轮

更新: 2026-09-25 | 交接人: Super Z 主监督者 | 读者: 下任监督者/未来的自己 项目一句话: 在 Qwen3.5-9B VL 底模上用 LoRA 血统链(m13_r6→r7→r8→r9→r10)训练 agent 行为纪律, 配 zagent 框架级硬约束,闭环「采集→建窗→训练→部署→实测」。 本轮状态: R13 GSQ-RCO-lite 量化收官(gsqrco_v1 ppl 7.99 现役 serving, 旧 mixbit 8.11); R14 单隧道复用公网全绿(aitun.cc/8RF5ST7K/v1, key=1234, SSE 通); S4/S5 实测按用户令顺延。


一、训练什么

模型血统链(每代 = 底模 + 上一代 adapter 续训出来的新 LoRA):

Qwen/Qwen3.5-9B (底模, 视觉塔冻结)
  └─ m13_r6  (M15 反死环 147 窗)
      └─ m13_r7  (R7 反死环根治 13+41 窗)
          └─ m13_r8  (R8 两振出局+think 纪律 235 窗)
              └─ m13_r9  (R11 长上下文反环 210+16 窗)
                  └─ m13_r10 (R12 认知诚实+纯文本收束 268 窗) ← 血统终点, 量化盘母体
  • 血统机制: s8_m13_train_v9.py 加载底模后 PeftModel.from_pretrained(model, 上一代adapter, is_trainable=True) 续训。 因此 r10 adapter 权重已含 r6..r10 全链血统,部署时只需「底模 ⊕ r10 adapter」一次 merge,数学等价。
  • LoRA 配置: r=32, alpha=64, dropout=0.05, bias=none, task_type=CAUSAL_LM(vision tower + merger 冻结)。
  • adapter 全集: tchbcb/samai-8b-M8/m12_adapters/m13_r{6..10}/。

二、训练数据(268 窗, R12 期固化)

R11 210 窗(拦截后换路/收束/两振 + 视频窗)+ R12 新 58 窗(H1 认知诚实 20 / H2a 纯文本收束 16 / H2b 空 tool_call 纠偏 8 / H2c 拦截后换路 8 / H3 负控 6)= samples_r12_train.jsonl。 窗格式与 R8 antiloop2 对齐; 深度 1200/2400/3600/4500; 构建器 r12_data_build.py。 训练要点: MAXLEN 3400 起步(6144 确定性 OOM, 坑#66)、fp16 禁 bf16、分块 fp32 CE、 NAN 自杀保护 + 时间熔断。详见 train.md v4.6 §三。

三、R13 量化战报(GSQ-RCO-lite, 现行最优)

用户否决 mixbit_4x8("量化技术不好")→ 参考 GSQ(Gumbel-Softmax Quantization, arXiv 2604.18556)

  • RCO(arXiv 2605.00649, ISTA-DASLab)自适配 GSQ-RCO-lite 四段链: 链重建 → imatrix 校准(q8 路线 ppl 5.0709)→ DP 背包逐张量类型分配 → --imatrix+类型表容器量化。
文件(tchbcb/samai-9b) 体积 ppl sha256 前 16 角色
m13_r10_gsqrco_v1.gguf 6.482G 7.99(旧 mixbit 8.11) 23a73197243cb9bd serving 现役
m13_r10_gsqrco_container_q40.gguf 6.482G 7.84 28ad41308f373cc3 A/B 副本
mmproj_m11.gguf 921.7M — d89c4bc142d02ed6 视觉塔(冻结故兼容)
m13_r10_lora.gguf 232.8M — f31236e81f547c95 R13 重烘焙(git 史 9/24 新者为准, 已覆盖 9/23 旧版+sidecar)
  • 两成品为不同文件(全量 sha256 相异, 稀疏差异=精炼只覆写部分张量), A/B 对比有效。
  • 完整性: HF↔容器盘内 4 点×1MB 抽块 sha256 全对 + 全量对照; lora 按用户规则"git 历史新者为准"覆盖。

四、R14 serving 与公网调用(现役速查)

  • serving: llama-server(/tmp/lcfin) -m m13_r10_gsqrco_v1.gguf --mmproj mmproj_m11.gguf --host 0.0.0.0 --port 8101 --api-key 1234 -c 131072 -fa on -ctk q8_0 -ctv q8_0 -t 2 -ngl 99 (双 T4 ctx 131072; 单卡 65536→32768 梯子); 冒烟 35.9 tok/s, 域题 48,000 元正确。
  • 公网调用(单隧道双功能, key=1234): https://aitun.cc/8RF5ST7K/v1/chat/completions (OpenAI 兼容; /v1/models、/v1/chat/completions、SSE 流式实测全绿)
    • 原理: kaggle_server.py 注入 /v1/*→127.0.0.1:8101 代理补丁 (补丁: tchbcb/samai-8b-M8:artifacts/r14_scripts/r14_v1_proxy.py; 坑#67/#68)
    • 隧道本体不动: aitun-client -s aitun.cc:6639 -p 5000 → kaggle_server:5000 (/execute 信封 v=1 协议不变, 测试信封 crc=9e30c354 回显 42)
    • 无 kaggle_server 的容器: aitun -p 8101 直连模式(oneclick 自动选择)
  • 一键运行: python3 oneclick_gsqrco_serve.py --token hf_xxx(samai-9b 仓根目录) → 拉 6.48G+921M+tar → llama-server → 隧道适配 → 打印 curl/openai 示例。
  • A/B 切换: 容器 /tmp/k8b/ 内两成品均在(容器版盘内名 r13_container_q40.gguf), pkill llama-server 后换 -m 路径重启(ctx 梯子照旧)。

五、怎么测评(顺延队列)

S4: serving 级新判据探针(推迟, 原因: 用户令优先 serving/量化线)

  • 脚本: s8_sprobe_r12.py(直连 llama-server :8101); A/B/C/D/E 五场景全 PASS 才算 R12 训练验收。
  • 长探针: s8_sprobe_long.py(≈25K token + 两振回放)——「长上下文泛化缺失」复测位。

S5: 实弹(推迟, 同上)

  1. GAIA#13 新卷: zagent_r12 (:8384) + r10 serving, 验 T5 框架修复。
  2. testB computer-use known-good 重放: Xvfb Popen 后台 + X99 轮询 + ffmpeg -t 25 + xdotool 42 键。
  3. 判分归档 → artifacts/m15_reports/ + worklog 终章。
  • 红线: 探针在 serving 端出结论; 框架硬约束是兜底不是替代; FAIL 先查 serving think 原话。

六、资产地图(HF 双仓)

tchbcb/samai-9b(公仓, 免 token 读):

文件 说明
m13_r10_gsqrco_v1.gguf R13 最优量化盘(ppl 7.99, serving 现役)
m13_r10_gsqrco_container_q40.gguf R13 容器版 A/B 副本(ppl 7.84)
oneclick_gsqrco_serve.py 一键 serving 脚本(含 /v1 补丁+双模式隧道)
mmproj_m11.gguf / m13_r10_lora.gguf(+.sha256) 视觉塔 / R13 重烘焙 LoRA
llama_cpp_cuda_colab_t4.tar.gz(55M) / _v2(144M) CUDA 编译资产(sm_75 全家桶, 双 tar 回退)
m13_r10_mixbit_4x8.gguf / m13_r10_q4_k_m.gguf R12 旧量化盘(被 R13 取代, 留档对照)
train.md v4.6 / transfer.md(本文件) 坑册 #1-#70 / R14 交接
merged_m13_r8_hf/ (18G fp16) / m13_r8_lora/ / zagent_r12.tar.gz 历史资产

tchbcb/samai-8b-M8(私仓, 写需 token):

  • m12_adapters/m13_r{6..10}/ — 全血统 LoRA
  • artifacts/r14_scripts/ — r14_boot / p_r14_fire / p_r14_poll / router_8102.py / r14_v1_proxy.py / oneclick_gsqrco_serve.py(R14 弹药全套, 逐字节回读验证)
  • artifacts/r13_scripts/、artifacts/m15_{scripts,samples,reports}/ — 历轮弹药与判词
  • train.md v4.6、transfer.md(双仓同步)、artifacts/HANDOVER_R11.txt

七、坑册速查(R13/R14 期新增)

  • #67 aitun 免 token 隧道同机单身份: 第二个客户端实例顶掉第一个(Connection replaced by newer connection of this client)。真双隧道需 -k 账户 token; 单隧道双功能走 /v1 代理补丁。
  • #68 kaggle_server 与 aitun 客户端都有监督环(jupyter kernel 自动重生)→ 抢端口/改 -p 必被弹回。正解=补丁本体文件+kill 让监督环带补丁重生; 兜底自检自启。
  • #69 信封内无界 grep/find 扫 /tmp(40G 模型盘)→ 30s 超时。搜索必须 maxdepth+-size 限定。
  • #70 双 /health 同名: kaggle_server(富信息)vs llama({"status":"ok"})。经代理后验 llama 用 /v1/models。
  • 沿用: #64 bash sleep>600s 被杀(长等待分片); 信封载荷 ≤3KB/段; token 只运行时注入+ 推仓前 grep 断言; #50 隧道连环死(六现); #78 setsid 脱组; #81 nohup 排雷; #83 Colab tar 只跑 Colab。

八、下一步队列(按序)

  1. 用户 A/B 实测: gsqrco_v1(7.99, 现役)↔ container_q40(7.84)公网盲测对比 (ppl 度量对齐问题以实测为准; 切换法见 §四)。
  2. S4 探针(§五 A-E)→ R12 训练验收终审。
  3. S5 实弹(GAIA#13 复测 + testB 重放)→ R14_verdict.md + worklog 终章。
  4. 候选: lproj1 基线(65min→目标 <10min); zagent PR 回官方仓; GSQ-RCO 再炼 (调 steps/tau 追平容器版 ppl 后替换现役盘, 需重新走完整性验证)。