Files
ai-agent-book/chapter8/exact-copy-sft/README.md
T
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

22 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 实验 8-19:特殊字符串的精确复述 SFT
本实验从 Coding Agent 的 `old_string` 匹配失败出发,区分模型复制错误与 tokenizer、序列化、Harness 和工具层错误,然后用未见过的随机字符串和工具参数任务训练 Qwen3-8B 的 LoRA 适配器。训练目标是 byte-exact 复制,而不是语义相似或“看起来一样”。
## 运行
```bash
cd chapter8/exact-copy-sft
python generate_data.py
python train_sft.py --model Qwen/Qwen3-8B
python evaluate.py --model Qwen/Qwen3-8B --adapter output/adapter
python tokenizer_audit.py
```
训练和评估必须使用本机 CUDA GPU 与开源 Hugging Face 模型。数据按随机种子、字符串长度、token 组合和上下文包装隔离;`validation/` 保存训练回执和独立回归报告。
扩容后先对三类任务、10 种语言上下文和 8 种文章体裁做分层人工抽查,记录见 [`validation/manual_audit.md`](validation/manual_audit.md);再运行 tokenizer 审计,避免把 tokenizer/序列化损坏误判为模型能力问题。
如果模型在直接复述探针中正确、但工具调用仍失败,应修复 Harness 或工具协议,不应把系统层损坏误报为后训练收益。
本机 RTX PRO 6000 实测:1024 条训练样本、256 条留出样本、256 条边界样本,训练 2 个 epoch、Qwen3-8B bf16 LoRA。留出集 byte-exact accuracy 从基座 37.5% 提升到 78.9%,独立边界集为 80.1%;平均首次字节分歧位置分别为 54.0 和 54.2。另用 512 条留出/边界探针审计 3 个开源 tokenizerQwen3 与 Qwen2.5 round-trip 均为 80.1%Mistral 为 100%,说明 tokenizer 层也必须单独设回归门禁。结果文件见 `validation/eval_base_eval.json``validation/eval_adapted_eval.json``validation/eval_adapted_boundary.json``validation/tokenizer_audit.json`