Releases: kuotunyu/FormosaNLU-Synth
Release list
FormosaNLU-Synth v1.2.1
v1.2.1 — Publication metadata and documentation closeout
範圍
v1.2.1 是 publication-layer patch。它修正版本 metadata、文件連結、授權範圍、
Hugging Face card 說明、可引用技術報告與 release preservation;不改變任何研究
資料或結果。
這個版本沒有:
- 增減或改寫 Dataset rows;
- 改動 Model tensors 或重新訓練 adapter;
- 重跑 generation、filtering、training、evaluation 或 robustness;
- 改變 frozen prompt、threshold、seed、parser、evaluation contract;
- 改寫 M19 的 2.5 percentage points 預先登記門檻或 causal-claim 限制。
不變的公開 artifacts
- Dataset:3,754 rows;train SHA-256
c65d7209d953e144299625f6a9224b98557b2677d55258a463a2992e5acf4665 - Gemma LoRA adapter:155,609,536 bytes;SHA-256
f70f423814dcd47943c92c0beb8b08a4e7f65e60a44355d3dcd95bed9f0bd60a - Phi-4-mini 僅作 cross-family replication;本版本不發布其 weights 或 adapter。
修正與新增
- 將 software/citation metadata 同步為
1.2.1。 - 修正 v1.2.0 GitHub Release 的五個 tag-pinned evidence links。
- 修正接手文件中 M15/M16 report 路徑。
- 將 canonical MIT
LICENSE與第三方 artifact 授權範圍分離。 - 明確區分 Apache-2.0 Gemma roles 與 MIT Phi-4-mini replication model。
- 新增 evidence-bounded English technical report 與 publication closeout verifier。
- 更新 Hugging Face Dataset/Model cards,但不改動 Dataset rows 或 Model tensors。
- 建立 deterministic GitHub Release evidence bundle,並由 Zenodo 保存 GitHub Release。
v1.2.1 evidence
- Zenodo immutable source archive — version DOI
10.5281/zenodo.21767493 - 研究摘要與重現入口
- English technical report
- M19 equal-N aggregate
- 完整資源帳本
- 第三方授權聲明
舊版 v1.0.0、v1.1.0、v1.2.0 tags 與其 artifacts 保持 immutable。
v1.2.0 — Equal-N per-recipe ablation
v1.2.0 — Equal-N per-recipe ablation
這是研究證據版本,不是 Dataset/Model artifact 版本
Hugging Face Dataset 與 LoRA adapter 完全沒有改變。
- Dataset 仍是 3,754-row F1–F7 release-only corpus
- Model 仍是同一份 Gemma filtered seed-42 LoRA
- Frozen corpus、thresholds、prompt、500-step training contract、strict parser
與 MASSIVEzh-TWTest set 全部未動
v1.2.0 新增的是 M19:在相同資料量下,檢查四種 synthetic recipes 的組成差異。
M19 實驗設計
每個組別都使用:
- 1,176 筆 frozen 20-shot real examples
- 2,246 筆 synthetic examples(equal-N)
- Gemma 4 E4B、seed 42、500 training steps
- 同一份不含 label catalog 的 SFT prompt
- 同一個 strict evaluator 與 2,974-row untouched Test set
abl_all_eqn 保留四種 recipes 作為 equal-N control;另外四組各排除一種 recipe。
Exact match 相對 control 的 absolute delta 是否達到 2.5 percentage points,
是在執行前凍結的 detectability threshold。
結果
| Group | 排除 recipe | intent acc | slot F1 | exact match | exact Δ vs control(pp) | 達門檻 |
|---|---|---|---|---|---|---|
abl_all_eqn |
— | 75.99% | 63.61% | 49.50% | +0.00 | no |
abl_no_paraphrase |
paraphrase |
74.14% | 64.09% | 50.00% | +0.50 | no |
abl_no_slot_substitution |
slot_substitution |
77.14% | 65.60% | 51.51% | +2.02 | no |
abl_no_noise_codeswitch |
noise_codeswitch |
73.47% | 63.84% | 48.76% | -0.74 | no |
abl_no_hard_negative |
hard_negative |
76.19% | 64.69% | 50.81% | +1.31 | no |
五組皆完成 500 steps 與 2,974/2,974 strict evaluation;沒有任何組別達到門檻。
Machine-readable 判讀是:
no_difference_reaches_preregistered_detectability_threshold
這是重要的 negative result,但不是「四種 recipe 都沒用」:M19 只有
seed 42(n=1),而且比較的是 equal-N composition。因此 v1.2.0 明確保留
causal_claim_allowed=false,不做 recipe-level causal claim,也不在看到結果後
追加 seeds、換 detectability metric 或降低門檻。
Artifact 與資料稽核
- 五組 training data 都是 3,422 rows/3,422 unique ids
- deterministic rebuild 的五組 SHA-256 都穩定重現
- 五份 prediction JSONL 都是 2,974 rows/2,974 unique expected ids,
generation_index完整覆蓋 0–2,973 - 五份
run_report.json均為completed、global_step=500 - 五個
checkpoint-500與 final adapter directory 都存在 - Aggregate report:
reports/m19_ablation.json - 預先登記契約:
docs/M19_ABLATION_PROTOCOL.md
資源帳本
| 項目 | v1.1.0 | v1.2.0 |
|---|---|---|
| Primary core | 14.440 h | 14.440 h(刻意未變) |
| Auxiliary | 19.035 h | 27.972 h |
| 可追溯 local total | 33.475 h | 42.412 h |
| 450 W TDP 上限包絡 | 15.064 kWh | 19.085 kWh |
| API 花費 | $0 | $0 |
M19 共計 8.937 h。abl_no_paraphrase 曾在 final validation 中斷,成功續跑的
final run report 只記錄後段 session;v1.2.0 以原始 log timestamps 與 SHA-256
建立 reports/m19_runtime_audit.json,把被捨棄 attempt 的 2.084 h 只補一次,
避免把中斷成本悄悄漏掉。這項稽核只修正資源統計,不影響任何模型或結果。
Repository 變更
- 新增五組 machine-readable/Markdown evaluation reports
- 新增
scripts.build_m19_reportaggregate 與 README reproducibility checks verify_readme現在會逐列從 M19 JSON 重建表格,並強制揭露 single-seed、
2.5-point threshold 與 no-causal-claim 三項限制- Resource ledger 支援 hash-anchored interrupted-attempt audit,並有 regression test
- 新增 D-021,記錄預先登記判讀、拒絕事後追加分析,以及 negative result
完整資料
- M19 aggregate:
reports/m19_ablation.md - M19 runtime audit:
reports/m19_runtime_audit.json - M19 protocol:
docs/M19_ABLATION_PROTOCOL.md - Resource ledger:
reports/m12_resource_ledger.json - Decision record:
docs/DECISIONS.md
v1.1.0 — 跨 student family 複製與 robustness 補齊
v1.1.0 — Release notes
這是一個「證據」版本,不是資料或權重版本
發佈的 dataset 與 LoRA adapter 完全沒有改變。
- Dataset 仍是 3,754 rows,hash 未變
- Adapter 仍是同一份 seed-42 filtered LoRA,SHA-256 未變
- Frozen thresholds、prompt、training contract、Test set 全部未動
v1.1.0 新增的是對既有成果的獨立驗證,以及 repository 的整理。
主要新增:跨 student family 複製
單一 student 上的提升,可能只是那個 model 的特性。v1.0.0 無法排除這個解釋。
同一份 corpus 以完全相同的 prompt、500 steps、seeds 42–44 與 strict
evaluator,在第二個 family microsoft/Phi-4-mini-instruct(MIT,frozen
revision cfbefacb99257ffa30c83adab238a50856ac3083)重跑一次三種子 paired
比較,只更換 base model。
判準在看到任何 Phi 結果之前就凍結:
對
intent_accuracy與exact_match兩項,paired mean delta 在每個 family
都必須為正,且各自的 hierarchical 95% CI 下界都必須大於零。
| Metric | Gemma Δ [95% CI] | Phi Δ [95% CI] | 兩個 family 的 CI 都 > 0 |
|---|---|---|---|
intent_accuracy |
+4.14 [+2.60, +5.59] | +5.09 [+1.83, +9.02] | ✅ |
intent_macro_f1 |
+2.01 [+0.35, +3.69] | +3.36 [+0.98, +5.56] | ✅ |
slot_micro_f1 |
+2.92 [+0.87, +4.68] | +1.80 [+0.29, +3.19] | ✅ |
exact_match |
+3.86 [+2.75, +4.92] | +4.71 [+1.36, +7.59] | ✅ |
json_valid_rate |
+1.57 [-0.01, +3.77] | +1.77 [+1.05, +2.63] | ❌ |
判準通過,結論為 replicated_across_student_families。
沒通過的部分
json_valid_rate未達同一條門檻,因為 Gemma 側的 CI 跨越零。它不在預先
登記的判準內,但一併列出。- Phi 的
exact_match_seed_42在 Holm 校正後p = 0.141不顯著;另外五項
paired tests 顯著。
範圍
兩個 family、一份 frozen dataset、一種 training contract。兩個 family
分別彙總、不 pooling,不宣稱推廣到其他 dataset、其他任務或任意 model。
Robustness 擴充
v1.0.0 的 robustness 只有 Gemma 的 seed 42 兩個 adapter。現在是兩個 family
× 三個 seed × 兩組,共十二個 adapter,全部使用既有的 frozen 8,922-row
probe,evaluation-only,不回流訓練。
Paired delta(filtered − real_only,百分點,delta 在每個 seed 內先算再平均):
| Metric | Gemma Δ ± SD | Phi Δ ± SD |
|---|---|---|
intent_accuracy |
+3.63 ± 1.72 | +6.22 ± 3.46 |
intent_macro_f1 |
+2.11 ± 2.19 | +4.69 ± 2.73 |
slot_micro_f1 |
+2.75 ± 2.76 | +3.73 ± 1.23 |
exact_match |
+3.58 ± 2.05 | +6.98 ± 3.29 |
json_valid_rate |
+1.49 ± 2.35 | +1.83 ± 0.93 |
十項全部為正,但不要讀成十個結果。 Phi 的五項 mean 都大於各自的 sample
SD;Gemma 只有 intent_accuracy 與 exact_match 如此,其餘三項在 n=3 下
無法與零區分。
單一 seed 會誤導。 Gemma 只看 seed 42 時,intent_macro_f1 是 −0.40、
json_valid_rate 是 −0.38(兩項皆負);補到三個 seed 後平均都轉正。v1.0.0
的 README 只列了正向的三項——沒有寫錯,但不完整;現在五項全列。
附帶觀察(非預先登記):Phi 上 real_syn_filtered 的種子間變異明顯小於
real_only(intent accuracy SD 1.05% 對 3.24%),合成資料在該 family 上似乎
也讓訓練更穩定。
資源帳本
| 項目 | v1.0.0 | v1.1.0 |
|---|---|---|
| Primary core | 14.440 h | 14.440 h(刻意未變) |
| Auxiliary | 8.685 h | 19.035 h |
| 可追溯 local total | 23.124 h | 33.475 h |
| TDP 上限包絡 | 10.406 kWh | 15.064 kWh |
| API 花費 | $0 | $0 |
新增的 10.35 小時分別是:M15 的 Phi 訓練與評估 3.755 h、M16 的 robustness
backfill 6.596 h(五個批次、十個 runs,逐批次加總而非單一時間窗,避免把批次
之間的閒置計為 GPU 時間)。
primary core 刻意維持不變:凍結的比較仍然只有 Gemma seed-42 矩陣,加入
第二個 student family 不應該稀釋它。M15 全部計入 auxiliary。
Repository 變更
- 工作文件不再發佈:
.claude/、.github/、CLAUDE.md、PLAN.md已移出
版本控制(保留在本機)。歷史未重寫,因此這些路徑在舊 commit 中仍可見。 - CI 已移除,改為本機 gate:新增
scripts/check_gates.py,一次執行
ruff、pytest、verify_readme與verify_contributors。push 前必跑。 verify_readme從 54 項增加到 64 項:新增的檢查把 README 的跨 family
宣稱直接綁在原始 JSON 上——判準旗標必須為真、兩個 primary metric 的 CI 都
必須排除零、五行表格全部由原始數字重新格式化比對。若結果變了,README 那句
「複製成功」會讓 verifier 失敗,不會默默留著過期的宣稱。eval_robustness依 target 與 seed 參數化:Gemma/seed 42 的路徑與
confirm token 完全不變並有測試釘住;其他組合各有獨立輸出路徑與 token。- 修正
run_probe的 loader:原本呼叫寫死 Gemma 的
load_quantized_text_model,改為依 config 的model.class分派。這是 Phi
的 32-row smoke 抓出來的。
取消的項目
Phi full_real 上限組(D-019)。它需要改動已凍結的 M15 pipeline,是預先
登記範圍外的組,而跨 family 的結論完全不依賴它。用「動凍結產物」換一個表格
對稱不划算。
完整資料
- 跨 family 報告:
reports/m15_cross_model_replication.md - Phi paired 統計:
reports/m15_phi4mini_paired_statistics.md - Robustness 逐 seed:
reports/m16_robustness_summary_gemma.md、reports/m16_robustness_summary_phi4mini.md - 資源帳本:
reports/m12_resource_ledger.json
FormosaNLU Synth v1.0.0
FormosaNLU Synth 第一個可公開重現版本。
重點:
- 發布 3,754 筆通過 F1–F7 的繁體中文(台灣,zh-TW)NLU synthetic dataset,CC BY 4.0。
- 發布
google/gemma-4-E4B-it的最佳real_syn_filteredLoRA adapter,Apache-2.0。 - 三個 training seeds 的 paired effect:intent accuracy +4.14 percentage points(hierarchical 95% CI [+2.60, +5.59]);exact match +3.86 points([+2.75, +4.92])。
- GitHub Actions 已在 clean Linux checkout 通過 Ruff、127 項可重現測試、README evidence 與 sole-contributor history audit。
- GitHub Contributors 僅有
kuotunyu,所有 commit 均無 co-author trailer。
公開產物:
- Dataset: https://huggingface.co/datasets/steven0226/formosa-nlu-synth-v1
- Model: https://huggingface.co/steven0226/gemma-4-e4b-formosanlu-lora
註:repository 已包含 M15 Phi-4-mini 第二 student family 的 preregistered pipeline,但此 release 不宣稱已有 Phi 結果。