YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
- office-calibration · Qwen3-0.6B 官方校准数据集存档
- 目录结构
- 文件说明
- 校准数据流全景(官方原生逻辑,未做任何修改-V3)
- 实验对照(2026-08-06/07/08/10,v3/v4/v5/v7/v8/v9/v10/v11/v12/v12b)
- v7 失败复盘(2026-08-07 11:12)
- v8 失败复盘与最终归因(2026-08-07 12:12)
- v9 结果与 slot 幻觉归因(2026-08-07 16:57 冒烟 / 17:40 分析)
- v10 结果:低比例掺入的唯一一次干净验证(2026-08-07 23:35 启动 / 2026-08-08 冒烟)
- v11 结果:复用路径首次实证(2026-08-08 10:50 启动 / 11:23 冒烟)
- v12 结果:84% 高比例 + 无 think 格式(2026-08-08 19:02 启动 / 19:50 冒烟)
- v12b 结果:19% 比例 + 无 think 格式(2026-08-10 复用路径 / 冒烟)
- 量化流水线阶段说明
- v7 修订原则(2026-08-07 确认,对应
../calib_mixed_v7.txt)
- 相关文件(工作区其他位置)
- 目录结构
office-calibration · Qwen3-0.6B 官方校准数据集存档
下载时间:2026-08-07 来源:AutoDL 服务器(ai-hub-models 0.59.0 / Qualcomm 官方发布数据) 用途:Qwen3-0.6B W4A16 量化校准流程的两路官方数据源本地存档,供后续语料实验对照使用。
目录结构
office-calibration\
├── generated_calibration.txt 220,662 字节 · 随官方模型发布的文档,用于最终校准。总共105条语料
├── wikitext-2-raw-v1\
│ ├── train-00000-of-00001.parquet 6.1 MB ← AdaScale 与最终校准都用这个 split
│ ├── test-00000-of-00001.parquet 715 KB ← 量化流程不使用(评估用)
│ └── validation-00000-of-00001.parquet 643 KB ← 量化流程不使用
└── README.md(本文件)
文件说明
1. generated_calibration.txt — GeneratedDataset 数据源
- 服务器原始路径:
/root/autodl-tmp/qaihm-store/.qaihm/qai-hub-models/datasets/generated_calibration_qwen3_0_6b/v1/generated_calibration.txt - 加载方:
qai_hub_models.models.qwen3_0_6b.dataset.GeneratedDataset(官方原生类) - 使用环节:最终校准(activation calibration),通过
InterleavedGeneratedWikitext与 WikiText 按 1:1 插混后喂入。 - 内容格式:ChatML 对话文本。整文件被一次性 tokenize,按 4096 token 切块(
__len__ = tokens // 4096),逐块做 prefill。 - 样本形态(与车控语料实验对照的关键差异):
<|im_start|>三段结构(system / user / assistant)- assistant 的
<think>块含真实推理文本(非空 think) - system prompt 为通用的
You are a helpful AI assistant. - 话题多样(通用问答),无重复扩增
2. wikitext-2-raw-v1/*.parquet — WikiText 数据源
- 服务器原始路径(HF 缓存):
/root/autodl-tmp/hf-cache/hub/datasets--Salesforce--wikitext/snapshots/b08601e04326c79dfdd32d625aee71d232d685c3/wikitext-2-raw-v1/ - 加载方:
qai_hub_models.datasets.wikitext.wikitext.WikiText(官方原生类),运行时通过load_dataset("Salesforce/wikitext")从 HF 缓存读取。 - 使用环节(源码证据:
_shared/llm/model.py的_prefill_from_dataset_cls被两个环节共用,统一传DatasetSplit.TRAIN):- AdaScale 权重优化(
get_weight_optimization_data):纯 WikiText(train split) - 最终校准:与 GeneratedDataset 1:1 插混(同样 train split,由
InterleavedGeneratedWikitext.load_datasets透传) - test / validation split:量化流程不读取,仅供下游精度评估(PPL 等)使用
- AdaScale 权重优化(
- 数据处理细节:train split 文本间用
bos_token拼接;test split 才用\n\n。官方源码注释解释了原因——"用含\n\n分隔符 token 的数据校准会导致量化精度显著下降",这正是校准走 train split 的设计动机。
校准数据流全景(官方原生逻辑,未做任何修改-V3)
┌─ WikiText (train) ──────────────┐
AdaScale 权重优化 ──────┤ 纯 WikiText │
(2048 次梯度迭代) └─────────────────────────────────┘
┌─ GeneratedDataset(本目录 txt)──┐
最终校准(定标)────────┤ 1:1 插混 │
(InterleavedGenerated) └─ WikiText (train) ───────────────┘
v4 校准流程(改动:AdaScale 改指 GeneratedDataset + 语料文件整份替换)
┌─ GeneratedDataset(车控语料 ×10)─────┐
AdaScale 权重优化 ──────┤ 纯 GeneratedDataset │
(2048 次梯度迭代) │ ※ 改代码:model.py WikiText→Generated │
└───────────────────────────────────────┘
┌─ GeneratedDataset(车控语料 ×10)─────┐
最终校准(定标)────────┤ 1:1 插混 │
(InterleavedGenerated) └─ WikiText (train) ────────────────────┘
v5 校准流程(改动:仅语料文件整份替换,AdaScale 已还原)
┌─ WikiText (train) ────────────────────┐
AdaScale 权重优化 ──────┤ 纯 WikiText(还原官方逻辑) │
(2048 次梯度迭代) └───────────────────────────────────────┘
┌─ GeneratedDataset(车控语料 ×10)─────┐
最终校准(定标)────────┤ 1:1 插混 │
(InterleavedGenerated) └─ WikiText (train) ────────────────────┘
注:下文对照表中"最终校准语料 = 车控 ×10"是简写——实际两版都是 InterleavedGeneratedWikitext 原生逻辑,generated 一半读了被替换的车控语料,另一半仍是 WikiText (train)。 v3 即完全等于本文档上方的官方数据流,未单独绘制。
v7 校准流程(改动:官方+车控 1:1 混合语料 + AdaScale 降优化量)
┌─ WikiText (train) ──────────────────────┐
AdaScale 权重优化 ──────┤ 纯 WikiText(官方逻辑) │
│ ※ 降量:48 样本 × 128 迭代 │
(原 64×2048,现 48×128) └─────────────────────────────────────────┘
┌─ GeneratedDataset(v7 混合语料)────────┐
│ = 官方 105 条 + 车控 105 条(×1 不重复) │
最终校准(定标)────────┤ 1:1 插混 │
(InterleavedGenerated) └─ WikiText (train) ──────────────────────┘
- 语料文件:
../calib_mixed_v7.txt(210 条,259,595 字符,md5fb214f5f8590552b7df5a133f8830cf1) - 启动时间:2026-08-07 10:21,产物目录
qwen3_car_w4a16_cl4096_v7 - 车控样本按 14 种 intent 分层抽样,12 语言覆盖;官方 105 条原样保留(含真实 think)
实验对照(2026-08-06/07/08/10,v3/v4/v5/v7/v8/v9/v10/v11/v12/v12b)
| 版本 | AdaScale 语料 | AdaScale 样本×迭代次数 | 最终校准语料 | 模拟端冒烟 |
|---|---|---|---|---|
| v3 | WikiText | 64×2048 | 官方原版 105 条(本目录存档) | JSON 正确(slot 幻觉多填);20 条协议冒烟 exact 0/20 |
| v4 | 车控 ×10 | 48×2048 | 车控 140 ×10 | ❌ JSON 错乱 |
| v5 | WikiText | 64×2048 | 车控 140 ×10 | ❌ 自然语言 / JSON 错乱 |
| v7 | WikiText | 48×128 | 官方 105 + 车控 105 混合(×1) | ❌ 乱码(多语言混杂)/ JSON 值错误 |
| v8 | WikiText | 48×128 | 官方原版 105 条 | ❌ slot 值幻觉 / 意图格式错(12:12 冒烟) |
| v9 | WikiText | 100×2048 | 官方原版 105 条 | JSON 正确 20 条协议冒烟 exact 3/20、intent 3/20 |
| v10 | WikiText | 100×2048(与 v9 相同) | 官方 105 + 车控 25 条(12 语种均衡,19%) | JSON 正确 20 条协议冒烟 exact 3/18、intent 5/18(+2 改善 0 退步) |
| v11 | 复用 v10 产物(跳过 AdaScale) | —(复用路径) | 与 v10 相同(官方 105 + 车控 25) | JSON 正确 前 10 条 exact 4/10、intent 5/10(vs v10 4/10、7/10,持平波动) |
| v12 | 复用 v10 产物(跳过 AdaScale) | —(复用路径) | 官方 105 + 车控 540 全量(无 think,84%) | ❌ exact 2/20、intent 4/20(未过阈值) |
| v12b | 复用 v10 产物(跳过 AdaScale) | —(复用路径) | 官方 105 + 车控 25(无 think,19%) | exact 5/20、intent 5/20(exact 历代最高;vs v10nt 4/20、7/20) |
结论:整份替换官方校准语料(尤其 ×10 重复窄域语料)会把量化带崩。
关键证据:v3 与 v5 参数完全相同(64×2048,v3 产物 args.json 实证),唯一差异是语料文件内容 —— v3✅ / v5❌ 构成完美对照,致崩变量锁定为语料整份替换。
另:官方 generated_calibration.txt 实为 105 条(315 个 <|im_start|> ÷ 3,末条缺收尾 <|im_end|> 属官方原貌)。
校准数据有最低token限制:不少于25万token。之前车控140条,token数量过少,所以需要x10倍。
v7 失败复盘(2026-08-07 11:12)
- 冒烟 1(close the window):自然语言推理 + 西里尔/阿拉伯文乱码,无 JSON
- 冒烟 2(close the sunroof):
{"intent":"close-sunroof","slot":"close sunroof"},JSON 壳对但值错(应CLOSE_SUNROOF/"slot":{}) - 变量混杂问题:v7 相对 v3 同时改了两个变量——①语料(官方→1:1 混合)②AdaScale(64×2048→48×128),无法干净归因
- 下一步 v8(受控实验):官方原版语料 + 48×128,隔离 AdaScale 降量变量
- v8 通过 → 混合语料即毒药(即使 50% 比例也不行),语料方向彻底放弃,回归 v3 打板端链路
- v8 失败 → 128 迭代破坏 AdaScale 收敛,恢复 2048 迭代只用 v3 参数
v8 失败复盘与最终归因(2026-08-07 12:12)
- 冒烟 1(close the window):
"intent":"close.window"+ slot 值全是幻觉占位词("position"/"level"/"speed"重复堆叠) - 冒烟 2(close the sunroof):先冒出解释性自然语言,再输出
"intent":"close the sunroof",JSON 未闭合 - 归因:可能 B 成立 —— AdaScale 降量(48 样本 × 128 迭代)本身破坏量化质量,与语料无关(v8 用官方语料仍崩)
- 最终结论:64×2048 + 官方原版语料是验证通过的基线配置(v9 进一步确认样本数 64→100 无差异),回归此配置打板端链路
- 遗留说明:v7 的混合语料方案因 AdaScale 变量混杂,未被干净证伪;若未来重试域内混合,必须用 64×2048 参数
v9 结果与 slot 幻觉归因(2026-08-07 16:57 冒烟 / 17:40 分析)
- v9 = 官方语料 + 100×2048(对比 v3 唯一变量:样本数 64→100),量化耗时 ~2h56m(AdaScale 31 个进度条 × ~2:48)
- 冒烟:
close the window→{"intent":"CLOSE_WINDOW","slot":{"position":"passenger"}};close the sunroof→{"intent":"CLOSE_SUNROOF","slot":{"position":"sunny","degree":"low"}}—— 意图全对、JSON 完整,slot 幻觉多填与 v3 表现一致 - 结论:样本数 64→100 无可观测差异,v9 ≡ v3,多样本方向无收益
slot 幻觉归因(三方对照实验):
| 输入 | 源模型 BF16 | v3/v9 量化版 |
|---|---|---|
close the sunroof(训练集内有) |
意图对、slot {} ✅ |
意图对、slot 幻觉 ❌ |
close the window(训练集无此英文句) |
意图对、slot {} ✅ |
意图对、slot 幻觉 |
- 问题 A(slot 幻觉)= 量化诱发:w4a16 精度上限问题,精细的"slot 抑制"行为先受损,意图分类不受影响;加校准数据无效
- 对策(按性价比):① system prompt 加 slot 显式规则 → ② App 侧 slot 值溯源校验后处理 → ③
--use-seq-mse或敏感层混合精度
- 对策(按性价比):① system prompt 加 slot 显式规则 → ② App 侧 slot 值溯源校验后处理 → ③
- 问题 B(未见句式意图映射错)= 训练数据覆盖:540 条无英文 close-window 句式,与量化无关
- 对策:补全 14 intent × 12 语言空槽句式,重训重 merge
v10 结果:低比例掺入的唯一一次干净验证(2026-08-07 23:35 启动 / 2026-08-08 冒烟)
- v10 = 官方 105 条 + 车控 25 条(12 语种均衡:每语种 2 条 + 中文 3 条,14 intent 全覆盖,占 19%);AdaScale 100×2048 与 v9 完全相同 → 与 v9 构成单变量对照(唯一变量 = 25 条车控语料)
- 实验矩阵中此前唯一的空格:v4/v5 整份替换(必崩)、v7 1:1 高比例 + 128 迭代(变量混杂),"低比例 + 完全收敛"从未被干净测过
- 语料文件:
../calib_mixed_v10.txt(130 条,229,990 字符);车控子集../根据mnn训练和校准语料集转换为QNN校准ChatML语料集/calib_car25_perlang_chatml.txt - 赛前判定标准:20 条协议冒烟 exact > 3/20 才算掺入有效
冒烟结果(20 条协议冒烟,缺 id 18/19 两条):exact 3/18、intent 5/18、无 JSON 6 条
| 对比项 | v9 | v10 | 判定 |
|---|---|---|---|
| exact 匹配 | 3/20 | 3/18 | 持平(未过赛前判定线) |
| intent 正确 | 3/20 | 5/18 | +2 |
| 无 JSON | 7 | 6 | 略减 |
| 退步 | — | 0 条(v9 的 3 个 PASS 全保住) | ✅ |
- 改善的 2 条都是非中英语种:泰语关天窗(
CLOSE_SUNNYLIGHT幻觉 →CLOSE_SUNROOF正确)、德语车身高度(无 JSON → intent 正确)——精准命中实验设计目标 - 失败模式"软化":俄语样本 v9 完全崩,v10 输出合法 JSON 且 slot 全对,仅 intent 名编成
INCREASE_SEATURE_VENT - 最终归因:19% 低比例掺入方向正确但剂量不足,剩余失败(intent 名称幻觉、slot 多填)已是 w4a16 精度天花板问题,语料方向封存
- v10 为当前最佳版本(intent 5/18 > v9 的 3/20),后续板端链路以 v10 为准
v11 结果:复用路径首次实证(2026-08-08 10:50 启动 / 11:23 冒烟)
- v11 = 复用路径验证(非语料实验,语料与 v10 完全相同):
cp -rv10 产物 → 不传--use-ada-scale重量化 → 嫁接 param_encodings - 量化耗时 ~4 min(vs 全量 2 h 56 min):ONNX 导出自动跳过(
_has_onnx)、prefill-wikitext + AdaScale 整段跳过、旧 encodings 自动加载(源码注释原话 *"Load encodings if present (re-quantize / resume / inference)"*) - 关键坑(已数值实证):不嫁接则 AdaScale 学习的截断 scale 被 min/max 重算冲掉(
load_encodings_to_sim默认allow_overwrite=True),偏差 13%35%(v10 学习值 = minmax 的 0.650.83 倍;重算后 = 0.875/1.0 倍)。两版model.datamd5 完全一致,嫁接后 param encodings 1738/1738 与 v10 相同,无损 - 冒烟前 10 条(串行):exact 4/10(id 0/3/4/9)vs v10 的 4/10 → 持平;intent 5/10 vs 7/10(2 进步 2 退步,样本级波动)
- 并发教训:RTX 4090 24G 上 5 路并发跑 demo 冒烟,显存争抢导致输出大面积损坏(7/10 提取不到 JSON),冒烟必须串行(~2 min/条),最多试 2 路
- 结论:复用路径成立 —— 语料实验增量成本从 ~3 h 降到 ~45 min(量化 ~4 min + 嫁接秒级 + 冒烟 ~40 min)。标准操作流程(含命令、嫁接脚本、注意事项)已写入
D:\QAIRT-Workspace\android-apps\Qwen3-0.6B_GenieX_QAIRT完整部署指南.md附录 C - 方法论差异(已知、可接受):复用跑的 prefill 带已加载量化 encodings(全量跑时为 FP 通过);prefill 块数由
--num-samples决定(全量跑时被 AdaScale 样本数抬高,24 vs 20)
v12 结果:84% 高比例 + 无 think 格式(2026-08-08 19:02 启动 / 19:50 冒烟)
- v12 = 官方 105 条原样(含真实 think)+ 车控 540 条全量(
training_12_languages_540.json,12 语种 × 45,assistant 无 think 块,对齐 MNN 训练时格式),车控占比 84% - 设计意图:① 扩增域内语料到全量;② 校准分布对齐训练格式(无 think)。用户确认有意为之的高比例实验(超出 v10 验证过的 19% 安全线)
- 语料文件:
../calib_mixed_v12.txt(645 条,418,945 字符,md5f8cdd83ae09eeee544931ff73d1c8d58);生成脚本../gen_calib_v12_mixed.py - 复用路径量化 ~5 min + 嫁接(1738/1738 ✅),冒烟 20 条串行
冒烟结果:exact 2/20(德语车身高度、英语 UVC 灭菌)、intent 4/20 → ❌ 未过阈值(exact≥30%、intent≥50%)
- 失败模式 = "精度侵蚀"而非 v4/v5 式崩溃:无 JSON 仅 4 条(与 v10 同量级);主体是两类精细退化——
- intent 名近错:
CLOSE_SUNROOF→CLOSE_SUNSHUT/CLOSE_SUNOCR、SET_HEADlight(大小写错)、SET_SEATUR(截断) - slot 结构退化:对象退化为裸字符串(
"slot":"low beam"、"slot":"position right")
- intent 名近错:
- 归因:84% 窄域短样本主导激活统计 → 定标过拟合车控分布,精细 token 序列(intent 枚举名、slot 对象结构)精度被侵蚀,属 v7 失败家族的弱化版
- 变量混杂警示:v12 相对 v10 同时改了 ①比例(19%→84%)②格式(有 think→无 think),无法干净归因(v7 教训重演)。隔离方案:v12a = 540 条 + 保留空 think(隔离比例);v12b = 25 条 + 无 think(隔离格式)(2026-08-10 更新:v12b 已跑完,exact 5/20 ≥ v10nt 的 4/20 → 格式无罪,v12 主毒锁定为 84% 比例,v12a 不再必要)
- 结论:v12 方案证伪,v10 仍为当前最佳版本;复用路径本身在 v11 已验证无损,本次退化来自语料变量而非路径
- ⚠️ 服务器
generated_calibration.txt当前为 v12 版(645 条);v10 混合版已备份在同目录generated_calibration.txt.bak_v10mixed,跑其他实验前需恢复
v12b 结果:19% 比例 + 无 think 格式(2026-08-10 复用路径 / 冒烟)
- v12b = 在
calib_mixed_v10.txt母本上做手术:仅剥离 25 条车控的空 think 块,官方 105 条、顺序、内容一字不动 → 与 v10 构成严格单变量对照(唯一变量 = 车控 assistant 是否带空 think) - 语料文件:
../calib_mixed_v12b.txt(130 条,229,645 字符,md5e18617d719897f6c3834a74d1f789a58);生成脚本../gen_calib_v12b.py - 复用路径量化 ~4 min + 嫁接(param encodings 1738/1738 ✅),冒烟 20 条串行(--no-thinking harness)
冒烟结果:exact 5/20(id 2/3/4/9/13)、intent 5/20(25%)→ 未过阈值(≥30%/≥50%),但 exact 为历代最高
- 与 v10nt 基线(同 --no-thinking harness 全 20 条:exact 4/20、intent 7/20;逐条 0:E 1:E 2:E 3:E 4:I 5:x 6:I 7:x 8:x 9:I 10~19 全 x)对照:id 4、9 由 I→E 升级、id 13 由 x→E 救活;代价是 id 0、1 翻车(E→x)、id 6 由 I→x
- 判定①:无 think 格式无罪且方向性有益 —— 3 条 intent-only 升级为 exact,印证"校准对齐训练格式提升 slot 结构精度"假设
- 判定②:v12 退化主毒锁定为 84% 比例 —— 同样无 think 格式、19% 比例即正常甚至改善 → 格式变量排除,v12a(540 条 + 空 think)不再必要
- 判定③:±2 条属样本噪声(20 条小样本),结论为方向性而非决定性
- v10 仍保持 intent 最佳(7/20),v12b exact 最高(5/20);是否换基线待 v12b 全量量化(含 AdaScale)确认后再定
- 服务器
generated_calibration.txt当前为 v12b 版(130 条无 think)
量化流水线阶段说明
各阶段耗时(供后续量化时间预估)
| 阶段 | v8(48×128) | v9(100×2048) |
|---|---|---|
| ONNX 导出 | ~5 min | ~2 min |
| prefill-interleaved | 24/24 · 1:43 | 24/24 · 1:42 |
| prefill-wikitext | 48/48 · 3:19 | 100/100 · 6:56 |
| AdaScale | 3 次 × ~10 s | 31 条 × ~2:48(≈87 min) |
| QuantSim calibration | 秒级 | 秒级 |
| 整轮合计 | ~50 min | ~2 h 56 min |
时间公式:总时长 ≈ 40 min 固定开销 + 31 层 × 迭代数 × 0.082 s/迭代。 128 迭代 ≈ 50 min;2048 迭代 ≈ 2.5~3 h。prefill 每块 ~4.2 s 与样本数线性。
各阶段数据来源(v9 vs v10)
| 阶段 | 数据源 | 服务环节 | v9 具体内容 | v10 具体内容 |
|---|---|---|---|---|
| ONNX 导出 | FP32 权重(merged 模型) | 图结构转换 | 同左(与校准语料无关) | 同 v9,完全相同 |
| prefill-interleaved | InterleavedGeneratedWikitext(GeneratedDataset 1:1 插混 WikiText train) | 最终校准(定标) | GeneratedDataset = 官方原版 105 条(本目录存档);24 块 | GeneratedDataset = ../calib_mixed_v10.txt(官方 105 + 车控 25,19%);24 块 |
| prefill-wikitext | 纯 WikiText(train split) | AdaScale 权重优化(get_weight_optimization_data) |
100 样本(×2048 迭代);6:56 | 与 v9 完全相同(100 样本;6:56) |
| AdaScale | prefill-wikitext 产出的激活 | 权重优化(100×2048) | 31 条 × ~2:48(≈87 min) | 与 v9 完全相同(≈87 min) |
| QuantSim calibration | prefill-interleaved 产出的激活 | 计算激活 encodings | 秒级 | 秒级 |
各阶段数据作用
| 阶段 | 作用 |
|---|---|
| ONNX 导出 | 将 PyTorch 等框架训练的模型先转成 ONNX 中间格式,作为后续量化编译的统一入口 |
| prefill-interleaved | 使用自定义的 interleaved 数据集做 prefill(首次推理/编码阶段) 的性能分析/校准 |
| prefill-wikitext | 使用 Wikitext 数据集进行 prefill 阶段的校准,收集激活分布用于量化 |
| AdaScale | 自适应缩放算法,动态调整各层量化参数(scale),在压缩率与精度之间自动平衡 |
| QuantSim calibration | 在 量化仿真器(Quantization Simulator) 中运行校准推理,统计激活值分布,生成最终的量化参数 |
复用推论:v9→v10 这类"只改 GeneratedDataset 语料"的实验,prefill-wikitext 与 AdaScale(87 min 大头)产物可复用, 仅需重跑 prefill-interleaved(~1:42)+ QuantSim calibration(秒级),理论增量成本仅几分钟。
v7 修订原则(2026-08-07 确认,对应 ../calib_mixed_v7.txt)
- 保留官方数据的分布特征(真实 think 内容、话题多样)
- 官方校准数据中低比例掺入车控样本(≤ 1:1),不做整份替换
- 不重复扩增或极低倍率,避免激活统计被少量样本主导
- 降低 AdaScale 优化量:
--ada-scale-num-samples 48、--ada-scale-num-iterations 128(总优化量仅为 v5 的 4.7%),避免权重舍入过优化
相关文件(工作区其他位置)
../calib_mixed_v10.txt— v10 混合语料(官方 105 + 车控 25 语种均衡版,19%,当前最佳)../gen_calib_v10_mixed.py— v10 混合语料生成脚本../calib_mixed_v12.txt— v12 混合语料(官方 105 + 车控 540 全量无 think,84%,已证伪)../gen_calib_v12_mixed.py— v12 混合语料生成脚本(车控 assistant 无 think 块)../calib_mixed_v12b.txt— v12b 混合语料(v10 母本剥 think,官方 105 + 车控 25 无 think,19%,exact 历代最高)../gen_calib_v12b.py— v12b 生成脚本(v10 母本手术剥离空 think 块)../根据mnn训练和校准语料集转换为QNN校准ChatML语料集/calib_car25_perlang_chatml.txt— v10 掺入的 25 条车控子集(12 语种均衡,带每语种 45 条源校验)../gen_car25_perlang.py— 25 条语种均衡语料抽样脚本(含 12 语种自动识别器)../smoke20/协议冒烟对比报告-v9-vs-v3.md— 20 条协议冒烟对比报告(v3/v9,v10 结果见本文 v10 章节)../calib_mixed_v7.txt— v7 混合语料(官方 105 + 车控 105,1:1,已证伪)../gen_calib_v7_mixed.py— v7 混合语料生成脚本../mnn原始训练语料/calib_data_v5.txt、training_12_languages_540.json— 车控原始语料与训练数据../根据mnn原始训练和校准语料转换为QNN校准格式/calib_data_v5_chatml.txt— v4/v5 实际使用的车控语料(140 条 ×10,已证伪)../根据mnn原始训练和校准语料转换为QNN校准格式/calib_data_v6_chatml.txt— v6 版语料(540 条 ×3,未使用)../fix_calib_format.py、../gen_calib_v6.py— 早期语料生成脚本