Repository navigation
Conversation
…ash-prefix-loss # Conflicts: # draft_training/config.py
|
Real-checkpoint prefix/position objective smoke results The RunPod source was the combined training stack at
The exact PR head This was an 8-train/4-validation/4-native-test authored smoke, one seed, with eight validation blocks and short continuations. The teacher used template-default thinking/xhigh; native probes disabled thinking and used a distinct 4-bit target. These differences and the tiny sample prevent a matched-distribution effectiveness conclusion. No serving throughput or sampled-decoding benchmark was run, and no newly trained weights become a serving default. |
Adds opt-in teacher-forced prefix-survival reward and position weighting alongside ordinary continuation losses. Natural candidate misses stop survival, padding/censored labels are masked and evaluation never injects gold candidates. Defaults retain the existing continuation objective.
Merge scope and dependencies
Depends on #551; merge the training chain #499 → #537 → #551 → #552 → #553 → #554 in that order. All PRs target
mainper CONTRIBUTING; review this component against its immediate prerequisite. Parent changes remain visible against main until those parents merge. Merge commits preserve the tested ancestry; after squash/rebase merges, refresh dependent heads against main and rerun their checks.Implements the objective factor of #544. It is a smooth greedy-prefix surrogate; verification-error mining/mixing and real-model acceptance comparisons remain research follow-ups. Ready-for-review status applies to these optional tools and their implementation tests. No checkpoint acceptance or speedup improvement is claimed, and no newly trained/experimental architecture becomes a serving default.
Validation at
4ed704241c8607ebd93db9f472af339b644bb70221ad8428328a) ran. Actual MPS was required and CPU fallback disabled.DFLASH_REFERENCE=/path/to/dflash/dflash/model.py \ DFLASH_REQUIRE_MPS=1 PYTORCH_ENABLE_MPS_FALLBACK=0 \ python -m unittest discover -s dev/tests/training -t . -vCPU/MPS fixture and reference checks above are implementation evidence. Additional real-checkpoint CUDA qualification is recorded below.
Real-checkpoint CUDA and native qualification
Recipes, model revisions, raw metrics and replayable native captures are published in #554. The CUDA source is the combined training stack at
d066629ff370; this is additional integration evidence, not a claim that every isolated parent head ran on CUDA. One A100-SXM4-80GB ran the actual pinned BF16 Qwen3.8-27B teacher and released DFlash2 draft. Python 3.12.3, torch 2.13.0+cu130, CUDA 13.0, Transformers 5.15.1.The prefix/position recipe completed 20 selector steps (prefix weight 0.1, position decay 0.9) and passed native loading/replay. It did not improve validation acceptance in this smoke.
All four 20-step recipes exported finite BF16 weights. Capture tensor payloads matched exactly across recipes; frozen export tensors were checked by payload hash. Validation mean matching proposals remained 3.875 → 3.875 in every run. All four exports passed native loading/capture/replay against a fixed low-bit target, with exact cloud export hashes verified. The released draft plus four exports produced 540 native lane-cycles. No consistent acceptance improvement or serving speedup was demonstrated. Tiny authored splits, one seed and correlated cycles limit effectiveness conclusions. The BF16 teacher and quantized native target remain distinct artifacts. No new checkpoint becomes a default; research/deployment issues remain open.
The pinned teacher template defaults to thinking enabled with
xhighreasoning effort; native probes explicitly disabled thinking. This mode mismatch, together with the BF16/low-bit target difference and short captures, prevents a matched-distribution effectiveness conclusion. Future capture controls should make thinking mode explicit and include it in cache/run provenance.