Text Generation
PEFT
Safetensors
lora
spectral-surgery
training-seed-replication
b300
code
seed-44
conversational
Instructions to use tianzl66/Qwen3-8B-Magicoder-50K-LoRA-E1-Seed44 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use tianzl66/Qwen3-8B-Magicoder-50K-LoRA-E1-Seed44 with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3-8B") model = PeftModel.from_pretrained(base_model, "tianzl66/Qwen3-8B-Magicoder-50K-LoRA-E1-Seed44") - Notebooks
- Google Colab
- Kaggle
Release audited B300 LoRA training seed 44; actual zero warmup and complete in-domain HNS results
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +1 -0
- MANIFEST.sha256 +59 -0
- README.md +147 -0
- adapter_config.json +50 -0
- adapter_model.safetensors +3 -0
- chat_template.jinja +89 -0
- code/reproduce_hns_seed_checkpoint.py +112 -0
- code/source_files_sha256.json +50 -0
- code/source_snapshot.tar.gz +3 -0
- comparison/configuration_audit.md +88 -0
- comparison/three_run_scores.json +53 -0
- data/dataset_provenance.json +8 -0
- data/selected_source_indices.json.gz +3 -0
- evaluation/benchmark_input/humaneval-test.parquet +3 -0
- evaluation/benchmark_provenance.json +13 -0
- evaluation/generation_manifest.json +65 -0
- evaluation/items/base/predictions.jsonl.gz +3 -0
- evaluation/items/base/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f0_s0/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f0_s0/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f2_s0/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f2_s0/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f2_s1/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f2_s1/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f2_s2/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f2_s2/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f4_s0/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f4_s0/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f4_s1/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f4_s1/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f4_s2/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f4_s2/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f8_s0/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f8_s0/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f8_s1/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f8_s1/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f8_s2/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__hns_f8_s2/scored.jsonl.gz +3 -0
- evaluation/items/magicoder__original_lora/predictions.jsonl.gz +3 -0
- evaluation/items/magicoder__original_lora/scored.jsonl.gz +3 -0
- evaluation/results.json +110 -0
- hns/build_manifest.json +139 -0
- hns/build_metadata/hns_f0_s0/spectral_edit_meta.json +0 -0
- hns/build_metadata/hns_f2_s0/spectral_edit_meta.json +0 -0
- hns/build_metadata/hns_f2_s1/spectral_edit_meta.json +0 -0
- hns/build_metadata/hns_f2_s2/spectral_edit_meta.json +0 -0
- hns/build_metadata/hns_f4_s0/spectral_edit_meta.json +0 -0
- hns/build_metadata/hns_f4_s1/spectral_edit_meta.json +0 -0
- hns/build_metadata/hns_f4_s2/spectral_edit_meta.json +0 -0
- hns/build_metadata/hns_f8_s0/spectral_edit_meta.json +0 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
MANIFEST.sha256
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
ef7992d2bd9c83264361d19136cc28a9634d902f712bd4b69b683d7d79e2b951 README.md
|
| 2 |
+
8d72afa82bd691dac3abefe779d5f18591874aa53bd42852d99b215ef75e1bac adapter_config.json
|
| 3 |
+
eb3899888d043eb204ac10f9557344a1fabc0bb4d4e82965ae6a615047243932 adapter_model.safetensors
|
| 4 |
+
a55ee1b1660128b7098723e0abcd92caa0788061051c62d51cbe87d9cf1974d8 chat_template.jinja
|
| 5 |
+
12cf524fab02e2938d9225600ed6a993a7fb02c2752b4d8f60dc0ce46c920a75 code/reproduce_hns_seed_checkpoint.py
|
| 6 |
+
5438e90bbcc2e1be39101dc3c508ffa2efb27427115668d391db168fdb46dd8a code/source_files_sha256.json
|
| 7 |
+
2c6035e0feafb9c18eb74ad1ccb905d16832f900d03c15f4b79f86e37949de28 code/source_snapshot.tar.gz
|
| 8 |
+
7dd3464b69ac5f3c6fc1691cb72e7a536434992d8457a6bb2ab94d5f2088f24e comparison/configuration_audit.md
|
| 9 |
+
fa48eb079a55cac80029a06f79df56374f1945a5725a8d1f51e6d2d627ebf3eb comparison/three_run_scores.json
|
| 10 |
+
db974c79f5fd39b01d0fd897527ab9a8358c1ee5db820cccfe5a04928a958992 data/dataset_provenance.json
|
| 11 |
+
e798fddd6739ebbc00ac62137021d08417a959720737fc5c9ad2c7f4c8d66ac4 data/selected_source_indices.json.gz
|
| 12 |
+
3bea46a554c67c5d2915e2db7d97d7733f09140e7a1776428c1b20b5ae5d124b evaluation/benchmark_input/humaneval-test.parquet
|
| 13 |
+
04c491f1fee8ecaefde808322a240b14f30741e54137ad5d8088c98e9496acad evaluation/benchmark_provenance.json
|
| 14 |
+
6c95d9d958dabaebacdedad919b0e90378b8ca5952a026a0a0023388bf0c7c49 evaluation/generation_manifest.json
|
| 15 |
+
bc4f7bfa4ffea338e8536fa693612d874bf2d5788ce5f727519a88eb3d825ad7 evaluation/items/base/predictions.jsonl.gz
|
| 16 |
+
89fb691393ec184b9c980cc2472f05d093534731cf728fab978e676262120f35 evaluation/items/base/scored.jsonl.gz
|
| 17 |
+
7513025fb68ac76b34f5ce9c5a5c85784a8b33172f9f725f95cd1bba0236f26d evaluation/items/magicoder__hns_f0_s0/predictions.jsonl.gz
|
| 18 |
+
24cd70cac8e2b07f49ba07435fa58f55210fc207c076a7b928894c1fc22de1c1 evaluation/items/magicoder__hns_f0_s0/scored.jsonl.gz
|
| 19 |
+
70f04ac0455f5e30e621a86f64294e1e2ab23efc324a3453d2d1f56b13a61513 evaluation/items/magicoder__hns_f2_s0/predictions.jsonl.gz
|
| 20 |
+
bc00f33297cdb95d042135ae43946f889f1c32aee00afc77988a3f6e526efe13 evaluation/items/magicoder__hns_f2_s0/scored.jsonl.gz
|
| 21 |
+
368b235fc1b50afa1cf261b79d3f750be162c73c50dff9195fae8705bfd5c33f evaluation/items/magicoder__hns_f2_s1/predictions.jsonl.gz
|
| 22 |
+
d5042a7f265c67b04b05215321f33d6108a62c5a5a2271994b98270801993b84 evaluation/items/magicoder__hns_f2_s1/scored.jsonl.gz
|
| 23 |
+
73cab3aeb10de5a7564fd0369f5942b116f030b223c223d0f7dbcd019296655a evaluation/items/magicoder__hns_f2_s2/predictions.jsonl.gz
|
| 24 |
+
4a7c94c685257a9cd5db106291bd240c59d72390aa661f85f7888dea7cb6b4c3 evaluation/items/magicoder__hns_f2_s2/scored.jsonl.gz
|
| 25 |
+
60e4eb9bb389dc55ce4ff5aa055946d97cdd713834ad12cccba30f50fe974073 evaluation/items/magicoder__hns_f4_s0/predictions.jsonl.gz
|
| 26 |
+
0b3d2b741f38c71ffb67de3c98897e35b3812ac863c729b6c2c5431129f8c931 evaluation/items/magicoder__hns_f4_s0/scored.jsonl.gz
|
| 27 |
+
7ab445c27d7d9559b4a04e00f6b90cb45f1291617409cd0abdc3f2f78843369c evaluation/items/magicoder__hns_f4_s1/predictions.jsonl.gz
|
| 28 |
+
c5d94b35cb6cd676076829fc423186bdc3e96056e3906a3eb3c560d6af0cf2e0 evaluation/items/magicoder__hns_f4_s1/scored.jsonl.gz
|
| 29 |
+
ab98fc7d8fe69daf54f83ffa1395128c14b639017eb13d6743662f7f5e0d096c evaluation/items/magicoder__hns_f4_s2/predictions.jsonl.gz
|
| 30 |
+
3f6fb3596f2d76cd94c9a2fbe9326d88a28698bc45fd3782301b21e8c01d9e05 evaluation/items/magicoder__hns_f4_s2/scored.jsonl.gz
|
| 31 |
+
5ac4a9a2cb167ed3034fdfd310f1d09178a5e745a6e10913602875572bd715fd evaluation/items/magicoder__hns_f8_s0/predictions.jsonl.gz
|
| 32 |
+
1ae0947fa429425cc8afd3bc22aa8a721d93ea8b3cca1080a829fa16da242656 evaluation/items/magicoder__hns_f8_s0/scored.jsonl.gz
|
| 33 |
+
ee86fef92542667cd650ad6e3694e97dd64cc0760e96ed86d8957debf53f79d1 evaluation/items/magicoder__hns_f8_s1/predictions.jsonl.gz
|
| 34 |
+
01594ace5342fd22d98e016f21d4241f0a9c0bb9d3a83d5844d7764086ec8a25 evaluation/items/magicoder__hns_f8_s1/scored.jsonl.gz
|
| 35 |
+
0e321fafdc0cc8625c0cae5500eb52071f7be738e7f854203a9605b2c43bf124 evaluation/items/magicoder__hns_f8_s2/predictions.jsonl.gz
|
| 36 |
+
6cd7e900047342a11edabc356a5af796eae9153b8b840d3e9ca75763587078e0 evaluation/items/magicoder__hns_f8_s2/scored.jsonl.gz
|
| 37 |
+
234ab371674ce568b51ccf81543bb3ba33a4d956beefa79985085293da789030 evaluation/items/magicoder__original_lora/predictions.jsonl.gz
|
| 38 |
+
b4b7f3543fd399781fb2797d5bd8b2e3c2fa2806fee5457e9ff95c6e757dd077 evaluation/items/magicoder__original_lora/scored.jsonl.gz
|
| 39 |
+
588af45105b2e25d7680e44bf8d554bb0d03bb59b5254056cd3f41a495218f44 evaluation/results.json
|
| 40 |
+
9ecec17e56ca64457682307ac5e661093e5493906c2fe1a1a66b1582de03e947 hns/build_manifest.json
|
| 41 |
+
01eeb273c43f7bc03845fe13599a017b8854634073d594beabf604bbdb721616 hns/build_metadata/hns_f0_s0/spectral_edit_meta.json
|
| 42 |
+
293742b21603f9a5668b07809bcfb795e9bc3b562c4f6956e0126a80805c398d hns/build_metadata/hns_f2_s0/spectral_edit_meta.json
|
| 43 |
+
9472d93e230caff4e8306a4e4069ac54b0454465d6810f7c66d110a5416421b0 hns/build_metadata/hns_f2_s1/spectral_edit_meta.json
|
| 44 |
+
9cf9d3d208f2b73ba9f332d58cf7d73e7f871774716a33c3281cc24c05643765 hns/build_metadata/hns_f2_s2/spectral_edit_meta.json
|
| 45 |
+
fbdd0a652d45c44bfbbf8dfe810243ad16efc63cfc08350d46da12bf855441bd hns/build_metadata/hns_f4_s0/spectral_edit_meta.json
|
| 46 |
+
ae0b101e36149f5ea757e039487256975d3cd92f93d253d4e613bd6445053ec7 hns/build_metadata/hns_f4_s1/spectral_edit_meta.json
|
| 47 |
+
770be53c359a0a999443992f2c9d438e93b6898f60f8fe91a6fe7df35abfad4e hns/build_metadata/hns_f4_s2/spectral_edit_meta.json
|
| 48 |
+
2c285d796cd0efb2d160aba73d71be73f73eda5cf0cefcc8909c4aeebca5d456 hns/build_metadata/hns_f8_s0/spectral_edit_meta.json
|
| 49 |
+
7054c3f331580aabd3d08be804de9a372829b41dfd863800c926e96932ae02f1 hns/build_metadata/hns_f8_s1/spectral_edit_meta.json
|
| 50 |
+
ec720077b56ceeb33c41ba5c03081bd7239bc4d5929619894c7c836e6692c563 hns/build_metadata/hns_f8_s2/spectral_edit_meta.json
|
| 51 |
+
894e8aad6258c17730df57cc0f2b796681741619fe0c476aa14b651814924f04 hns/grid_config.json
|
| 52 |
+
e037ec87f3b266b24c4ef2818b193ddac67cb9e00f5a917ecffd7428687416e5 publication.json
|
| 53 |
+
773fe06aafc2451c80a79ee24163f1448cf118dd94cbad79be89ada232f58ad3 requirements-freeze.txt
|
| 54 |
+
bad3d51a6c84413ec246e87bbfe9c1f0946399003d59147f379ce65445eb599c run_args.json
|
| 55 |
+
c303cf2a42e67e7aa3b85fde7cc3243a50efc8e6d14e5ee29ef815fa472ab915 run_config.json
|
| 56 |
+
be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506 tokenizer.json
|
| 57 |
+
1cc816812993bff176eb4f7495433b736f06fba9b6e7b05cac7b4a1780650c95 tokenizer_config.json
|
| 58 |
+
7403be925bcc62812580e4bd0f1971de071f433dc93d87da74e21b1bfeca59c0 trainer_state.json
|
| 59 |
+
d958bd5806f7c671a581dc5d1a719853ffb9ec24578dd53778d4c6ba45e8b624 training_args.json
|
README.md
ADDED
|
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
base_model: Qwen/Qwen3-8B
|
| 3 |
+
library_name: peft
|
| 4 |
+
pipeline_tag: text-generation
|
| 5 |
+
datasets:
|
| 6 |
+
- ise-uiuc/Magicoder-Evol-Instruct-110K
|
| 7 |
+
tags:
|
| 8 |
+
- lora
|
| 9 |
+
- spectral-surgery
|
| 10 |
+
- training-seed-replication
|
| 11 |
+
- b300
|
| 12 |
+
- code
|
| 13 |
+
- seed-44
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# Qwen3-8B + magicoder — LoRA, training seed 44
|
| 17 |
+
|
| 18 |
+
This repository contains the **unedited final LoRA adapter**, not a full 8B base model and not an HNS-edited adapter. It is one of the 12 B300 replication runs (two bases × three training tasks × seeds43/44), completed September 13, 2026. HNS is a post-hoc transformation of this saved LoRA, not additional training. All HNS scores below use this source checkpoint; derived HNS weights are not uploaded here. Reconstruction code and metadata are included.
|
| 19 |
+
|
| 20 |
+
## Base Model
|
| 21 |
+
|
| 22 |
+
- Model: [Qwen/Qwen3-8B](https://huggingface.co/Qwen/Qwen3-8B).
|
| 23 |
+
- Download revision: `b968826d9c46dd6066d109eabc6255188de91218`. Per-file local download revisions and weight/tokenizer SHA256 hashes are in `publication.json`.
|
| 24 |
+
- Base weights are not redistributed. Users must obtain access to the base and comply with its license, acceptable-use policy and dataset terms. No independent license grant is implied by this adapter release.
|
| 25 |
+
|
| 26 |
+
## Training — requested versus effective configuration
|
| 27 |
+
|
| 28 |
+
| Field | Actual saved run / provenance |
|
| 29 |
+
|---|---|
|
| 30 |
+
| Dataset | `ise-uiuc/Magicoder-Evol-Instruct-110K`, local train parquet snapshot |
|
| 31 |
+
| Source rows | 111183 |
|
| 32 |
+
| Selected rows before truncation filtering | 50000 |
|
| 33 |
+
| Actual response-supervised training rows | 49936 |
|
| 34 |
+
| Training epochs | 1.0 |
|
| 35 |
+
| Actual final optimizer updates | 1561 |
|
| 36 |
+
| Maximum sequence length | 4096 |
|
| 37 |
+
| Per-device micro-batch / accumulation | 16 / 2 |
|
| 38 |
+
| GPU count / effective global batch | 1 NVIDIA B300 / 32 |
|
| 39 |
+
| LR / scheduler | 2e-05 / `cosine` |
|
| 40 |
+
| **Actual warmup** | **0 steps (zero warmup)** |
|
| 41 |
+
| CLI-requested warmup ratio | 0.05 — did NOT take effect |
|
| 42 |
+
| Scheduler kwargs | `null` |
|
| 43 |
+
| Optimizer | `adamw_torch_fused`, Adam betas (0.9, 0.999), epsilon 1e-08 |
|
| 44 |
+
| Weight decay / max gradient norm | 0.0 / 1.0 |
|
| 45 |
+
| LoRA | r=16, alpha=32, dropout=0.05, bias=none |
|
| 46 |
+
| Target modules | up_proj, q_proj, k_proj, gate_proj, o_proj, v_proj, down_proj |
|
| 47 |
+
| Precision / checkpointing | bf16 / gradient checkpointing enabled; not QLoRA |
|
| 48 |
+
| SFT | Chat template `non_thinking`; response-only loss, prompt labels masked -100 |
|
| 49 |
+
| Truncation / padding | Right truncation; drop examples with no supervised completion tokens; dynamic right padding to multiple8; no packing |
|
| 50 |
+
| Training seed / Trainer data_seed | 44 / 44 |
|
| 51 |
+
| Dataset subset seed | 42, unchanged between seeds43/44 |
|
| 52 |
+
| Determinism | full_determinism=False; no claim of bitwise reproducibility |
|
| 53 |
+
|
| 54 |
+
**Warmup audit correction:** this code passes CLI `warmup_ratio`, then filters TrainingArguments kwargs against the installed signature. Transformers5.16.1 does not expose that argument, so the requested ratio was dropped and `warmup_steps=0` remained. `training_args.json` and the archived source are authoritative for the effective run, not the requested CLI alone. The reproduction command deliberately requests ratio0. Do not describe these runs as having 5% or 10% warmup.
|
| 55 |
+
|
| 56 |
+
Data selection: valid-format filtering, then `datasets.Dataset.shuffle(seed=42).select(range(50000))` for Magicoder/MetaMath; Tulu uses the full valid split without downsampling. The row-index list in `data/selected_source_indices.json.gz` references the exact local parquet row ordering **before** tokenization/truncation filtering. Source file SHA256: `ff1dda789a725a9b8840f63aa9956bcff397b8dc4311cfc98aaa2c11ba0ed0ca`. Upstream dataset revision was not recorded by the original asset export; do not claim that downloading current main recreates the exact bytes/order. Verify the file hash or resolve snapshot provenance before claiming exact data reproduction. Training text is not redistributed here.
|
| 57 |
+
|
| 58 |
+
Saved evidence: `run_args.json` (requested), `run_config.json` (pre-tokenization estimates), `training_args.json` (effective), `trainer_state.json` (actual final steps and logged training metrics), `requirements-freeze.txt`, and `publication.json`. Local paths and credential fields are sanitized. Pickled optimizer states / training_args.bin are intentionally omitted.
|
| 59 |
+
|
| 60 |
+
## Evaluation
|
| 61 |
+
|
| 62 |
+
Benchmark: **HumanEval**, primary metric `pass_at_1`, 164 items. Each trained checkpoint was evaluated once on the complete available in-domain split. This is not three repetitions of inference on one checkpoint. Seeds43/44 are separate training runs. No training-seed CI or significance claim is made from a single row.
|
| 63 |
+
|
| 64 |
+
| Setting | Value |
|
| 65 |
+
|---|---|
|
| 66 |
+
| Backend / attention | vLLM / FLASH_ATTN, tensor parallel1 |
|
| 67 |
+
| Sampling | Greedy: temperature0, top_p1, inference seed42 |
|
| 68 |
+
| Chat | non_thinking render mode; Qwen enable_thinking=False |
|
| 69 |
+
| Maximum model length / new tokens | 4096 / 512 |
|
| 70 |
+
| GPU memory / max concurrent sequences | 0.94 / 1024 |
|
| 71 |
+
| Token budget / adapter block / prompt chunk | 65536 / 11 / 512 |
|
| 72 |
+
| Scheduling / prefix cache | async_scheduling=False / enable_prefix_caching=False |
|
| 73 |
+
| Numerics | VLLM_BATCH_INVARIANT=1, CUBLAS_WORKSPACE_CONFIG=:4096:8 |
|
| 74 |
+
| Compilation cache | Disabled, per-job cache root, short IPC temp path |
|
| 75 |
+
|
| 76 |
+
HumanEval uses chat strict-continuation prompts, max_new_tokens512, pass@1, code-execution timeout3s and 32 CPU workers. GSM8K uses max_new_tokens512 and the strict answer extractor in the archived scorer (not a 2048-token model-card evaluation). IFEval uses its 541-item `train`-named evaluation split, max_new_tokens2048, prompt-level strict accuracy. The GSM8K/IFEval local benchmark inputs were reconstructed from earlier scored outputs (gold and instruction metadata), not newly sampled; the exact input file and hash are included under `evaluation/benchmark_input/`. HumanEval input is the local test parquet. Do not mix these results with earlier model-card scores from other prompts/token budgets.
|
| 77 |
+
|
| 78 |
+
| Method | Score (%) | Correct / samples | Change vs LoRA (pp) |
|
| 79 |
+
|---|---:|---|---:|
|
| 80 |
+
| Base (not a training replicate) | 66.46 | 109/164 | — |
|
| 81 |
+
| LoRA (weights in this repository) | 64.63 | 106/164 | +0.00 |
|
| 82 |
+
| 0+0 SVD reconstruction control | 64.63 | 106/164 | +0.00 |
|
| 83 |
+
| HNS 2+0, all modules | 72.56 | 119/164 | +7.93 |
|
| 84 |
+
| HNS 2+1, all modules | 72.56 | 119/164 | +7.93 |
|
| 85 |
+
| HNS 2+2, all modules | 73.17 | 120/164 | +8.54 |
|
| 86 |
+
| HNS 4+0, all modules | 72.56 | 119/164 | +7.93 |
|
| 87 |
+
| HNS 4+1, all modules | 74.39 | 122/164 | +9.76 |
|
| 88 |
+
| HNS 4+2, all modules | 73.78 | 121/164 | +9.15 |
|
| 89 |
+
| HNS 8+0, all modules | 76.22 | 125/164 | +11.59 |
|
| 90 |
+
| HNS 8+1, all modules | 73.78 | 121/164 | +9.15 |
|
| 91 |
+
| HNS 8+2, all modules | 75.00 | 123/164 | +10.37 |
|
| 92 |
+
|
| 93 |
+
HNS grid: all seven LoRA module types, output rank16, strength1, preserve original module nuclear norm, fast steps2/4/8 × stable steps0/1/2. `0+0` is an SVD-factorization reconstruction control, not spectral editing. Maxima on this test set are descriptive, not validated parameter selection. In IFEval, reconstruction itself can change scores materially; all gains over LoRA cannot automatically be attributed to spectral editing.
|
| 94 |
+
|
| 95 |
+
Machine-readable full metrics are in `evaluation/results.json`; paired per-item evidence and generated token IDs/text are in `evaluation/items/<variant>/scored.jsonl.gz` and `predictions.jsonl.gz`. Off-task forgetting evaluation was still incomplete at publication preparation; no incomplete forgetting scores are included or implied.
|
| 96 |
+
|
| 97 |
+
## Reproduction and loading
|
| 98 |
+
|
| 99 |
+
Use an isolated environment matching the recorded package versions. `requirements-freeze.txt` is the full training environment inventory, not a guarantee that all platform-specific packages install on arbitrary systems. The source archive is a publication-time snapshot, with per-file hashes; a clean training-time Git commit was not saved. Python version and evaluation-time package versions are recorded in `publication.json` (current evaluation environment observation is distinguished from training inventory).
|
| 100 |
+
|
| 101 |
+
```bash
|
| 102 |
+
# In the downloaded repository directory:
|
| 103 |
+
tar -xzf code/source_snapshot.tar.gz
|
| 104 |
+
pip install --no-deps -e source_snapshot
|
| 105 |
+
# Obtain the exact training parquet under /path/to/data/; its SHA256 is checked.
|
| 106 |
+
python code/reproduce_hns_seed_checkpoint.py train --data-dir /path/to/data --output-dir /path/to/new-run
|
| 107 |
+
# Rebuild all nine HNS variants plus the 0+0 control from the root LoRA:
|
| 108 |
+
python code/reproduce_hns_seed_checkpoint.py build-hns --output-dir /path/to/rebuilt-grid
|
| 109 |
+
# In-domain benchmark inputs are included; record any inference-budget override:
|
| 110 |
+
python code/reproduce_hns_seed_checkpoint.py evaluate --grid-dir /path/to/rebuilt-grid --output-dir /path/to/new-eval
|
| 111 |
+
```
|
| 112 |
+
|
| 113 |
+
The archived training entrypoint and the explicit command implement the actual zero-warmup run. With other Transformers versions, defaults/Trainer behavior may differ; recorded data hashes, model revisions, tokenizer files, preprocessing and effective settings are necessary checks, not a promise of bitwise identical training. For the successful Llama43 evaluation the recorded batched-token budget was131072, whereas the other new groups used65536. This stack has also failed at131072 in other initializations; `evaluate --token-budget 65536` is a safer alternative but a changed evaluation configuration and must be reported.
|
| 114 |
+
|
| 115 |
+
`build-hns` also fetches the other two source LoRAs for this same base/training seed, verifies their published weight hashes, and reconstructs the original three-task 33-adapter manifest ordering. This preserves adapter registration IDs for the target-task evaluation rather than renumbering an isolated 11-adapter grid. `--peer-root` can point to an offline directory containing those named repository folders. For stability the portable helper disables the compilation cache; this differs from the earlier successful Llama43 run, whose scheduler log shows default compile-cache use. No original compiled cache is redistributed, and exact-token numerical identity is not promised.
|
| 116 |
+
|
| 117 |
+
```python
|
| 118 |
+
import torch
|
| 119 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 120 |
+
from peft import PeftModel
|
| 121 |
+
|
| 122 |
+
repo_id = "tianzl66/Qwen3-8B-Magicoder-50K-LoRA-E1-Seed44"
|
| 123 |
+
base_id = "Qwen/Qwen3-8B"
|
| 124 |
+
base_revision = 'b968826d9c46dd6066d109eabc6255188de91218'
|
| 125 |
+
tokenizer = AutoTokenizer.from_pretrained(repo_id)
|
| 126 |
+
base = AutoModelForCausalLM.from_pretrained(
|
| 127 |
+
base_id, revision=base_revision, torch_dtype=torch.bfloat16, device_map="auto"
|
| 128 |
+
)
|
| 129 |
+
model = PeftModel.from_pretrained(base, repo_id)
|
| 130 |
+
model.eval()
|
| 131 |
+
```
|
| 132 |
+
|
| 133 |
+
`adapter_config.json` uses the public base-model ID rather than a private filesystem path; this metadata normalization does not change `adapter_model.safetensors`. Original adapter-config hash is recorded separately. Root tokenizer and chat-template files are the saved training artifacts. Loading example is not itself a benchmark reproduction protocol.
|
| 134 |
+
|
| 135 |
+
## Comparison with the historical seed42 checkpoint
|
| 136 |
+
|
| 137 |
+
The older checkpoint is separately listed in `comparison/three_run_scores.json` and `comparison/configuration_audit.md`. It is a historical reference, **not verified to be an identical-recipe third seed**. New runs use larger micro-batches, padding8 and actual zero warmup; original dataset identity and some Llama settings are not fully verified. Both new seeds share the same saved non-seed recipe. Old Llama Magicoder/MetaMath training seed labels lack complete original Trainer evidence in this audit. Do not pool 42/43/44 into a strict identical-configuration three-seed mean±SD. Standard deviation is not a confidence interval.
|
| 138 |
+
|
| 139 |
+
## Files and integrity
|
| 140 |
+
|
| 141 |
+
- `adapter_model.safetensors`, `adapter_config.json`, saved tokenizer/chat template: loadable PEFT source LoRA.
|
| 142 |
+
- Training JSON evidence, final `trainer_state.json`, requirements inventory.
|
| 143 |
+
- `publication.json`, `data/*`, `hns/*`, `evaluation/*`, `comparison/*`: provenance, HNS metadata, input/output evidence and historical comparison.
|
| 144 |
+
- `code/*`: source archive and portable train/build/evaluate helper.
|
| 145 |
+
- `MANIFEST.sha256`: hashes of all prepared payload files except itself; remote commit ID is tracked in the publisher's upload receipt.
|
| 146 |
+
|
| 147 |
+
The pre-normalization trained weight SHA256 is `eb3899888d043eb204ac10f9557344a1fabc0bb4d4e82965ae6a615047243932`. No intermediate checkpoint, optimizer state, full base weight or scheduler log is uploaded. This release documents reproducibility boundaries rather than claiming random variation was eliminated.
|
adapter_config.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"alora_invocation_tokens": null,
|
| 3 |
+
"alpha_pattern": {},
|
| 4 |
+
"arrow_config": null,
|
| 5 |
+
"auto_mapping": null,
|
| 6 |
+
"base_model_name_or_path": "Qwen/Qwen3-8B",
|
| 7 |
+
"bias": "none",
|
| 8 |
+
"corda_config": null,
|
| 9 |
+
"ensure_weight_tying": false,
|
| 10 |
+
"eva_config": null,
|
| 11 |
+
"exclude_modules": null,
|
| 12 |
+
"fan_in_fan_out": false,
|
| 13 |
+
"inference_mode": true,
|
| 14 |
+
"init_lora_weights": true,
|
| 15 |
+
"layer_replication": null,
|
| 16 |
+
"layers_pattern": null,
|
| 17 |
+
"layers_to_transform": null,
|
| 18 |
+
"loftq_config": {},
|
| 19 |
+
"lora_alpha": 32,
|
| 20 |
+
"lora_bias": false,
|
| 21 |
+
"lora_dropout": 0.05,
|
| 22 |
+
"lora_ga_config": null,
|
| 23 |
+
"megatron_config": null,
|
| 24 |
+
"megatron_core": "megatron.core",
|
| 25 |
+
"modules_to_save": null,
|
| 26 |
+
"monteclora_config": null,
|
| 27 |
+
"peft_type": "LORA",
|
| 28 |
+
"peft_version": "0.20.0",
|
| 29 |
+
"qalora_group_size": 16,
|
| 30 |
+
"r": 16,
|
| 31 |
+
"rank_pattern": {},
|
| 32 |
+
"revision": "b968826d9c46dd6066d109eabc6255188de91218",
|
| 33 |
+
"target_modules": [
|
| 34 |
+
"up_proj",
|
| 35 |
+
"q_proj",
|
| 36 |
+
"k_proj",
|
| 37 |
+
"gate_proj",
|
| 38 |
+
"o_proj",
|
| 39 |
+
"v_proj",
|
| 40 |
+
"down_proj"
|
| 41 |
+
],
|
| 42 |
+
"target_parameters": null,
|
| 43 |
+
"task_type": "CAUSAL_LM",
|
| 44 |
+
"trainable_token_indices": null,
|
| 45 |
+
"use_bdlora": null,
|
| 46 |
+
"use_dora": false,
|
| 47 |
+
"use_qalora": false,
|
| 48 |
+
"use_rslora": false,
|
| 49 |
+
"velora_config": null
|
| 50 |
+
}
|
adapter_model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:eb3899888d043eb204ac10f9557344a1fabc0bb4d4e82965ae6a615047243932
|
| 3 |
+
size 174655536
|
chat_template.jinja
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{%- if tools %}
|
| 2 |
+
{{- '<|im_start|>system\n' }}
|
| 3 |
+
{%- if messages[0].role == 'system' %}
|
| 4 |
+
{{- messages[0].content + '\n\n' }}
|
| 5 |
+
{%- endif %}
|
| 6 |
+
{{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
|
| 7 |
+
{%- for tool in tools %}
|
| 8 |
+
{{- "\n" }}
|
| 9 |
+
{{- tool | tojson }}
|
| 10 |
+
{%- endfor %}
|
| 11 |
+
{{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
|
| 12 |
+
{%- else %}
|
| 13 |
+
{%- if messages[0].role == 'system' %}
|
| 14 |
+
{{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
|
| 15 |
+
{%- endif %}
|
| 16 |
+
{%- endif %}
|
| 17 |
+
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
|
| 18 |
+
{%- for message in messages[::-1] %}
|
| 19 |
+
{%- set index = (messages|length - 1) - loop.index0 %}
|
| 20 |
+
{%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
|
| 21 |
+
{%- set ns.multi_step_tool = false %}
|
| 22 |
+
{%- set ns.last_query_index = index %}
|
| 23 |
+
{%- endif %}
|
| 24 |
+
{%- endfor %}
|
| 25 |
+
{%- for message in messages %}
|
| 26 |
+
{%- if message.content is string %}
|
| 27 |
+
{%- set content = message.content %}
|
| 28 |
+
{%- else %}
|
| 29 |
+
{%- set content = '' %}
|
| 30 |
+
{%- endif %}
|
| 31 |
+
{%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
|
| 32 |
+
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
|
| 33 |
+
{%- elif message.role == "assistant" %}
|
| 34 |
+
{%- set reasoning_content = '' %}
|
| 35 |
+
{%- if message.reasoning_content is string %}
|
| 36 |
+
{%- set reasoning_content = message.reasoning_content %}
|
| 37 |
+
{%- else %}
|
| 38 |
+
{%- if '</think>' in content %}
|
| 39 |
+
{%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
|
| 40 |
+
{%- set content = content.split('</think>')[-1].lstrip('\n') %}
|
| 41 |
+
{%- endif %}
|
| 42 |
+
{%- endif %}
|
| 43 |
+
{%- if loop.index0 > ns.last_query_index %}
|
| 44 |
+
{%- if loop.last or (not loop.last and reasoning_content) %}
|
| 45 |
+
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
|
| 46 |
+
{%- else %}
|
| 47 |
+
{{- '<|im_start|>' + message.role + '\n' + content }}
|
| 48 |
+
{%- endif %}
|
| 49 |
+
{%- else %}
|
| 50 |
+
{{- '<|im_start|>' + message.role + '\n' + content }}
|
| 51 |
+
{%- endif %}
|
| 52 |
+
{%- if message.tool_calls %}
|
| 53 |
+
{%- for tool_call in message.tool_calls %}
|
| 54 |
+
{%- if (loop.first and content) or (not loop.first) %}
|
| 55 |
+
{{- '\n' }}
|
| 56 |
+
{%- endif %}
|
| 57 |
+
{%- if tool_call.function %}
|
| 58 |
+
{%- set tool_call = tool_call.function %}
|
| 59 |
+
{%- endif %}
|
| 60 |
+
{{- '<tool_call>\n{"name": "' }}
|
| 61 |
+
{{- tool_call.name }}
|
| 62 |
+
{{- '", "arguments": ' }}
|
| 63 |
+
{%- if tool_call.arguments is string %}
|
| 64 |
+
{{- tool_call.arguments }}
|
| 65 |
+
{%- else %}
|
| 66 |
+
{{- tool_call.arguments | tojson }}
|
| 67 |
+
{%- endif %}
|
| 68 |
+
{{- '}\n</tool_call>' }}
|
| 69 |
+
{%- endfor %}
|
| 70 |
+
{%- endif %}
|
| 71 |
+
{{- '<|im_end|>\n' }}
|
| 72 |
+
{%- elif message.role == "tool" %}
|
| 73 |
+
{%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
|
| 74 |
+
{{- '<|im_start|>user' }}
|
| 75 |
+
{%- endif %}
|
| 76 |
+
{{- '\n<tool_response>\n' }}
|
| 77 |
+
{{- content }}
|
| 78 |
+
{{- '\n</tool_response>' }}
|
| 79 |
+
{%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
|
| 80 |
+
{{- '<|im_end|>\n' }}
|
| 81 |
+
{%- endif %}
|
| 82 |
+
{%- endif %}
|
| 83 |
+
{%- endfor %}
|
| 84 |
+
{%- if add_generation_prompt %}
|
| 85 |
+
{{- '<|im_start|>assistant\n' }}
|
| 86 |
+
{%- if enable_thinking is defined and enable_thinking is false %}
|
| 87 |
+
{{- '<think>\n\n</think>\n\n' }}
|
| 88 |
+
{%- endif %}
|
| 89 |
+
{%- endif %}
|
code/reproduce_hns_seed_checkpoint.py
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env python3
|
| 2 |
+
"""Portable helper shipped with each published LoRA; matches effective zero warmup."""
|
| 3 |
+
import argparse
|
| 4 |
+
import hashlib
|
| 5 |
+
import json
|
| 6 |
+
import os
|
| 7 |
+
import subprocess
|
| 8 |
+
import sys
|
| 9 |
+
import tempfile
|
| 10 |
+
from pathlib import Path
|
| 11 |
+
|
| 12 |
+
|
| 13 |
+
def sha256(path):
|
| 14 |
+
h = hashlib.sha256()
|
| 15 |
+
with path.open('rb') as f:
|
| 16 |
+
for chunk in iter(lambda: f.read(8 * 1024 * 1024), b''):
|
| 17 |
+
h.update(chunk)
|
| 18 |
+
return h.hexdigest()
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
def main():
|
| 22 |
+
parser = argparse.ArgumentParser(description=__doc__)
|
| 23 |
+
parser.add_argument('action', choices=['train', 'build-hns', 'evaluate'])
|
| 24 |
+
parser.add_argument('--data-dir', type=Path)
|
| 25 |
+
parser.add_argument('--grid-dir', type=Path)
|
| 26 |
+
parser.add_argument('--output-dir', required=True, type=Path)
|
| 27 |
+
parser.add_argument('--base-dir', type=Path)
|
| 28 |
+
parser.add_argument('--peer-root', type=Path)
|
| 29 |
+
parser.add_argument('--token-budget', type=int)
|
| 30 |
+
args = parser.parse_args()
|
| 31 |
+
repo = Path(__file__).resolve().parents[1]
|
| 32 |
+
if args.output_dir.resolve().is_relative_to(repo):
|
| 33 |
+
parser.error('--output-dir must be outside the downloaded repository to avoid recursive grid copies')
|
| 34 |
+
meta = json.loads((repo / 'publication.json').read_text())
|
| 35 |
+
source = repo / 'source_snapshot'
|
| 36 |
+
if not source.is_dir():
|
| 37 |
+
raise RuntimeError('Extract code/source_snapshot.tar.gz in the repository directory first.')
|
| 38 |
+
env = dict(os.environ)
|
| 39 |
+
env['PYTHONPATH'] = str(source / 'src') + os.pathsep + str(source / 'scripts')
|
| 40 |
+
env.update(TOKENIZERS_PARALLELISM='false', VLLM_BATCH_INVARIANT='1', VLLM_USE_FLASHINFER_SAMPLER='0',
|
| 41 |
+
CUBLAS_WORKSPACE_CONFIG=':4096:8', PYTHONHASHSEED=str(meta['training_seed'] if args.action == 'train' else 42),
|
| 42 |
+
VLLM_DISABLE_COMPILE_CACHE='1')
|
| 43 |
+
with tempfile.TemporaryDirectory(prefix='hr-') as temporary:
|
| 44 |
+
env.update(TMPDIR=temporary, TMP=temporary, TEMP=temporary, VLLM_CACHE_ROOT=temporary + '/vc')
|
| 45 |
+
base = args.base_dir
|
| 46 |
+
if args.action != 'build-hns' and base is None:
|
| 47 |
+
from huggingface_hub import snapshot_download
|
| 48 |
+
revision = meta['base_provenance']['revision']
|
| 49 |
+
if revision is None:
|
| 50 |
+
raise RuntimeError('A unique base revision is unavailable; provide --base-dir and verify publication.json hashes.')
|
| 51 |
+
base = Path(snapshot_download(meta['base_provenance']['model_id'], revision=revision))
|
| 52 |
+
if base is not None:
|
| 53 |
+
for name, expected in meta['base_provenance']['files_sha256'].items():
|
| 54 |
+
assert sha256(base / name) == expected, f'Base file mismatch: {name}'
|
| 55 |
+
task = meta['train_task']
|
| 56 |
+
if args.action == 'train':
|
| 57 |
+
if args.data_dir is None:
|
| 58 |
+
parser.error('train requires --data-dir')
|
| 59 |
+
dataset = args.data_dir / meta['dataset']['filename']
|
| 60 |
+
assert sha256(dataset) == meta['dataset']['file_sha256'], 'Training dataset hash mismatch'
|
| 61 |
+
a = meta['requested_run_args']
|
| 62 |
+
command = [sys.executable, '-m', 'finetune.train_sft_peft', '--base_model', str(base), '--task', 'if' if task == 'tulu' else task,
|
| 63 |
+
'--peft_method', 'lora', '--dataset_path', str(dataset), '--output_dir', str(args.output_dir), '--train_profile', 'none',
|
| 64 |
+
'--warmup_ratio', '0', '--seed', str(meta['training_seed']), '--dataset_seed', '42', '--bf16', '--gradient_checkpointing']
|
| 65 |
+
fields = ['num_train_epochs', 'per_device_train_batch_size', 'gradient_accumulation_steps', 'global_train_batch_size', 'lr', 'weight_decay',
|
| 66 |
+
'min_lr_ratio', 'lr_scheduler_type', 'adam_beta1', 'adam_beta2', 'grad_clip', 'max_seq_len', 'max_train_samples', 'sft_format',
|
| 67 |
+
'chat_template_mode', 'target_modules', 'r', 'lora_alpha', 'lora_dropout', 'pad_to_multiple_of', 'save_strategy', 'save_steps',
|
| 68 |
+
'save_total_limit', 'logging_steps']
|
| 69 |
+
for key in fields:
|
| 70 |
+
if a.get(key) is not None:
|
| 71 |
+
command.extend(['--' + key, str(a[key])])
|
| 72 |
+
subprocess.run(command, env=env, check=True)
|
| 73 |
+
else:
|
| 74 |
+
benchmark_meta = json.loads((repo / 'evaluation/benchmark_provenance.json').read_text())
|
| 75 |
+
benchmark = repo / 'evaluation/benchmark_input' / benchmark_meta['filename']
|
| 76 |
+
assert sha256(benchmark) == benchmark_meta['sha256']
|
| 77 |
+
cfg = {'bases': {meta['base']: str(base)}, 'checkpoints': [{'base': meta['base'], 'train_task': task, 'lora': str(repo)}],
|
| 78 |
+
'evaluation_tasks': {task: {**meta['evaluation_task'], 'dataset': str(benchmark)}}}
|
| 79 |
+
if args.action == 'build-hns':
|
| 80 |
+
cfg['checkpoints'] = []
|
| 81 |
+
for peer in meta['peer_source_adapters']:
|
| 82 |
+
if peer['task'] == task:
|
| 83 |
+
peer_dir = repo
|
| 84 |
+
elif args.peer_root is not None:
|
| 85 |
+
peer_dir = args.peer_root / peer['repo_id'].split('/')[-1]
|
| 86 |
+
else:
|
| 87 |
+
from huggingface_hub import snapshot_download
|
| 88 |
+
peer_dir = Path(snapshot_download(peer['repo_id'], allow_patterns=['adapter*', 'tokenizer*', 'chat_template*', 'special_tokens_map.json', 'publication.json']))
|
| 89 |
+
assert sha256(peer_dir / 'adapter_model.safetensors') == peer['weights_sha256'], f'Peer adapter mismatch: {peer["repo_id"]}'
|
| 90 |
+
cfg['checkpoints'].append({'base': meta['base'], 'train_task': peer['task'], 'lora': str(peer_dir)})
|
| 91 |
+
config = Path(temporary) / 'task.json'
|
| 92 |
+
config.write_text(json.dumps(cfg))
|
| 93 |
+
if args.action == 'build-hns':
|
| 94 |
+
command = [sys.executable, str(source / 'scripts/build_hns_step_grid_2x4.py'), '--task_config', str(config),
|
| 95 |
+
'--grid_config', str(repo / 'hns/grid_config.json'), '--base', meta['base'], '--output_dir', str(args.output_dir), '--device', 'cuda']
|
| 96 |
+
subprocess.run(command, env=env, check=True)
|
| 97 |
+
else:
|
| 98 |
+
if args.grid_dir is None:
|
| 99 |
+
parser.error('evaluate requires --grid-dir')
|
| 100 |
+
manifest = args.grid_dir / meta['base'] / 'variant_manifest.json'
|
| 101 |
+
for script, flags in [
|
| 102 |
+
('eval_forgetting_matrix_vllm.py', ['--base_model', str(base), '--variant_manifest', str(manifest), '--config', str(config),
|
| 103 |
+
'--output_dir', str(args.output_dir), '--tasks', task, '--diagonal_only', '--max_model_len', '4096', '--gpu_memory_utilization', '0.94',
|
| 104 |
+
'--max_num_seqs', '1024', '--max_num_batched_tokens', str(args.token_budget or meta['inference']['max_num_batched_tokens']),
|
| 105 |
+
'--adapter_block_size', '11', '--max_lora_rank', '16', '--prompt_chunk_short', '4096', '--prompt_chunk_long', '512', '--seed', '42']),
|
| 106 |
+
('score_forgetting_matrix.py', ['--matrix_dir', str(args.output_dir), '--workers', '32']),
|
| 107 |
+
]:
|
| 108 |
+
subprocess.run([sys.executable, str(source / 'scripts' / script), *flags], env=env, check=True)
|
| 109 |
+
|
| 110 |
+
|
| 111 |
+
if __name__ == '__main__':
|
| 112 |
+
main()
|
code/source_files_sha256.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"src/finetune/__init__.py": "f030efab43de6fffe519572eae197852f8ab29b3a583095ea198ade243a961de",
|
| 3 |
+
"src/finetune/data/__init__.py": "f030efab43de6fffe519572eae197852f8ab29b3a583095ea198ade243a961de",
|
| 4 |
+
"src/finetune/data/base.py": "f32a663b0454f137950b4a7587010a634fc4021967bc0e61a33fd5153e61eb3a",
|
| 5 |
+
"src/finetune/data/chat_sft.py": "46fb8505c1c81d95536350a0078e6c142aa21f0e5e708b11585bdac03151c757",
|
| 6 |
+
"src/finetune/data/code_magicoder.py": "8db7196e462777b249d77959c67e1c4f09b5f2560a1b633accfa61af93c56e7f",
|
| 7 |
+
"src/finetune/data/commonsense170k.py": "5979dbff52088a18ab9e543a7eb46968e51ea8be2a52c3f680c5700ed9f71f83",
|
| 8 |
+
"src/finetune/data/csqa.py": "3313517b4cdf5afe519ad0fdbbc739c468d826ac6d0ae13fcfb74d1ac6063db1",
|
| 9 |
+
"src/finetune/data/general_alpaca.py": "2268d74f5fd449ed2df227f0847e4076d7875338913062e601bd1a0aeb3bc559",
|
| 10 |
+
"src/finetune/data/instruction_following_tulu.py": "fcbbba9cc5c7382d74b1afb6cd7f3f4feceb2c8558fbb0e291a0b2ebbfd4b445",
|
| 11 |
+
"src/finetune/data/math_metamathqa.py": "264e5882f197872cece419ebc44e2e908ab6d09bf79ff61c370d8c96c3a699d9",
|
| 12 |
+
"src/finetune/data/plain_sft.py": "60fcd7419294ed2eeb59532f6e848677ee526ab1f28b48de1e70d7a4992e5bd2",
|
| 13 |
+
"src/finetune/data/registry.py": "07fb25f70c2273f3e29f36bbed424937ad7470e9275dd05ce8438ee549ade671",
|
| 14 |
+
"src/finetune/eval/__init__.py": "b5fda683ae902d735af7e1a8a240567721506e043366a82ee00ebf2235e1b48e",
|
| 15 |
+
"src/finetune/eval/eval_csqa.py": "d8bb223d428900056f71f5315f2ac9beba7584dbdee191cb7b0fefc085ae3fa9",
|
| 16 |
+
"src/finetune/eval/eval_gsm8k.py": "ed95442c30536ac4ba90b5a2806d764cea8f8eb38c6879af2c0dd7b2c54dd335",
|
| 17 |
+
"src/finetune/eval/eval_humaneval.py": "babd571e6eb7af395281506db836e478ac1a32d6fc738a22051222009eea520e",
|
| 18 |
+
"src/finetune/eval/eval_ifbench.py": "4e65caf306cc16cf5962c5d7698a66faf9f2fbce2e4fb06d5180cd91b708e4d4",
|
| 19 |
+
"src/finetune/eval/eval_ifeval.py": "1af1ef7f6c8b38d91dd94bbbc4a0b373ed76a3186899197d1f3c046afd987ef0",
|
| 20 |
+
"src/finetune/eval/eval_mbpp.py": "bd597dc5b3b39a600fb8a498d30c1c1221dfb1fc48aefccd3d57d8a46ff5bb14",
|
| 21 |
+
"src/finetune/eval/generation.py": "bba4a24e4e5808f2abe74749a6f571a5aa1c7f27a03b9df2132ec835afbca075",
|
| 22 |
+
"src/finetune/eval/test_time_hns.py": "0084a6db6aef63aee63bce2471dbc3a8360e3d0aaa79e66651e2cd0925b2d36f",
|
| 23 |
+
"src/finetune/eval/vllm_utils.py": "5327e151f95281ec03b3c46bd4ba2d1f2c9250733fc0632a6e7bcb702048e500",
|
| 24 |
+
"src/finetune/peft_builders.py": "f078f271f90016786a37e02523b0d42c8c3fef2509aeacb93e18c3f057517a59",
|
| 25 |
+
"src/finetune/spectral_edit/__init__.py": "d6c9a8477c452768d4ec131db4b2482857a2e76f398cacec1a9343b7be902339",
|
| 26 |
+
"src/finetune/spectral_edit/ablations.py": "f488a31e0f8dde6d55bf24fc28585453e2d877f2221e3182e30fd54324683813",
|
| 27 |
+
"src/finetune/spectral_edit/calib.py": "6f3b52dd2eb831febacd50b39b4c653e7dbdb5704d1420113fc3fc63ff55ca2c",
|
| 28 |
+
"src/finetune/spectral_edit/cli.py": "cd8f140f626ce4e724f78e8448056290e467560ba0d305cf932aa31b2a7042e0",
|
| 29 |
+
"src/finetune/spectral_edit/edit_strategies.py": "bffb4aaa044f27a9e38718a832c30b93e29247ec71f267561c98ceb5c3acf2b9",
|
| 30 |
+
"src/finetune/spectral_edit/hooks.py": "9a7ca717caca6165568639ed221dc258a9efd3b95adca96587808a36ce6b8b22",
|
| 31 |
+
"src/finetune/spectral_edit/io.py": "296712529479318a67588f22052ea8587ed57d55371b6cd76918244d5749c5ea",
|
| 32 |
+
"src/finetune/spectral_edit/mechanism.py": "fb8487943478f124437cef8f3cf7cb013d6ed343fdc3e41816a1feb9e4a38854",
|
| 33 |
+
"src/finetune/spectral_edit/module_selection.py": "e11bce3cb632e16a3ae952cd4192b2517b12827396310d1cf58051e0f3e18e58",
|
| 34 |
+
"src/finetune/spectral_edit/posthoc_hns.py": "a9351267929f16efd5b511801c3b2128b3b213414053050636a6eb492cd62206",
|
| 35 |
+
"src/finetune/spectral_edit/runtime.py": "bf4b432df804cae4c24b1a5bc4941c034eb0006c0c7fd7b0cb8d3c25416e0a90",
|
| 36 |
+
"src/finetune/spectral_edit/svd.py": "606213fb325cd09d012f02e05adb269b0d8f1f92c6ccfef21fa7a409c82f9ce2",
|
| 37 |
+
"src/finetune/sweep/__init__.py": "f030efab43de6fffe519572eae197852f8ab29b3a583095ea198ade243a961de",
|
| 38 |
+
"src/finetune/sweep/make_grid.py": "5c38b8c9ed732049b066387b761a34df7cadc791d2314b83d5c149f8aa700bd2",
|
| 39 |
+
"src/finetune/sweep/run_grid.py": "4329a917f51e6768b057b48324df8211f45e92aef62428869def80f3f757702d",
|
| 40 |
+
"src/finetune/sweep/summarize_configs.py": "cfa5dc21d2574fe430a5a42396183e70fcfc0a4f80bcb201b8f245ae4ab3db1d",
|
| 41 |
+
"src/finetune/train_profiles.py": "637dd9076159c5c9662faa08842312c74959250a2018acb5cb11fa01e0ea9880",
|
| 42 |
+
"src/finetune/train_sft_peft.py": "460aa2198f17c6569b5f6eeaf8938381f0bc09b8233b42ac056b55ece77464d0",
|
| 43 |
+
"src/finetune/utils.py": "f9534ac44a2b90c8651b6d84089022a18ab331bd4c6c6c425013c58f5449207b",
|
| 44 |
+
"scripts/build_hns_step_grid_2x4.py": "99262fb3196cdc74060def60f42ddb89167d00ddb83aec3e61c9c6c8188de5e4",
|
| 45 |
+
"scripts/eval_forgetting_matrix_vllm.py": "46d57d067d0cdb68f3fda87269cfb9cf0895a1fa82051c5021fdad0da3a7c061",
|
| 46 |
+
"scripts/score_forgetting_matrix.py": "a172270a8d115d2f06863a0d181a784756412747a45e9dc02dd71d0f95de5bf5",
|
| 47 |
+
"scripts/eval_commonsense_8tasks.py": "0eb3dfbbccabdc97e4cdcc7c575756f5eb5db963ea0cf9427a1ff3e25c15334e",
|
| 48 |
+
"pyproject.toml": "f032a2b5e3fdd471e71cb69a4de96ccb1abf8e48b5607eb1cd0aa231df8c2335",
|
| 49 |
+
"README.md": "9233aff690c79bc5fb47317fd5e5d753e730997943e4e8391b3d60b4cd224648"
|
| 50 |
+
}
|
code/source_snapshot.tar.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2c6035e0feafb9c18eb74ad1ccb905d16832f900d03c15f4b79f86e37949de28
|
| 3 |
+
size 107620
|
comparison/configuration_audit.md
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 三个训练运行的本任务结果与配置审计
|
| 2 |
+
|
| 3 |
+
日期:2026-09-13。成绩单位均为百分比。原始 checkpoint 使用 2026-09-12 release 的统一实现 step-grid 成绩,不混入 Hugging Face 模型卡中的旧评测成绩。43/44 使用已完成的 hns_step_grid/eval,不使用正在运行的遗忘评测。
|
| 4 |
+
|
| 5 |
+
发布前二次审计更正:下表 Warmup 是 CLI 请求比例,不是实际生效值。12 次新增运行保存的 training_args.json 均为 warmup_steps=0,且无 warmup_ratio;Transformers 5.16.1 的 TrainingArguments 接口不接受 warmup_ratio,训练脚本按签名过滤参数时丢弃该请求。因此这些训练实际没有 warmup,这是与原始 recipe 的额外差异。Magicoder 50K 为截断过滤前样本数,实际训练 Qwen 49,936 / Llama 49,941;实际更新步数分别为 Magicoder 1561、Qwen MetaMath 4689、Llama MetaMath 198、Tulu 470。
|
| 6 |
+
|
| 7 |
+
“42(原始)”是原始运行的归档标签;Qwen Magicoder/MetaMath/Tulu 和 Llama Tulu 的本地卡片/参数支持 seed42,Llama Magicoder/MetaMath 的完整原始 seed/Trainer 参数尚未在本次审计中核实。不能只用推理 seed42 推断训练 seed42。
|
| 8 |
+
|
| 9 |
+
0+0 为 SVD 重构控制;其余为 all-module HNS,保留核范数、strength=1、输出 rank16。— 表示没有新增对应训练 checkpoint,不是零分。
|
| 10 |
+
|
| 11 |
+
## 完整大表
|
| 12 |
+
|
| 13 |
+
| 模型 | 本任务基准 | Training seed | LoRA | 0+0 | 2+0 | 2+1 | 2+2 | 4+0 | 4+1 | 4+2 | 8+0 | 8+1 | 8+2 |
|
| 14 |
+
|---|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
|
| 15 |
+
| Qwen3-8B | HumanEval | 42(原始) | 66.46 | 67.68 | 75.61 | 74.39 | 76.22 | 74.39 | 75.00 | 75.61 | 75.00 | 75.00 | 75.61 |
|
| 16 |
+
| Qwen3-8B | HumanEval | 43 | 62.80 | 64.02 | 74.39 | 75.00 | 74.39 | 73.78 | 74.39 | 75.61 | 73.78 | 75.61 | 75.61 |
|
| 17 |
+
| Qwen3-8B | HumanEval | 44 | 64.63 | 64.63 | 72.56 | 72.56 | 73.17 | 72.56 | 74.39 | 73.78 | 76.22 | 73.78 | 75.00 |
|
| 18 |
+
| Qwen3-8B | GSM8K | 42(原始) | 84.15 | 84.53 | 88.25 | 88.25 | 88.25 | 88.25 | 88.02 | 88.17 | 88.40 | 88.55 | 88.48 |
|
| 19 |
+
| Qwen3-8B | GSM8K | 43 | 84.00 | 83.93 | 87.41 | 87.72 | 86.96 | 87.19 | 86.81 | 87.19 | 87.11 | 87.19 | 87.11 |
|
| 20 |
+
| Qwen3-8B | GSM8K | 44 | 84.00 | 84.08 | 87.49 | 88.02 | 87.57 | 87.49 | 87.41 | 87.26 | 87.72 | 87.87 | 87.57 |
|
| 21 |
+
| Qwen3-8B | IFEval | 42(原始) | 67.65 | 67.65 | 70.06 | 70.79 | 70.06 | 71.35 | 70.24 | 70.43 | 70.61 | 70.43 | 68.95 |
|
| 22 |
+
| Qwen3-8B | IFEval | 43 | 66.17 | 68.58 | 72.64 | 73.38 | 72.46 | 72.46 | 72.46 | 71.72 | 71.35 | 73.20 | 71.90 |
|
| 23 |
+
| Qwen3-8B | IFEval | 44 | 66.91 | 67.84 | 71.16 | 71.16 | 71.72 | 72.46 | 70.98 | 71.53 | 70.43 | 72.09 | 70.98 |
|
| 24 |
+
| Qwen3-8B | Commonsense-8 | 42(原始) | 90.79 | 90.79 | 90.23 | 90.30 | 90.30 | 90.31 | 90.32 | 90.27 | 90.30 | 90.26 | 90.27 |
|
| 25 |
+
| Qwen3-8B | Commonsense-8 | 43 | — | — | — | — | — | — | — | — | — | — | — |
|
| 26 |
+
| Qwen3-8B | Commonsense-8 | 44 | — | — | — | — | — | — | — | — | — | — | — |
|
| 27 |
+
| Llama-3.1-8B-Instruct | HumanEval | 42(原始) | 53.66 | 54.27 | 53.66 | 54.27 | 53.66 | 53.66 | 54.88 | 53.66 | 54.27 | 54.88 | 53.66 |
|
| 28 |
+
| Llama-3.1-8B-Instruct | HumanEval | 43 | 55.49 | 55.49 | 57.93 | 57.93 | 56.71 | 55.49 | 55.49 | 54.88 | 54.88 | 56.10 | 54.27 |
|
| 29 |
+
| Llama-3.1-8B-Instruct | HumanEval | 44 | 53.66 | 54.88 | 54.88 | 53.66 | 55.49 | 54.27 | 53.66 | 54.88 | 56.71 | 53.66 | 55.49 |
|
| 30 |
+
| Llama-3.1-8B-Instruct | GSM8K | 42(原始) | 77.10 | 77.33 | 80.89 | 80.82 | 80.29 | 80.89 | 80.67 | 81.05 | 80.67 | 80.14 | 80.82 |
|
| 31 |
+
| Llama-3.1-8B-Instruct | GSM8K | 43 | 75.36 | 75.21 | 79.15 | 78.47 | 77.94 | 79.15 | 78.39 | 78.62 | 79.30 | 78.32 | 78.32 |
|
| 32 |
+
| Llama-3.1-8B-Instruct | GSM8K | 44 | 74.60 | 75.21 | 79.15 | 78.85 | 77.63 | 79.15 | 79.15 | 77.94 | 79.30 | 78.85 | 78.85 |
|
| 33 |
+
| Llama-3.1-8B-Instruct | IFEval | 42(原始) | 63.22 | 63.59 | 65.06 | 65.06 | 64.51 | 65.43 | 64.88 | 65.06 | 64.70 | 64.33 | 65.25 |
|
| 34 |
+
| Llama-3.1-8B-Instruct | IFEval | 43 | 62.85 | 63.96 | 65.25 | 64.70 | 63.03 | 63.03 | 65.25 | 62.11 | 63.77 | 63.59 | 63.59 |
|
| 35 |
+
| Llama-3.1-8B-Instruct | IFEval | 44 | 63.03 | 65.06 | 63.96 | 63.59 | 63.96 | 64.14 | 64.88 | 63.96 | 64.70 | 64.51 | 65.25 |
|
| 36 |
+
| Llama-3.1-8B-Instruct | Commonsense-8 | 42(原始) | 87.96 | 87.95 | 87.41 | 87.56 | 87.58 | 87.52 | 87.52 | 87.53 | 87.46 | 87.66 | 87.58 |
|
| 37 |
+
| Llama-3.1-8B-Instruct | Commonsense-8 | 43 | — | — | — | — | — | — | — | — | — | — | — |
|
| 38 |
+
| Llama-3.1-8B-Instruct | Commonsense-8 | 44 | — | — | — | — | — | — | — | — | — | — | — |
|
| 39 |
+
|
| 40 |
+
## 新增 seeds43/44 的实际保存训练参数
|
| 41 |
+
|
| 42 |
+
已逐项比较六组 run_args.json:43/44 除 seed、输出路径外无差异。每个训练任务单 GPU;下表 micro × accumulation = global batch。
|
| 43 |
+
|
| 44 |
+
| 模型 | 训练任务 | 样本(截断过滤前) | Epoch | 最大序列长 | Micro × 累积 = Global batch | LR | Warmup 请求值(实际均0) | Scheduler | Adam β2 |
|
| 45 |
+
|---|---|---:|---:|---:|---|---|---:|---|---:|
|
| 46 |
+
| Qwen3-8B | Magicoder | 50K | 1 | 4096 | 16 × 2 = 32 | 2e-5 | 0.05 | cosine | 0.999 |
|
| 47 |
+
| Qwen3-8B | MetaMath | 50K | 3 | 4096 | 16 × 2 = 32 | 1e-4 | 0.05 | cosine | 0.999 |
|
| 48 |
+
| Qwen3-8B | Tulu | 全量 29,980 | 2 | 4096 | 16 × 8 = 128 | 4e-4 | 0.03 | cosine | 0.999 |
|
| 49 |
+
| Llama-3.1-8B-Instruct | Magicoder | 50K | 1 | 4096 | 16 × 2 = 32 | 2e-5 | 0.05 | cosine | 0.999 |
|
| 50 |
+
| Llama-3.1-8B-Instruct | MetaMath | 50K | 3 | 1024 | 64 × 12 = 768 | 1e-4 | 0.10 | cosine_with_min_lr | 0.95 |
|
| 51 |
+
| Llama-3.1-8B-Instruct | Tulu | 全量 29,980 | 2 | 1024 | 64 × 2 = 128 | 2e-4 | 0.10 | cosine_with_min_lr | 0.95 |
|
| 52 |
+
|
| 53 |
+
公共设置:LoRA r16/alpha32/dropout0.05/all-linear;bf16、gradient checkpointing、weight_decay0、grad_clip1、Adam β1=0.9、padding multiple8。Llama 数学/指令 minimum LR ratio=0.01。聊天 SFT,Qwen non_thinking,Llama auto。固定数据子集 seed42;新增全局训练 seed 与 Trainer data_seed 均为43/44。
|
| 54 |
+
|
| 55 |
+
## 与原始运行的差异及证据边界
|
| 56 |
+
|
| 57 |
+
| 模型/任务 | 原始记录能支持的配置 | 新增运行的差异 / 未核实项 |
|
| 58 |
+
|---|---|---|
|
| 59 |
+
| Qwen / Magicoder | 模型卡:50K、epoch1、seq4096、GBS32、LR2e-5、r16、seed42 | 上述主要参数保留;原始 micro-batch、warmup、β、padding 和完整 Trainer 配置未由本次找到的卡片证明一致 |
|
| 60 |
+
| Qwen / MetaMath | run_args.json:50K、3ep、seq4096、GBS32、LR1e-4、warmup0.05、cosine、β2=.999、micro1/累积32、dataset_seed42 | 新增 micro16/累积2;padding8;原始数据文件 JSON、新增本地 parquet,子集身份尚未逐项核对;训练 seed42→43/44 |
|
| 61 |
+
| Qwen / Tulu | run_args.json:2ep、seq4096、GBS128、LR4e-4、warmup0.03、cosine、β2=.999、micro1/累积128;run_config:29,980 条 | 新增 micro16/累积8;padding8;数据路径不同,逐条身份尚未核对;训练 seed42→43/44 |
|
| 62 |
+
| Llama / Magicoder | 本地源 HNS8p2 模型卡:50K、源epoch1、seq4096、GBS32、LR2e-5、r16/alpha32 | 主要记录参数保留;原始 micro-batch、warmup、β2、dropout、训练框架与完整 seed 设置未在本次卡片审计中证明一致 |
|
| 63 |
+
| Llama / MetaMath | LoRA 模型卡仅给出 MetaMath 50K、r16 | 新增使用仓库 Llama-matching math profile:3ep、seq1024、GBS768、LR1e-4 等;与原始全部参数是否一致仍未知,不能将 profile 当作原始运行日志 |
|
| 64 |
+
| Llama / Tulu | LoRA 模型卡明确 seq1024、GBS128、r16、seed42 | 新增保留上述参数;2ep、LR2e-4、warmup.1、β2=.95 等来自仓库 profile,原始未完整核实 |
|
| 65 |
+
|
| 66 |
+
micro-batch 和梯度累积改变,即使 global batch 不变,也可能因可变长度样本的 loss 加权、dropout RNG 消耗及数值舍入产生差异。保持 dataset_seed 并不自动证明不同数据文件产生相同子集。
|
| 67 |
+
|
| 68 |
+
原始 TrainingArguments seed/data_seed 未完整核实;新增运行显式传入二者。不要把“默认可能是42”写成对所有旧 checkpoint 的事实审计结论。
|
| 69 |
+
|
| 70 |
+
## 评测配置差异
|
| 71 |
+
|
| 72 |
+
三组均取统一 step-grid 的 greedy 主指标:HumanEval pass@1(164)、GSM8K strict accuracy(1319)、IFEval prompt strict(541)。不是每个 checkpoint 评测三次,而是三个训练运行各评测一次。
|
| 73 |
+
|
| 74 |
+
- 原始 release 的最终稳定推理 token budget=65,536。新增 Qwen43/44 与 Llama44 为65,536;Llama43 沿用先前成功完成的131,072配置。新增 max_num_seqs=1024。
|
| 75 |
+
- Base 是不经过训练的参考,不应作为独立 training seed 成绩。Llama IFEval Base 在新增两组间差一个正确 prompt,推理的逐条完全一致性未建立。
|
| 76 |
+
- 模型卡的旧成绩与 release 中的统一重评成绩不同,例如 Qwen Magicoder LoRA 卡片67.07、这里66.46。不能择优混用不同评测协议/实现的结果。
|
| 77 |
+
|
| 78 |
+
## 统计使用建议
|
| 79 |
+
|
| 80 |
+
保留本表逐运行分数,seeds43/44 可按同一新增配置报告 mean ± sample SD;原始42单列为历史参考。当前不应将三组均值/标准差宣称为严格同配置的三-training-seed 稳健性结果。SD 不是 CI;训练 seed 重复和 item-level paired bootstrap CI 回答不同问题。
|
| 81 |
+
|
| 82 |
+
## 可追溯数据
|
| 83 |
+
|
| 84 |
+
- 原始:reports/hns_release_20260912/data/step_grid/manifests/{qwen3_8b,llama31_8b}_score_manifest.json。
|
| 85 |
+
- 新增:/dataset1/zailong/runs/peft-sft-lab/hns-training-seeds-3task-20260912/<base>/seed<43|44>/hns_step_grid/eval/score_manifest.json。
|
| 86 |
+
- 新增训练参数:同一 seed 目录 lora/<task>/run_args.json、training_args.bin。
|
| 87 |
+
- 原始配置证据:/dataset1/zailong/models/spectral-surgery/ 对应 LoRA 的 run_args.json/run_config.json/README.md;Llama Magicoder 本次使用对应源 HNS8p2 README 的 Training 部分。
|
| 88 |
+
- 表格重建:scripts/summarize_hns_three_seed_diagonal.py。
|
comparison/three_run_scores.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"model": "Qwen3-8B",
|
| 4 |
+
"task": "magicoder",
|
| 5 |
+
"benchmark": "HumanEval",
|
| 6 |
+
"seed": 42,
|
| 7 |
+
"LoRA": 66.46341463414635,
|
| 8 |
+
"0+0": 67.6829268292683,
|
| 9 |
+
"2+0": 75.60975609756098,
|
| 10 |
+
"2+1": 74.39024390243902,
|
| 11 |
+
"2+2": 76.21951219512195,
|
| 12 |
+
"4+0": 74.39024390243902,
|
| 13 |
+
"4+1": 75.0,
|
| 14 |
+
"4+2": 75.60975609756098,
|
| 15 |
+
"8+0": 75.0,
|
| 16 |
+
"8+1": 75.0,
|
| 17 |
+
"8+2": 75.60975609756098
|
| 18 |
+
},
|
| 19 |
+
{
|
| 20 |
+
"model": "Qwen3-8B",
|
| 21 |
+
"task": "magicoder",
|
| 22 |
+
"benchmark": "HumanEval",
|
| 23 |
+
"seed": 43,
|
| 24 |
+
"LoRA": 62.80487804878049,
|
| 25 |
+
"0+0": 64.02439024390245,
|
| 26 |
+
"2+0": 74.39024390243902,
|
| 27 |
+
"2+1": 75.0,
|
| 28 |
+
"2+2": 74.39024390243902,
|
| 29 |
+
"4+0": 73.78048780487805,
|
| 30 |
+
"4+1": 74.39024390243902,
|
| 31 |
+
"4+2": 75.60975609756098,
|
| 32 |
+
"8+0": 73.78048780487805,
|
| 33 |
+
"8+1": 75.60975609756098,
|
| 34 |
+
"8+2": 75.60975609756098
|
| 35 |
+
},
|
| 36 |
+
{
|
| 37 |
+
"model": "Qwen3-8B",
|
| 38 |
+
"task": "magicoder",
|
| 39 |
+
"benchmark": "HumanEval",
|
| 40 |
+
"seed": 44,
|
| 41 |
+
"LoRA": 64.63414634146342,
|
| 42 |
+
"0+0": 64.63414634146342,
|
| 43 |
+
"2+0": 72.5609756097561,
|
| 44 |
+
"2+1": 72.5609756097561,
|
| 45 |
+
"2+2": 73.17073170731707,
|
| 46 |
+
"4+0": 72.5609756097561,
|
| 47 |
+
"4+1": 74.39024390243902,
|
| 48 |
+
"4+2": 73.78048780487805,
|
| 49 |
+
"8+0": 76.21951219512195,
|
| 50 |
+
"8+1": 73.78048780487805,
|
| 51 |
+
"8+2": 75.0
|
| 52 |
+
}
|
| 53 |
+
]
|
data/dataset_provenance.json
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"dataset_id": "ise-uiuc/Magicoder-Evol-Instruct-110K",
|
| 3 |
+
"filename": "magicoder-train.parquet",
|
| 4 |
+
"file_sha256": "ff1dda789a725a9b8840f63aa9956bcff397b8dc4311cfc98aaa2c11ba0ed0ca",
|
| 5 |
+
"source_rows": 111183,
|
| 6 |
+
"upstream_revision": null,
|
| 7 |
+
"selected_index_semantics": "zero-based original parquet row index, before truncation filtering"
|
| 8 |
+
}
|
data/selected_source_indices.json.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:e798fddd6739ebbc00ac62137021d08417a959720737fc5c9ad2c7f4c8d66ac4
|
| 3 |
+
size 144700
|
evaluation/benchmark_input/humaneval-test.parquet
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3bea46a554c67c5d2915e2db7d97d7733f09140e7a1776428c1b20b5ae5d124b
|
| 3 |
+
size 80726
|
evaluation/benchmark_provenance.json
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"filename": "humaneval-test.parquet",
|
| 3 |
+
"sha256": "3bea46a554c67c5d2915e2db7d97d7733f09140e7a1776428c1b20b5ae5d124b",
|
| 4 |
+
"task": "magicoder",
|
| 5 |
+
"evaluation_spec": {
|
| 6 |
+
"benchmark": "HumanEval",
|
| 7 |
+
"dataset": "<LOCAL_PATH>/humaneval-test.parquet",
|
| 8 |
+
"samples": 164,
|
| 9 |
+
"primary_metric": "pass@1",
|
| 10 |
+
"max_new_tokens": 512
|
| 11 |
+
},
|
| 12 |
+
"provenance_note": "GSM8K/IFEval local inputs were reconstructed from historical scored outputs; HumanEval is local test parquet."
|
| 13 |
+
}
|
evaluation/generation_manifest.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "generation_complete",
|
| 3 |
+
"base_model": "<LOCAL_PATH>/Qwen3-8B",
|
| 4 |
+
"variant_manifest": "<LOCAL_PATH>/variant_manifest.json",
|
| 5 |
+
"variant_order": [
|
| 6 |
+
"magicoder__original_lora",
|
| 7 |
+
"magicoder__hns_f0_s0",
|
| 8 |
+
"magicoder__hns_f2_s0",
|
| 9 |
+
"magicoder__hns_f2_s1",
|
| 10 |
+
"magicoder__hns_f2_s2",
|
| 11 |
+
"magicoder__hns_f4_s0",
|
| 12 |
+
"magicoder__hns_f4_s1",
|
| 13 |
+
"magicoder__hns_f4_s2",
|
| 14 |
+
"magicoder__hns_f8_s0",
|
| 15 |
+
"magicoder__hns_f8_s1",
|
| 16 |
+
"magicoder__hns_f8_s2",
|
| 17 |
+
"metamath__original_lora",
|
| 18 |
+
"metamath__hns_f0_s0",
|
| 19 |
+
"metamath__hns_f2_s0",
|
| 20 |
+
"metamath__hns_f2_s1",
|
| 21 |
+
"metamath__hns_f2_s2",
|
| 22 |
+
"metamath__hns_f4_s0",
|
| 23 |
+
"metamath__hns_f4_s1",
|
| 24 |
+
"metamath__hns_f4_s2",
|
| 25 |
+
"metamath__hns_f8_s0",
|
| 26 |
+
"metamath__hns_f8_s1",
|
| 27 |
+
"metamath__hns_f8_s2",
|
| 28 |
+
"tulu__original_lora",
|
| 29 |
+
"tulu__hns_f0_s0",
|
| 30 |
+
"tulu__hns_f2_s0",
|
| 31 |
+
"tulu__hns_f2_s1",
|
| 32 |
+
"tulu__hns_f2_s2",
|
| 33 |
+
"tulu__hns_f4_s0",
|
| 34 |
+
"tulu__hns_f4_s1",
|
| 35 |
+
"tulu__hns_f4_s2",
|
| 36 |
+
"tulu__hns_f8_s0",
|
| 37 |
+
"tulu__hns_f8_s1",
|
| 38 |
+
"tulu__hns_f8_s2"
|
| 39 |
+
],
|
| 40 |
+
"tasks": [
|
| 41 |
+
{
|
| 42 |
+
"task": "magicoder",
|
| 43 |
+
"samples": 164,
|
| 44 |
+
"max_tokens": 512
|
| 45 |
+
},
|
| 46 |
+
{
|
| 47 |
+
"task": "metamath",
|
| 48 |
+
"samples": 1319,
|
| 49 |
+
"max_tokens": 512
|
| 50 |
+
},
|
| 51 |
+
{
|
| 52 |
+
"task": "tulu",
|
| 53 |
+
"samples": 541,
|
| 54 |
+
"max_tokens": 2048
|
| 55 |
+
}
|
| 56 |
+
],
|
| 57 |
+
"configuration": {
|
| 58 |
+
"vllm_batch_invariant": "1",
|
| 59 |
+
"gpu_memory_utilization": 0.94,
|
| 60 |
+
"max_num_seqs": 1024,
|
| 61 |
+
"max_num_batched_tokens": 65536,
|
| 62 |
+
"adapter_block_size": 11,
|
| 63 |
+
"seed": 42
|
| 64 |
+
}
|
| 65 |
+
}
|
evaluation/items/base/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bc4f7bfa4ffea338e8536fa693612d874bf2d5788ce5f727519a88eb3d825ad7
|
| 3 |
+
size 49588
|
evaluation/items/base/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:89fb691393ec184b9c980cc2472f05d093534731cf728fab978e676262120f35
|
| 3 |
+
size 52121
|
evaluation/items/magicoder__hns_f0_s0/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7513025fb68ac76b34f5ce9c5a5c85784a8b33172f9f725f95cd1bba0236f26d
|
| 3 |
+
size 46361
|
evaluation/items/magicoder__hns_f0_s0/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:24cd70cac8e2b07f49ba07435fa58f55210fc207c076a7b928894c1fc22de1c1
|
| 3 |
+
size 49126
|
evaluation/items/magicoder__hns_f2_s0/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:70f04ac0455f5e30e621a86f64294e1e2ab23efc324a3453d2d1f56b13a61513
|
| 3 |
+
size 47133
|
evaluation/items/magicoder__hns_f2_s0/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:bc00f33297cdb95d042135ae43946f889f1c32aee00afc77988a3f6e526efe13
|
| 3 |
+
size 49727
|
evaluation/items/magicoder__hns_f2_s1/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:368b235fc1b50afa1cf261b79d3f750be162c73c50dff9195fae8705bfd5c33f
|
| 3 |
+
size 47415
|
evaluation/items/magicoder__hns_f2_s1/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:d5042a7f265c67b04b05215321f33d6108a62c5a5a2271994b98270801993b84
|
| 3 |
+
size 50059
|
evaluation/items/magicoder__hns_f2_s2/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:73cab3aeb10de5a7564fd0369f5942b116f030b223c223d0f7dbcd019296655a
|
| 3 |
+
size 47314
|
evaluation/items/magicoder__hns_f2_s2/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4a7c94c685257a9cd5db106291bd240c59d72390aa661f85f7888dea7cb6b4c3
|
| 3 |
+
size 49952
|
evaluation/items/magicoder__hns_f4_s0/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:60e4eb9bb389dc55ce4ff5aa055946d97cdd713834ad12cccba30f50fe974073
|
| 3 |
+
size 47528
|
evaluation/items/magicoder__hns_f4_s0/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0b3d2b741f38c71ffb67de3c98897e35b3812ac863c729b6c2c5431129f8c931
|
| 3 |
+
size 50163
|
evaluation/items/magicoder__hns_f4_s1/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:7ab445c27d7d9559b4a04e00f6b90cb45f1291617409cd0abdc3f2f78843369c
|
| 3 |
+
size 47557
|
evaluation/items/magicoder__hns_f4_s1/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c5d94b35cb6cd676076829fc423186bdc3e96056e3906a3eb3c560d6af0cf2e0
|
| 3 |
+
size 50145
|
evaluation/items/magicoder__hns_f4_s2/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ab98fc7d8fe69daf54f83ffa1395128c14b639017eb13d6743662f7f5e0d096c
|
| 3 |
+
size 47471
|
evaluation/items/magicoder__hns_f4_s2/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3f6fb3596f2d76cd94c9a2fbe9326d88a28698bc45fd3782301b21e8c01d9e05
|
| 3 |
+
size 50087
|
evaluation/items/magicoder__hns_f8_s0/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:5ac4a9a2cb167ed3034fdfd310f1d09178a5e745a6e10913602875572bd715fd
|
| 3 |
+
size 47370
|
evaluation/items/magicoder__hns_f8_s0/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1ae0947fa429425cc8afd3bc22aa8a721d93ea8b3cca1080a829fa16da242656
|
| 3 |
+
size 49893
|
evaluation/items/magicoder__hns_f8_s1/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:ee86fef92542667cd650ad6e3694e97dd64cc0760e96ed86d8957debf53f79d1
|
| 3 |
+
size 47741
|
evaluation/items/magicoder__hns_f8_s1/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:01594ace5342fd22d98e016f21d4241f0a9c0bb9d3a83d5844d7764086ec8a25
|
| 3 |
+
size 50343
|
evaluation/items/magicoder__hns_f8_s2/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0e321fafdc0cc8625c0cae5500eb52071f7be738e7f854203a9605b2c43bf124
|
| 3 |
+
size 47506
|
evaluation/items/magicoder__hns_f8_s2/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6cd7e900047342a11edabc356a5af796eae9153b8b840d3e9ca75763587078e0
|
| 3 |
+
size 50125
|
evaluation/items/magicoder__original_lora/predictions.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:234ab371674ce568b51ccf81543bb3ba33a4d956beefa79985085293da789030
|
| 3 |
+
size 46322
|
evaluation/items/magicoder__original_lora/scored.jsonl.gz
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b4b7f3543fd399781fb2797d5bd8b2e3c2fa2806fee5457e9ff95c6e757dd077
|
| 3 |
+
size 49097
|
evaluation/results.json
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[
|
| 2 |
+
{
|
| 3 |
+
"task": "magicoder",
|
| 4 |
+
"variant": "base",
|
| 5 |
+
"samples": 164,
|
| 6 |
+
"primary_metric": "pass_at_1",
|
| 7 |
+
"pass_at_1": 0.6646341463414634,
|
| 8 |
+
"correct": 109,
|
| 9 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 10 |
+
},
|
| 11 |
+
{
|
| 12 |
+
"task": "magicoder",
|
| 13 |
+
"variant": "magicoder__hns_f0_s0",
|
| 14 |
+
"samples": 164,
|
| 15 |
+
"primary_metric": "pass_at_1",
|
| 16 |
+
"pass_at_1": 0.6463414634146342,
|
| 17 |
+
"correct": 106,
|
| 18 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 19 |
+
},
|
| 20 |
+
{
|
| 21 |
+
"task": "magicoder",
|
| 22 |
+
"variant": "magicoder__hns_f2_s0",
|
| 23 |
+
"samples": 164,
|
| 24 |
+
"primary_metric": "pass_at_1",
|
| 25 |
+
"pass_at_1": 0.725609756097561,
|
| 26 |
+
"correct": 119,
|
| 27 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 28 |
+
},
|
| 29 |
+
{
|
| 30 |
+
"task": "magicoder",
|
| 31 |
+
"variant": "magicoder__hns_f2_s1",
|
| 32 |
+
"samples": 164,
|
| 33 |
+
"primary_metric": "pass_at_1",
|
| 34 |
+
"pass_at_1": 0.725609756097561,
|
| 35 |
+
"correct": 119,
|
| 36 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 37 |
+
},
|
| 38 |
+
{
|
| 39 |
+
"task": "magicoder",
|
| 40 |
+
"variant": "magicoder__hns_f2_s2",
|
| 41 |
+
"samples": 164,
|
| 42 |
+
"primary_metric": "pass_at_1",
|
| 43 |
+
"pass_at_1": 0.7317073170731707,
|
| 44 |
+
"correct": 120,
|
| 45 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"task": "magicoder",
|
| 49 |
+
"variant": "magicoder__hns_f4_s0",
|
| 50 |
+
"samples": 164,
|
| 51 |
+
"primary_metric": "pass_at_1",
|
| 52 |
+
"pass_at_1": 0.725609756097561,
|
| 53 |
+
"correct": 119,
|
| 54 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 55 |
+
},
|
| 56 |
+
{
|
| 57 |
+
"task": "magicoder",
|
| 58 |
+
"variant": "magicoder__hns_f4_s1",
|
| 59 |
+
"samples": 164,
|
| 60 |
+
"primary_metric": "pass_at_1",
|
| 61 |
+
"pass_at_1": 0.7439024390243902,
|
| 62 |
+
"correct": 122,
|
| 63 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 64 |
+
},
|
| 65 |
+
{
|
| 66 |
+
"task": "magicoder",
|
| 67 |
+
"variant": "magicoder__hns_f4_s2",
|
| 68 |
+
"samples": 164,
|
| 69 |
+
"primary_metric": "pass_at_1",
|
| 70 |
+
"pass_at_1": 0.7378048780487805,
|
| 71 |
+
"correct": 121,
|
| 72 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 73 |
+
},
|
| 74 |
+
{
|
| 75 |
+
"task": "magicoder",
|
| 76 |
+
"variant": "magicoder__hns_f8_s0",
|
| 77 |
+
"samples": 164,
|
| 78 |
+
"primary_metric": "pass_at_1",
|
| 79 |
+
"pass_at_1": 0.7621951219512195,
|
| 80 |
+
"correct": 125,
|
| 81 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 82 |
+
},
|
| 83 |
+
{
|
| 84 |
+
"task": "magicoder",
|
| 85 |
+
"variant": "magicoder__hns_f8_s1",
|
| 86 |
+
"samples": 164,
|
| 87 |
+
"primary_metric": "pass_at_1",
|
| 88 |
+
"pass_at_1": 0.7378048780487805,
|
| 89 |
+
"correct": 121,
|
| 90 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 91 |
+
},
|
| 92 |
+
{
|
| 93 |
+
"task": "magicoder",
|
| 94 |
+
"variant": "magicoder__hns_f8_s2",
|
| 95 |
+
"samples": 164,
|
| 96 |
+
"primary_metric": "pass_at_1",
|
| 97 |
+
"pass_at_1": 0.75,
|
| 98 |
+
"correct": 123,
|
| 99 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 100 |
+
},
|
| 101 |
+
{
|
| 102 |
+
"task": "magicoder",
|
| 103 |
+
"variant": "magicoder__original_lora",
|
| 104 |
+
"samples": 164,
|
| 105 |
+
"primary_metric": "pass_at_1",
|
| 106 |
+
"pass_at_1": 0.6463414634146342,
|
| 107 |
+
"correct": 106,
|
| 108 |
+
"results_path": "<LOCAL_PATH>/samples.jsonl_results.jsonl"
|
| 109 |
+
}
|
| 110 |
+
]
|
hns/build_manifest.json
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"status": "complete",
|
| 3 |
+
"base": "Qwen3-8B",
|
| 4 |
+
"task": "magicoder",
|
| 5 |
+
"source_lora": "<LOCAL_PATH>/magicoder",
|
| 6 |
+
"scope": "all_modules",
|
| 7 |
+
"variants": [
|
| 8 |
+
{
|
| 9 |
+
"method": "hns_f0_s0",
|
| 10 |
+
"path": "<LOCAL_PATH>/hns_f0_s0",
|
| 11 |
+
"fast_steps": 0,
|
| 12 |
+
"stable_steps": 0,
|
| 13 |
+
"num_modules": 252,
|
| 14 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 15 |
+
"mean_effective_rank_after": 10.281708520678572,
|
| 16 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 17 |
+
"adapter_fro_after": 2.9731058469475404,
|
| 18 |
+
"adapter_fro_ratio": 1.0,
|
| 19 |
+
"max_saved_update_relative_error": 0.0
|
| 20 |
+
},
|
| 21 |
+
{
|
| 22 |
+
"method": "hns_f2_s0",
|
| 23 |
+
"path": "<LOCAL_PATH>/hns_f2_s0",
|
| 24 |
+
"fast_steps": 2,
|
| 25 |
+
"stable_steps": 0,
|
| 26 |
+
"num_modules": 252,
|
| 27 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 28 |
+
"mean_effective_rank_after": 15.4897983402431,
|
| 29 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 30 |
+
"adapter_fro_after": 1.8392601809678262,
|
| 31 |
+
"adapter_fro_ratio": 0.6186325935405822,
|
| 32 |
+
"max_saved_update_relative_error": 0.0
|
| 33 |
+
},
|
| 34 |
+
{
|
| 35 |
+
"method": "hns_f2_s1",
|
| 36 |
+
"path": "<LOCAL_PATH>/hns_f2_s1",
|
| 37 |
+
"fast_steps": 2,
|
| 38 |
+
"stable_steps": 1,
|
| 39 |
+
"num_modules": 252,
|
| 40 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 41 |
+
"mean_effective_rank_after": 15.923773571102778,
|
| 42 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 43 |
+
"adapter_fro_after": 1.7949345031617032,
|
| 44 |
+
"adapter_fro_ratio": 0.6037237137065083,
|
| 45 |
+
"max_saved_update_relative_error": 0.0
|
| 46 |
+
},
|
| 47 |
+
{
|
| 48 |
+
"method": "hns_f2_s2",
|
| 49 |
+
"path": "<LOCAL_PATH>/hns_f2_s2",
|
| 50 |
+
"fast_steps": 2,
|
| 51 |
+
"stable_steps": 2,
|
| 52 |
+
"num_modules": 252,
|
| 53 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 54 |
+
"mean_effective_rank_after": 15.98937415338301,
|
| 55 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 56 |
+
"adapter_fro_after": 1.7899762384852396,
|
| 57 |
+
"adapter_fro_ratio": 0.6020560083062603,
|
| 58 |
+
"max_saved_update_relative_error": 0.0
|
| 59 |
+
},
|
| 60 |
+
{
|
| 61 |
+
"method": "hns_f4_s0",
|
| 62 |
+
"path": "<LOCAL_PATH>/hns_f4_s0",
|
| 63 |
+
"fast_steps": 4,
|
| 64 |
+
"stable_steps": 0,
|
| 65 |
+
"num_modules": 252,
|
| 66 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 67 |
+
"mean_effective_rank_after": 15.781649619572546,
|
| 68 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 69 |
+
"adapter_fro_after": 1.8135417894821753,
|
| 70 |
+
"adapter_fro_ratio": 0.609982248477336,
|
| 71 |
+
"max_saved_update_relative_error": 0.0
|
| 72 |
+
},
|
| 73 |
+
{
|
| 74 |
+
"method": "hns_f4_s1",
|
| 75 |
+
"path": "<LOCAL_PATH>/hns_f4_s1",
|
| 76 |
+
"fast_steps": 4,
|
| 77 |
+
"stable_steps": 1,
|
| 78 |
+
"num_modules": 252,
|
| 79 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 80 |
+
"mean_effective_rank_after": 15.998231176585358,
|
| 81 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 82 |
+
"adapter_fro_after": 1.7897042598267552,
|
| 83 |
+
"adapter_fro_ratio": 0.6019645286642679,
|
| 84 |
+
"max_saved_update_relative_error": 0.0
|
| 85 |
+
},
|
| 86 |
+
{
|
| 87 |
+
"method": "hns_f4_s2",
|
| 88 |
+
"path": "<LOCAL_PATH>/hns_f4_s2",
|
| 89 |
+
"fast_steps": 4,
|
| 90 |
+
"stable_steps": 2,
|
| 91 |
+
"num_modules": 252,
|
| 92 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 93 |
+
"mean_effective_rank_after": 15.999999808587106,
|
| 94 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 95 |
+
"adapter_fro_after": 1.7895088377817683,
|
| 96 |
+
"adapter_fro_ratio": 0.6018987987323222,
|
| 97 |
+
"max_saved_update_relative_error": 0.0
|
| 98 |
+
},
|
| 99 |
+
{
|
| 100 |
+
"method": "hns_f8_s0",
|
| 101 |
+
"path": "<LOCAL_PATH>/hns_f8_s0",
|
| 102 |
+
"fast_steps": 8,
|
| 103 |
+
"stable_steps": 0,
|
| 104 |
+
"num_modules": 252,
|
| 105 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 106 |
+
"mean_effective_rank_after": 15.6737658817665,
|
| 107 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 108 |
+
"adapter_fro_after": 1.8248112295927876,
|
| 109 |
+
"adapter_fro_ratio": 0.613772708921986,
|
| 110 |
+
"max_saved_update_relative_error": 0.0
|
| 111 |
+
},
|
| 112 |
+
{
|
| 113 |
+
"method": "hns_f8_s1",
|
| 114 |
+
"path": "<LOCAL_PATH>/hns_f8_s1",
|
| 115 |
+
"fast_steps": 8,
|
| 116 |
+
"stable_steps": 1,
|
| 117 |
+
"num_modules": 252,
|
| 118 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 119 |
+
"mean_effective_rank_after": 15.997113988957008,
|
| 120 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 121 |
+
"adapter_fro_after": 1.7898293631137594,
|
| 122 |
+
"adapter_fro_ratio": 0.6020066069801585,
|
| 123 |
+
"max_saved_update_relative_error": 0.0
|
| 124 |
+
},
|
| 125 |
+
{
|
| 126 |
+
"method": "hns_f8_s2",
|
| 127 |
+
"path": "<LOCAL_PATH>/hns_f8_s2",
|
| 128 |
+
"fast_steps": 8,
|
| 129 |
+
"stable_steps": 2,
|
| 130 |
+
"num_modules": 252,
|
| 131 |
+
"mean_effective_rank_before": 10.281708520678572,
|
| 132 |
+
"mean_effective_rank_after": 15.999999782334111,
|
| 133 |
+
"adapter_fro_before": 2.9731058469475404,
|
| 134 |
+
"adapter_fro_after": 1.7895088420702738,
|
| 135 |
+
"adapter_fro_ratio": 0.601898800174755,
|
| 136 |
+
"max_saved_update_relative_error": 0.0
|
| 137 |
+
}
|
| 138 |
+
]
|
| 139 |
+
}
|
hns/build_metadata/hns_f0_s0/spectral_edit_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
hns/build_metadata/hns_f2_s0/spectral_edit_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
hns/build_metadata/hns_f2_s1/spectral_edit_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
hns/build_metadata/hns_f2_s2/spectral_edit_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
hns/build_metadata/hns_f4_s0/spectral_edit_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
hns/build_metadata/hns_f4_s1/spectral_edit_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
hns/build_metadata/hns_f4_s2/spectral_edit_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
hns/build_metadata/hns_f8_s0/spectral_edit_meta.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|