Qwen3.5 Γ LoGRA Γ IFBench: Gradient-Sketched Reinforcement Learning and Verifier Reliability
Research code, evidence archive and two manuscript drafts. This Hugging Face repository is public. Both manuscripts (Paper A, Paper B) are unsubmitted research drafts; nothing here is peer reviewed, and no label has been independently adjudicated by humans.
Reading guide. Start with Current status, then Verified findings and Limitations. Historical documents contain claims that were withdrawn;
docs/technical/RESEARCH_HISTORY.mdlists them. The pre-release README is preserved atdocs/archive/README_pre_release_M5C3.md.
0. Latest release (M13): two papers and the M8βM12 archive
Status. Milestones M0βM12 are complete. The VM-side research workflow is closed; this release publishes all safe new M8βM12 artifacts. Both manuscripts are unsubmitted research drafts (not peer-reviewed, no DOI, no acceptance). Labels, oracles and specification interpretations are AI-assisted and not independently human-adjudicated; six oracle-specification disagreements remain matters of interpretation.
| Paper A (M10) | Paper B (M11 + M12) | |
|---|---|---|
| title | How Well Do Tests Find Faults in Instruction-Following Verifiers? Oracle Provenance, Real Upstream Defects and Alarm Reliability at Matched Budgets | Can Small Language Models Generate Inputs That Reveal Real Faults in Instruction-Following Verifiers? Prompt-Only Qwen3.5 from 0.8B to 4B, a Pre-Declared Held-Out Test, and an Exploratory Hybrid |
release/papers/Paper_A_M10/Paper_A.pdf (14 pp) |
release/papers/Paper_B_M11_M12/Paper_B.pdf (11 pp) |
|
| LaTeX | Paper_A_LaTeX_Source.zip Β· main.tex |
Paper_B_LaTeX_Source.zip Β· main.tex |
| build | BUILD_INSTRUCTIONS.md |
BUILD_INSTRUCTIONS.md |
| evidence | EVIDENCE_INDEX.csv |
claims_to_evidence.csv |
Paper A (summary). Compares conventional test-generation families at matched verifier-call budgets on injected-fault panels (RESERVE, Panel S, Panel F), 24 reconstructed upstream faults, alarm precision and benchmark-score sensitivity. Oracle-based methods lead oracle-free ones, the equal-budget combination is not better than its best constituent, the better oracle family differs by panel, B6 finds all 9 crash faults but 6 of 15 behaviour faults, and reference-free alarms have low precision at realistic prevalence. Limits: one AI agent wrote all oracles/labels; detection is conditional on a known-good parent; no human adjudication.
Paper B (summary). Tests prompt-only Qwen3.5-0.8B/2B/4B as input generators for verifier fault detection. Study 1 (frozen, 0.8B): no model stream matched RD-B9 at 500 calls (0.439 vs 0.658). Study 2 (frozen protocol, configuration chosen on development faults only, one confirmatory run on 24 held-out audit-derived faults): Qwen3.5-4B does not establish superiority over the strongest conventional baseline. Detection rises with size; post hoc, the 4B model alone reached two faults that no conventional stream reached, reproduced as version divergences against an AI-assisted reference β not confirmed semantic defects; an exploratory 250/250 hybrid is not statistically established. Actual GPU cost is reported (4B: β113 GPU s per 500-call stream).
Held-out detection probability (24 faults, confirmatory; from runs/m12/analysis_heldout.json):
| N calls | 4B G2 | 2B G2 | 0.8B G2 | RD-B2 | RD-B9 | P1 |
|---|---|---|---|---|---|---|
| 25 | 0.250 | 0.267 | 0.233 | 0.406 | 0.358 | 0.217 |
| 100 | 0.442 | 0.433 | 0.325 | 0.533 | 0.506 | 0.290 |
| 200 | 0.517 | 0.483 | 0.400 | 0.577 | 0.583 | 0.308 |
| 500 | 0.642 | 0.542 | 0.433 | 0.613 | 0.646 | 0.319 |
Primary contrast (4B-G2 β RD-B2, N=500): +0.029, 95% CI [β0.104, +0.158]; the pre-declared margin of +0.10 was not met (H12-1 not supported). 4B β P1: +0.323 [+0.113, +0.531], Holm 0.042. Paper A representative result (Panel F, N=500, 190 mutants, 22 templates): B2 0.700, B5 0.846, B6 0.798, B6P 0.923 (B6P uses kΓ calls and is not matched).
Navigation. Paper index Β· Experiment index M8βM12 Β· Reproduction index Β· Checkpoint addendum (M8βM12 produced none) Β· A/B relationship Β· M12 reports Β· M12 final report Β· verified GPU ledger Β· security/privacy audit Β· license review Β· excluded artifacts Β· QA Β· HF verification Β· closeout.
Architecture diagrams. The five original diagrams (assets/architecture/) remain accurate for M0βM7; the new overview of Papers A/B is below (source assets/architecture/diagram6_paper_ab_overview.mmd).
Reproducing (CPU only).
python3 -m pytest tests -q # CPU tests (skips are reported, not counted as passes)
python3 scripts/m10_check_paper.py # Paper A consistency checker
python3 scripts/m12/repro_check.py # Paper B confirmatory/hybrid/complementarity reproduction (4/4)
bash scripts/release/build_papers.sh # rebuild both PDFs
python3 scripts/release/verify_manifest.py docs/release/M13_RELEASE_MANIFEST.csv # SHA-256 verification
GPU-dependent steps (new generation/training) are not needed to verify any reported number.
AI assistance. Implementation, oracle construction, analysis and drafting involved substantial Claude Code assistance under the project owner's direction; human authors remain responsible for reviewing and approving any submission. No external human validation of labels has occurred.
Not published (by design). Private blinded-review answer keys, credentials, agent-instruction files, model weights, and 18 third-party source snapshots whose licence could not be verified (see excluded artifacts). Older public revisions of this repository exposed earlier review keys; this cannot be undone by a new upload (see the security audit).
Contents
- Overview Β· 2. Status Β· 3. Contributions Β· 4. Architecture Β· 5. Methodology Β· 6. Verified findings Β· 7. Repository structure Β· 8. Installation Β· 9. Reproduction Β· 10. Datasets Β· 11. Results and limitations Β· 12. Paper Β· 13. Reproducibility and provenance Β· 14. Citation Β· 15. License
1. Project title and overview
Original motivation. NVIDIA's LoGRA (Zhang et al., arXiv:2610.06647) reduces the memory of reinforcement-learning post-training by keeping low-rank sketches of gradients instead of dense gradients or adapter parameters. This project asked whether a single-GPU port of that optimizer can train Qwen3.5-0.8B with reinforcement learning from verifiable rewards (RLVR) on instruction-following constraints, and how it compares with LoRA.
Background.
- LoGRA. For selected linear layers the base weight
Wstays frozen. A random projectionA(rank r) turns each backward pass into a sketchS = G Aα΅of the weight gradientG; a RowAdam-style optimizer turns the accumulated sketch into a low-rank updateΞW = U Athat is written directly into the base weights (not an adapter). NVIDIA's full method also has a predicted-KL step controller, which this project did not implement. - Qwen3.5-0.8B is a hybrid model: 18 Gated-DeltaNet (linear-attention) layers and 6 full-attention layers with tied embeddings (752,393,024 unique parameters).
- RLVR for instruction following. A prompt carries verifiable constraints (e.g. "no commas", "exactly 3 bullet points"); a short program per constraint (the verifier) returns pass/fail and the reward is the share of constraints passed. IFEval (25 constraint types), IFBench (58 out-of-domain constraints) and the IF-RLVR training data/verifiers (
allenai/IF_multi_constraints_upto5, open-instructIFEvalG) are the benchmarks used here. - Why verifier reliability matters. A policy optimised against a verifier can only be as good as the verifier's verdict. Narrow verifiers check the constraint, not the task, and implementation errors silently change both evaluation and reward.
How the project developed. The optimizer study (M0βM5B) produced a corrected, audited LoGRA port and inconclusive LoGRA-vs-LoRA results. While diagnosing why official IFBench accuracy rose without evidence of better answers, we found that a fixed one-word response satisfies about a third of IFBench prompts. That led to a systematic, CPU-only cross-benchmark verifier audit (M5C-0 to M5C-3), which became the project's principal publication contribution.
Two tracks, clearly separated.
| Track A: LoGRA / LoRA RL experiments | Track B: verifier-reliability audit | |
|---|---|---|
| question | does a single-GPU LoGRA port train Qwen3.5 with GRPO; how does it compare with LoRA? | how reliable and how content-dependent are the IFEval / IFBench / IF-RLVR verifiers? |
| evidence | 32 run directories, 4.57 measured L4 GPU-hours, 3β5 seeds | deterministic CPU measurements over 112 templates, 56 independent oracles |
| status | exploratory, inconclusive on accuracy; no speed/stability/accuracy claim | complete; manuscript draft (not submitted) |
| role | secondary context | principal contribution |
2. Current research status
| item | status (verified against saved artifacts) |
|---|---|
| Milestones M0βM5C-3 | completed (docs/technical/RESEARCH_HISTORY.md, docs/index/EXPERIMENT_INDEX.md); all were run on 14 October 2026 (project clock) |
| Corrected single-GPU LoGRA sketch optimizer | available (src/q35_logra_ifbench/methods/logra_core.py); bitwise-equal to NVIDIA's reference on 21 differential tests; an adaptation, not an exact full reproduction |
| Qwen3.5 RL experiments | completed: LoRA vs LoGRA, M4 (5 seeds Γ 16 updates) and M5A (3 seeds Γ 64 updates), plus M5B diagnostics; exploratory |
| Cross-benchmark verifier audit | completed (IFEval-25, IFBench-58, IF-RLVR-29; fixed-response, wrong-prompt and counterfactual probes; 56 of 112 templates with independent oracles) |
| Manuscript draft | available in paper/; not submitted, not peer reviewed |
| Upstream issue reports | four prepared, not submitted (no GitHub credentials; docs/upstream/) |
| Independent non-Anthropic judge evaluation | not completed (package prepared, no authorised API account); content-adequacy labels come from four same-vendor AI raters and are not independently validated |
| Full NVIDIA predicted-KL controller | not implemented (kl_mode must be off) |
| Withdrawn claims | "exact LoGRA match", "99.9% coverage", "LoGRA 1.2β4.1Γ faster", "comparable convergence" (M2/M3/M3.5) are withdrawn and not restored; no speed, stability or superiority claim for LoGRA is made |
| Recommended publication direction | a narrow benchmark-evaluation paper on the verifier audit (see docs/reports/M5C3_PUBLICATION_PREPARATION.md); not a confirmed Artificial Intelligence Review publication |
3. Research contributions
Only contributions supported by saved evidence are listed. The principal contribution is the verifier audit.
- Single-GPU LoGRA gradient-sketch optimizer adaptation, mathematically validated against NVIDIA's reference (projection law, per-layer seeds, hook-based sketch accumulation, RowAdam, layer-scale preservation, trust region, stochastic rounding, exact-restore checkpoints) β
docs/technical/LOGRA_IMPLEMENTATION.md,docs/audits/NVIDIA_LOGRA_SOURCE_AUDIT.md. - Qwen3.5-0.8B GRPO experiments with LoRA and LoGRA (inconclusive on accuracy; decode-matched efficiency analysis shows the earlier wall-clock advantage is a LoRA unmerged-adapter overhead, not an optimizer advantage).
- Cross-benchmark audit of the IFEval, IFBench and IF-RLVR verifiers with one protocol, including the training-time implementation.
- Reproducible fixed-response, wrong-prompt and counterfactual probing (prompt-independent acceptance at template, instance and prompt level).
- Independent verifier-oracle implementations (56 of 112 templates) with metamorphic and property-based tests.
- Validated candidate defects and specification ambiguities (four IF-RLVR/IFBench candidates plus one already documented for IFEval), each with a minimal reproduction; upstream drafts prepared, not submitted.
- Release-ready audit toolkit and tests (86 CPU tests pass; scripts regenerate every table and figure from stored results).
Auditing verifiers is not claimed to be new (IFEval++, IFBench PR #34 and others exist); see docs/research/M5C3_PRIOR_ART_UPDATE.md.
4. Research architecture
Figure 1. Two linked tracks. Track A (left) trains Qwen3.5 with GRPO under a LoRA or LoGRA optimizer and evaluates on IFBench. Track B (right) probes the official verifiers with fixed, wrong-prompt and transformed responses, compares them with independent oracles and classifies each template. The tracks meet in the shared evaluation analysis (saved IFBench-test responses are the natural-response pools of Track B). Editable sources: assets/architecture/.
Figure 2. LoGRA optimizer as implemented (not LoRA): projection A, hooks, sketch S = G Aα΅, RowAdam, separate update scaling, ΞW = U A applied to the base weights. The predicted-KL controller is not implemented.
Figure 3. GRPO experiment pipeline shared by both optimizers, with logging, GPU-budget accounting and checkpoint validation.
Figure 4. Verifier audit pipeline and the five outcome categories.
Figure 5. Milestones M0βM5C-3 and release; open items are shown as not completed.
5. Research methodology
Details: docs/technical/.
| stage | what is done | where |
|---|---|---|
| Model preparation | Qwen/Qwen3.5-0.8B @ 2fc06364715b967f1860aea9cf38778875588b17, bf16, thinking disabled, text-only; Triton autotune pinned |
src/q35_logra_ifbench/models/qwen35.py, runs/_pins/ |
| RL training and verifiable rewards | online GRPO, 8 prompts Γ 4 samples/update, T = 1.0, β€ 256 tokens; reward = share of constraints passed by the official training verifier; group-relative advantages, clipped surrogate (Ξ΅ = 0.2), no KL term | src/q35_logra_ifbench/rl/, GRPO.md |
| Gradient sketching | rank-16 Rademacher projection, S = G Aα΅, RowAdam, trust region 6e-4Β·βWβ, fp32 master weights |
LOGRA_IMPLEMENTATION.md |
| Official benchmark evaluation | greedy, 256 tokens, IFBench-test (300 prompts), loose (headline) and strict scoring, Wilson 95% intervals | src/q35_logra_ifbench/rl/evaluate.py, docs/audits/RELIABILITY_GATE.md |
| Verifier audit | probes on 3 collections (pinned commits, unmodified official code) | BENCHMARK_AUDITING.md |
| Independent oracle comparison | literal-definition oracles, 65,910 comparisons, must-preserve / must-change relations, property tests | src/q35_logra_ifbench/diagnostics/oracles*.py |
| Counterfactual transformations | whitespace, case, prefix, word shuffle, lexical replacement, wrong-prompt response | src/q35_logra_ifbench/diagnostics/verifier_audit.py |
| Statistical analysis | template / instance / prompt denominators; Wilson intervals; paired-seed t-intervals (df = 2, descriptive only); item-bootstrap for rated samples | scripts/m5c1_*.py, scripts/m5a_*.py |
| Manuscript evidence | figures and tables regenerated from stored results; every number traceable | scripts/m5c3_make_figures.py, paper/ |
6. Verified findings
Every number below is read from a saved result file (source column). Percentages with different denominators are never combined.
6.1 Benchmark collections audited
| collection | prompts | constraint instances | templates | source of numbers |
|---|---|---|---|---|
| IFEval-25 | 541 | 834 | 25 | docs/reports/m5c1_cross_benchmark_tables.md Β§2β3 |
| IFBench-58 (test) | 300 | 344 | 58 | same |
| IF-RLVR-29 (templates not in IFEval) | 95,373 rows in the dataset (248,446 constraint instances, all templates); 3,000 sampled training prompts audited | 3,480 sampled | 29 | same; runs/m5c2/defect_validation.json |
6.2 Fixed-response (content-free) acceptance β official verifiers, strict
| measure (denominator) | IFEval-25 | IFBench-58 | IF-RLVR-29 |
|---|---|---|---|
| templates accepting a content-free probe on β₯ 90% of instances (templates) | 3/25 (12%) | 22/58 (38%) | 10/29 (34%) |
instances passed by Yes. (instances) |
189/834 = 22.7% | 126/344 = 36.6% | 1029/3480 = 29.6% |
| instances passed by the empty response | 0/834 | 0/344 | 0/3480 |
prompts (all constraints) passed by Yes. |
61/541 = 11.3% [8.9, 14.2] | 104/300 = 34.7% [29.5, 40.2] | 221/3000 = 7.4% [6.5, 8.4] |
| prompts passed by any of 9 content-free probes | 99/541 = 18.3% | 137/300 = 45.7% | 368/3000 = 12.3% |
This is expected narrow-constraint behaviour (the checks do not read the task), not by itself a software bug. Source: runs/m5c1/audit_raw.json, docs/reports/m5c1_cross_benchmark_tables.md.
6.3 Wrong-prompt acceptance
A response written for a different prompt (same template, identical arguments) keeps its passing verdict in β₯ 95% of cases for 19/19, 26/26 and 17/17 evaluable templates (IFEval / IFBench / IF-RLVR), i.e. all verifiers are prompt-independent given their arguments. Pooled retention of originally passing instances: 99.9% / 100.0% / 100.0%. Whitespace changes keep 99.7β100%; word shuffling keeps 76.4% / 84.5% / 91.8%; lexical replacement 62.8% / 70.0% / 64.6% (docs/reports/m5c1_cross_benchmark_tables.md Β§4).
6.4 Independent oracle coverage
| collection | templates | with oracle |
|---|---|---|
| IFEval-25 | 25 | 24 |
| IFBench-58 | 58 | 16 |
| IF-RLVR-29 | 29 | 16 |
| total | 112 | 56 (50%) |
65,910 verifier-vs-oracle comparisons (49,538 + 16,372); 2,218 disagreements (954 + 1,264), all adjudicated by hand (defect, interpretation, or oracle choice). The 17 newest oracles were written after reading the official code, so independence is limited. Source: docs/research/M5C2_ORACLE_COVERAGE.md, runs/m5c2/oracle_audit.json.
6.5 Defect candidates and specification ambiguities
Reproduced on the latest upstream heads (open-instruct 11826255, IFBench 1c40f0c1, 14 Oct 2026); none submitted upstream; none touched by IFBench PR #34.
| item | behaviour | footprint | class |
|---|---|---|---|
IF-RLVR copy_span_idx, n_start=0 |
random start replaces 0; correct span accepted 4.8% of the time (25 fresh processes) | 21 of 1,815 instances | defect (nondeterministic) |
| same, end index | text says inclusive, code excludes the end character | readings differ for 1,523/1,815 | ambiguity β clarification |
IF-RLVR exclude_word_harder |
keyword at response start/end or next to newline/tab passes | 9/445 (2.0%) of passes in sampled rollouts contain the keyword token | defect (boundary cases); case/punctuation = interpretation |
IFBench line_indent |
two consecutive blank lines (e.g. trailing \n\n) reject a valid staircase |
0/261 saved responses changed | defect |
IFBench sub-bullets |
response without any bullet passes | 2 of 18 passes in saved responses | defect (vacuous truth) |
IFEval letter_frequency |
non-aβz target replaced by a random letter | 2/33 instances | defect, already documented by IFEval++ |
Sources: docs/research/M5C2_VERIFIER_BUG_VALIDATION.md, runs/m5c2/defect_validation*.json, docs/upstream/.
6.6 RL evaluation results β exploratory (Qwen3.5-0.8B, IFBench-test, 300 prompts)
| quantity | value | source |
|---|---|---|
| baseline official loose accuracy | 20.3% (61/300; Wilson 16.2β25.2) | runs/paired_baseline/evaluation_results.json |
| M4 (16 updates, 5 seeds): paired LoGRA β LoRA change in accuracy | 0.0 pp, 95% t-interval [β6.9, +6.9]; both +4.9 pp on average | docs/reports/M4_PAIRED_5SEED_RESULTS.md |
| M5A (64 updates, 3 seeds): change vs baseline, LoRA / LoGRA | +9.6 / +5.2 pp (paired LoGRA β LoRA β4.3, t-interval [β10.3, +1.6], df = 2) | docs/reports/M5A_EXTENDED_TRAINING_RESULTS.md |
| official loose accuracy at step 64 (mean of seeds), LoRA / LoGRA | 29.9% / 25.6% | docs/reports/m5c1_joint_tables.md |
| AI-rated joint success (constraint met and task engaged), % of all responses: baseline / LoRA step 64 / LoGRA step 64 | 16.3 [12.2, 20.3] / 1.7 [0.0, 5.0] / 8.5 [2.8, 14.2] | docs/reports/m5c1_joint_tables.md (four same-vendor AI raters; 10β18 official passes per cell) |
Interpretation limits: no significance or equivalence claim (3β5 seeds); the IFBench test set is not pristine; the adequacy rows are AI-judge-dependent and not independently validated; the optimizer difference is not interpreted. The direction (compliance up, task engagement down) agrees with published reports and is not claimed as new.
6.7 Resource consumption
| quantity | value | source |
|---|---|---|
| measured L4 GPU-hours (55 allocations) | 4.5737 h (M3.7 0.0027, M4-smoke 0.1545, M4-dev-tuning 1.0932, M4-paired 1.0113, M5A 1.6591, M5B 0.6529); plus 0.27 h of unverified historical estimates (M2βM3.5) | docs/index/GPU_ACCOUNTING.md, runs/gpu_ledger/ |
| M5C-0 β¦ M5C-3 and this release | 0 GPU-hours | ledger |
| peak GPU memory per update (M4 paired) | LoGRA 9.5 GiB vs LoRA 10.7 GiB (implementation-specific) | docs/reports/M4_PAIRED_5SEED_RESULTS.md |
| time per update (M4 paired) | LoGRA 11.3 s vs LoRA 14.3 s β later explained by LoRA's unmerged-adapter decoding overhead; not an optimizer advantage (M5B: optimizer-step time ranges overlap) | docs/reports/M5B_DIAGNOSTIC_RESULTS.md |
7. Repository structure
Derived from the actual files (docs/inventory/FILE_INVENTORY.csv lists every file with SHA-256, purpose, milestone and publication status).
.
βββ README.md this file (previous README: docs/archive/)
βββ LICENSE Apache-2.0 (project code)
βββ pyproject.toml, Makefile, requirements-audit.txt, .env.example
βββ src/q35_logra_ifbench/
β βββ methods/ logra_core.py (sketch optimizer), logra.py, lora.py, grpo*.py
β βββ rl/ trainer, rollout, scoring, policy, grpo_core, checkpoint, evaluate, adapters, policy_kl, autotune_pin
β βββ models/qwen35.py model/tokenizer loading
β βββ data/ download, splits, ifbench_io (loaders), rewards, feasibility
β βββ diagnostics/ verifier_audit (probes), oracles, oracles_m5c2, verifier_candidates, shortcuts
β βββ budget/ledger.py persistent GPU-hour ledger
β βββ config.py, seed.py, hardware.py, watchdog.py, logging/, evaluation/, publishing/
βββ tests/ data/, reference/ (21 NVIDIA-differential), rl/, unit/ (86 tests)
βββ scripts/ experiment drivers (m4/m5), analyses (m5a-m5c3), release tooling, publish_hf.py, gpu_ledger.py
βββ configs/experiments/ m4_matched_pilot.yaml
βββ manifests/ dataset split/hash manifests (M4/M5A)
βββ runs/ evidence by run (indexed in docs/index/EXPERIMENT_INDEX.md)
β βββ gpu_ledger/ ledger, hash-chained events
β βββ paired_*, m5a_*, dev_*, rep_*, smoke_*, resume_*, repro_*, m5b_* training / benchmark runs
β βββ m5c0..m5c3, _analysis, _logs, _pins CPU analyses, derived tables, logs
βββ docs/
β βββ technical/ LoGRA, Qwen3.5, GRPO, benchmark auditing, research history
β βββ index/ experiment index, checkpoint index, GPU accounting
β βββ inventory/ file inventory, duplicates, path/dependency checks, secret scan
β βββ audits/ NVIDIA source audit, diff matrix, claim verification, reliability gate
β βββ experiments/ frozen protocols (M4, M5A, M5B)
β βββ reports/ milestone reports, tables, publication records, REPRODUCTION_VALIDATION.md
β βββ research/ literature, novelty, verifier taxonomy, oracle coverage, judge reliability
β βββ upstream/ 4 upstream issue drafts + reproductions (not submitted)
β βββ literature/, feasibility/, ops/, archive/
βββ paper/ main.tex, main.pdf, references.bib, figures/, tables/ (draft)
βββ assets/architecture/ 5 diagrams (PNG, SVG) + Mermaid sources
Not part of the archive: third_party/labs-molt (NVIDIA reference clone, pinned by commit), data/cache/ (downloaded datasets, upstream verifier clones, paper PDFs), CLAUDE.md (internal agent instructions). Empty placeholder directories are not listed.
8. Installation
Verified environment (docs/audits/environment.json, runs/m5c1/pins.json): Ubuntu, Python 3.10.12, torch 2.6.0+cu124 (CUDA 12.4), transformers 5.16.1, peft 0.21.2, flash-linear-attention / fla-core 0.5.2, triton 3.2.0; one NVIDIA L4 (23 GB) for GPU work. causal_conv1d is not installed.
| step | command | status |
|---|---|---|
| package manager | pip |
used |
| install the package | pip install -e . (declares torch, transformers, peft, datasets, β¦) |
not re-run in this release (environment was built incrementally); declared dependencies cross-checked in docs/inventory/PATH_AND_DEPENDENCY_CHECKS.md |
| CPU audit dependencies (pinned) | pip install -r requirements-audit.txt and python3 -c "import nltk; [nltk.download(x) for x in ('punkt','punkt_tab','stopwords','averaged_perceptron_tagger_eng')]" |
not re-run; versions are those installed and exercised by the validated commands |
| Qwen3.5 weights | huggingface-cli download Qwen/Qwen3.5-0.8B --revision 2fc06364715b967f1860aea9cf38778875588b17 (Apache-2.0; weights are not redistributed here) |
untested in this release |
| Hugging Face authentication | huggingface-cli login or HF_TOKEN in the environment; never commit tokens (.env is git-ignored) |
β |
| datasets | python3 -c "from q35_logra_ifbench.data.download import download_if_dataset; download_if_dataset()" |
untested in this release; revisions in Β§10 |
| upstream verifier sources (for the audit) | git clone https://github.com/allenai/IFBench data/cache/IFBench && git -C data/cache/IFBench checkout 1c40f0c10d9b5c5c2f10a175a28007ebb64f7f4d; same for allenai/open-instruct @ 11826255077617a46919ce75cadf1f3d53f30dac into data/cache/open-instruct, and google-research/instruction_following_eval |
untested clone commands (the checked-out clones exist on the release host) |
| NVIDIA reference (for differential tests) | git clone -b logra https://github.com/skzhang1/labs-molt third_party/labs-molt && git -C third_party/labs-molt checkout d2be11c452009e32e70d45326c9f47a163cdd22e |
clone untested; the tests below pass with the existing clone |
| optional CUDA | CUDA 12.4 runtime + an L4-class GPU (β₯ 12 GB free) for GRPO runs; none is needed for tests or the audit | β |
9. Reproduction
All commands marked tested were executed on the release host during this release; exit codes and timings are in docs/reports/REPRODUCTION_VALIDATION.md. Commands that rewrite tracked evidence were run and the committed evidence restored afterwards. CPU-only commands set CUDA_VISIBLE_DEVICES=.
| # | workflow | command(s) | cost | status |
|---|---|---|---|---|
| β | full test suite (86 tests) | make test β python3 -m pytest tests -q |
β 45 s | tested, passed |
| A | CPU-only verifier audit | python3 scripts/m5c1_pins.py && python3 scripts/m5c1_verifier_audit.py && python3 scripts/m5c1_roundtrip.py && python3 scripts/m5c1_demonstrations.py && python3 scripts/m5c1_taxonomy.py |
β 1 min | tested (some verifier components are unseeded, so a few raw cells vary between runs: 6 of 2,145 probe cells in a re-run; the headline per-prompt rates were identical) |
| Aβ² | single verifier cell | python3 scripts/m5c1_probe_one.py --collection IFBench-58 --template words:vowel --probe yes |
seconds | tested |
| B | independent oracle evaluation | python3 scripts/m5c2_oracle_audit.py |
β 15 s | tested |
| Bβ² | defect validation (fresh interpreters) | python3 scripts/m5c2_defect_validation.py && python3 scripts/m5c2_defect_validation_extra.py |
β 100 s | tested |
| C | counterfactual probes | included in A (verifier_audit.py: probes, F/D/X transformations) |
β | tested |
| D | LoGRA mathematical tests | NVIDIA_LOGRA_REF=$PWD/third_party/labs-molt python3 -m pytest tests/reference tests/unit/test_logra.py tests/rl/test_grpo_math.py -q |
β 10 s | tested, passed (21 + 6 + 7 tests) |
| E | optional Qwen3.5 GRPO experiment (GPU, expensive: ledger-measured β 0.08β0.1 h per 16-update run and β 0.28 h per 48-update continuation on an L4) | python3 scripts/run_grpo.py --run-id my_run --method logra --updates 16 --seed 42 --authorization <ledger-authorization> --max-hours 0.15 ... (all flags: scripts/run_grpo.py --help; paired/extended protocols: scripts/paired_driver.py, scripts/m5a_driver.py, docs/experiments/*_PROTOCOL.md) |
GPU | untested in this release (GPU not used; the 32 recorded runs are the evidence) |
| F | statistical analysis and figures | python3 scripts/m5c1_judge_reliability.py && python3 scripts/m5c1_joint_analysis.py && python3 scripts/m5c3_make_figures.py && python3 scripts/release_diagrams.py |
β 25 s | tested |
| Fβ² | RL analyses (M4/M5A/M5B) | scripts/paired_analysis.py, scripts/m5a_analysis.py, scripts/m5b_*.py |
CPU | untested in this release |
| G | manuscript | make paper (pdflatex + bibtex) |
seconds | tested (regenerates paper/main.pdf; PDFs embed timestamps) |
| β | upstream-report reproductions | cd docs/upstream && python3 repro_03_line_indent.py <IFBench checkout> etc.; fixes: OPEN_INSTRUCT=β¦ IFBENCH=β¦ python3 -m unittest test_proposed_fixes |
seconds | tested |
10. Benchmark datasets
| dataset | source and revision | split used | licence | constraint types / protocol |
|---|---|---|---|---|
| IFEval | google/IFEval @ 966cd89545d6b6acfd7638bc708b98261ca58e84; verifier code google-research/instruction_following_eval @ e6890f85β¦ (vendored classes in IFBench) |
541 prompts (audit) | Apache-2.0 | 25 instruction types in 9 families; strict and loose accuracy |
| IFBench | allenai/IFBench_test @ 2e8a48de45ff3bf41242f927254ca81b59ca3ae2; verifier code allenai/IFBench @ 1c40f0c10d9b5c5c2f10a175a28007ebb64f7f4d (Apache-2.0) |
300 test prompts, 58 constraint types, 7 families (count, custom, format, ratio, repeat, sentence, words) | ODC-BY-1.0 (dataset; contains third-party model outputs subject to separate terms) | official evaluation library, loose (headline) and strict |
| IF-RLVR | allenai/IF_multi_constraints_upto5 @ 2e3a77407b7fce69f95b248d64a884e3ae1c2423; verifier code allenai/open-instruct IFEvalG @ 11826255077617a46919ce75cadf1f3d53f30dac (Apache-2.0) |
training pool of 95,373 rows β 63,422 after filtering (dedup, 12-gram overlap with test removed, feasibility, trivial-reward removal; manifests/m4_dataset_manifest.json); 54 constraint ids; up to 5 constraints per prompt |
ODC-BY-1.0 | reward = mean of per-constraint pass/fail by the training verifier |
Reserved untouched sets (manifests/m5a_reserved_seen_confirm.jsonl, allenai/IFBench_multi-turn) were never read. The IFBench-test set was used repeatedly and is not pristine.
11. Results and limitations
Terminology used throughout.
- Constraint compliance β the official verifier passes the response (deterministic).
- Substantive task fulfilment β the response engages with the actual task (needs a rater; here AI-rated, exploratory).
- Verifier implementation error β the verdict contradicts the instruction text / a literal oracle (reproduced defects, Β§6.5).
- Expected narrow-constraint behaviour β checks that ignore content by design (e.g. "no commas" accepts
Yes.); not a bug. - Reward shortcut β a policy raising the verifier reward through responses that satisfy the checks but not the task; documented in prior work (IFBench, IFDecorator, Wei et al.) and only illustrated here.
- Model-dependent observation β anything measured on Qwen3.5-0.8B (response length, repetition, accuracy trends).
Limitations. (1) No independent judge: adequacy labels come from four same-vendor AI raters (Fleiss ΞΊ 0.86 binary); cross-family and human agreement are unmeasured. (2) Oracle coverage: 56 of 112 templates; 17 oracles were written after reading the official code; one adjudicator. (3) Single-model RL evidence: one 0.8B model, one benchmark, 3β5 seeds, 10β18 passes per rated cell; no significance claim. (4) Statistical uncertainty: df = 2 intervals are descriptive; the test set was reused. (5) The LoGRA port lacks the predicted-KL controller and uses a different RL objective than NVIDIA's; no speed/stability/accuracy advantage is claimed. (6) The prior-art search was single-reviewer; no claim of priority.
11b. M6 verifier-audit extension (CPU-only, frozen protocol)
A pre-registered, CPU-only comparison of verifier-testing methods (fixed probes, random, boundary+oracle, property-based+metamorphic, metamorphic follow-up, broad oracle differential, and a combined framework B6) on injected and historical faults in IFEval/IFBench/IF-RLVR verifiers. Headline (held-out, N=500 calls, 189 mutants/36 templates): B2 0.877, B5 0.864, B6 (equal budget split) 0.863, oracle-free methods 0.38-0.42; B6 minus best of B2/B3/B4 = -0.022 [-0.057, 0.014], so the combined framework does not beat its constituents at matched budgets. Pooled B6P (0.944) uses k x more calls and is not a method gain. Oracle availability is the decisive factor.
- Full details:
docs/reports/M6_WORK_REPORT.md; comparisondocs/reports/M6_BASELINE_COMPARISON.md; failuresdocs/reports/M6_FAILURE_CASES.md; historical faultsdocs/reports/M6_HISTORICAL_FAULTS.md; real-world impactdocs/reports/M6_REAL_WORLD_IMPACT.md; threatsdocs/reports/M6_GENERALIZATION_AND_THREATS.md; protocol/amendmentsdocs/research/m6/. - Constraints honoured: zero GPU, no paid APIs, upstream sources not modified, no upstream issues/PRs posted, manuscript not submitted. The private blinded-review key is not uploaded.
11c. M7 verifier-reliability extension (CPU-only evidence; GPU pilot designed but not run)
Branch research/m7-verifier-reliability-and-rl-impact. Reproduced M6 (0 disagreements), added a 13-fault real-fault registry (6 root-cause commits, including upstream PR #1718), a 57-alarm single-annotator adjudication, denominator sensitivity, score-impact re-scoring (sub-bullets, IFBench version drift, PR #1718 rollout impact) and a 7-page working manuscript (paper/m7/main.tex, not submitted). Headline: oracle-aware testing dominates; the equal-budget combination (B6 0.863) does not beat its best constituent (B2 0.877); real faults are harder (B6 finds 5/13). Not done: the reward-correction RL pilot (GPU occupied by unrelated services; see docs/reports/M7D_RL_REWARD_CORRECTION.md); no independent human review exists.
Index: docs/research/m7/M7_MASTER_STATUS.md, docs/reports/M7A_*, M7B_*, M7C_*, M7D_*, M7E_*, docs/reports/M7_WORK_REPORT.md.
12. Research paper
Manuscript draft β not submitted or peer reviewed. Working title: Auditing Verifiable Instruction-Following Benchmarks: Specification Gaps, False Verdicts, and Cross-Benchmark Reliability.
- PDF:
paper/main.pdfΒ· source:paper/main.texΒ· bibliography:paper/references.bibΒ· figures:paper/figures/Β· tables:paper/tables/(appendices A verifier examples, B secondary RL context and C reproducibility are insidemain.tex). - Supporting reports:
docs/research/(taxonomy, oracle coverage, bug validation, literature, claim-evidence matrix),docs/reports/M5C2_FINAL_PUBLICATION_GATE.md,docs/reports/M5C3_PUBLICATION_PREPARATION.md(venue comparison and blockers).
The present recommended direction is a narrower benchmark-evaluation paper, not a confirmed Artificial Intelligence Review publication.
13. Reproducibility and provenance
- Source revisions pinned: NVIDIA reference
d2be11c4β¦(docs/audits/PROVENANCE.md), IFBench1c40f0c1β¦, open-instruct11826255β¦, IFEval path commite6890f85β¦, Qwen3.5-0.8B2fc06364β¦, datasets (Β§10); machine-readable:runs/m5c1/pins.json,docs/audits/environment.json. - Configurations: each run stores
resolved_config.json,method_info.json,environment.json,git_revision.txt; indexed indocs/index/EXPERIMENT_INDEX.md. - Checkpoints:
docs/index/CHECKPOINT_INDEX.mdβ 92 checkpoint files; every locally present payload hash was re-verified against its manifest (0 mismatches); base weights are never redistributed; 46 payloads are in the repository, 34 tuning/smoke/resume payloads are local-only and 12 intermediate payloads were not preserved (manifests only). - Seeds: M4 paired 3407, 42, 123, 2026, 777; M5A 3407, 42, 123; dataset split seed 20261014; audit seeds in the scripts (e.g. 20261015). GPU backward passes are not bitwise reproducible, so trajectories are not claimed to reproduce exactly.
- Logs:
runs/*/train_metrics.jsonl,reward_metrics.jsonl(every rollout),gpu_metrics.csv,runs/_logs/. - Tests: 86 CPU tests (
make test), including 21 reference-differential tests against the pinned NVIDIA clone. - GPU-hour accounting:
docs/index/GPU_ACCOUNTING.md. - Integrity:
MANIFEST.sha256(regenerated at each upload and verified by re-download),docs/inventory/FILE_INVENTORY.csv,docs/inventory/SECRET_SCAN.md. - Historical corrections:
docs/technical/RESEARCH_HISTORY.md; original M2/M3 reports carry correction banners. - Known stale documents (kept, flagged):
docs/reports/milestone_log.md(stops at M1),docs/feasibility/compatibility_matrix.md(M0 a-priori assessment),test_logra_manual.py(legacy check).
14. Citation and acknowledgment
Project citation template (placeholders only; no venue, DOI or acceptance exists):
@misc{qwen35_logra_ifbench_audit,
title = {Qwen3.5 x LoGRA x IFBench: Gradient-Sketched Reinforcement Learning and Verifier Reliability},
author = {TODO},
year = {TODO},
note = {Research archive and unsubmitted manuscript draft; https://huggingface.co/Dhruv1000/qwen35-logra-ifbench (see repository page for current visibility)}
}
Please also cite the directly reused methods and benchmarks:
- LoGRA: S. Zhang, Y. Zhang, J. Hu, Y. Li, H. Zhang, B. Xu, J. Kautz, Y. Dong, LoGRA: Scaling LLM Reinforcement Learning with Low-Rank Gradient Sketches, arXiv:2610.06647 (NVIDIA); code port from
skzhang1/labs-molt(Apache-2.0). - IFBench / IF-RLVR: V. Pyatkin et al., Generalizing Verifiable Instruction Following, arXiv:2507.02833.
- IFEval: J. Zhou et al., Instruction-Following Evaluation for Large Language Models, arXiv:2311.07911.
- Qwen3.5 (Qwen team), open-instruct and IFBench code (Allen Institute for AI), PEFT/LoRA, GRPO. Further related work is cited in
paper/references.bibanddocs/research/M5C2_SYSTEMATIC_LITERATURE_REVIEW.md.
Authorship and affiliations are intentionally left unspecified.
15. License and responsible use
- Project code and documentation: Apache-2.0 (
LICENSE).pyproject.tomlauthorship is a placeholder. - Upstream method code: the LoGRA port is adapted from NVIDIA labs-molt (Apache-2.0, attribution in
logra_core.py); the clone itself is not redistributed. IFBench, open-instruct andinstruction_following_evalcode are Apache-2.0 and are not copied into this repository (pinned by commit, kept indata/cache);docs/audits/logra_core_PREFIX_d6962d6.py.txtis a snapshot of our own earlier code. - Model: Qwen3.5-0.8B is Apache-2.0 (Hugging Face model card, checked 14 Oct 2026); weights and tokenizer files are not redistributed. Checkpoints in
runs/contain only method state (adapters / LoGRA master and optimizer state), a derivative of the base model - use them under the base model's licence. - Datasets: IFEval Apache-2.0; IFBench_test and IF_multi_constraints_upto5 are ODC-BY-1.0 with a note that they include third-party model outputs under separate terms; use for research and education per Ai2's responsible-use guidelines. Run directories contain prompts and model-generated responses derived from these datasets (including generated text that may look like e-mail addresses or passwords; the secret scan found no real credentials).
- Responsible use: results are exploratory; do not cite withdrawn claims; AI-rater labels are not human ground truth; verifier findings are drafts until maintainers respond. No private data, tokens or credentials are included; earlier revisions of this repository were publicly visible (see
docs/release/SECURITY_PRIVACY_RELEASE_AUDIT.md).
11d. M8 (evidence-first verifier-testing sprint; branch research/m8-24h-verifier-evidence)
CPU-only follow-up to M6/M7: confirmatory RESERVE panel (240 unseen mutants) and template-disjoint Panel S (spec-first oracles) fixed before running; 24 reconstructed upstream verifier faults; oracle provenance/availability/error ablations; deployment-mode alarm calibration; validated score-impact; an RL qualification gate (NO_GO_GPU, 0 GPU hours). Start at docs/research/m8/M8_MASTER_STATUS.md and docs/reports/M8_FINAL_REPORT.md; manuscript draft paper/m8/main.pdf (not submitted; all labels single-author). Reproduce the primary tables on CPU: make m8-reproduce-core; regenerate the paper numbers/tables and check them: make m8-paper.
11e. M9 (oracle independence, alarm reliability, journal readiness; branch research/m9-oracle-independence-and-validation)
CPU-only. New confirmatory Panel F (24 fresh templates, new specification-first oracles, frozen before any run), budget-matched alarm calibration with verified math, real-fault reanalysis by crash/behaviour and commit cluster, clean-environment reproduction, privacy audit of the public HF repo, blinded review/adjudication packets (unlabelled), manuscript paper/m9/main.pdf (not submitted). Start at docs/research/m9/M9_MASTER_STATUS.md and docs/reports/M9_FINAL_REPORT.md. Clean rebuild: bash scripts/m9_clean_repro.sh (uses requirements-m9-clean.txt).