Skip to content

fix(training+eval): three defects found by the first real eval run - #26

Merged
log0u7 merged 3 commits into
mainfrom
fix/empty-validation-split
Oct 26, 2026
Merged

log0u7 merged 3 commits into
mainfrom
fix/empty-validation-split

Conversation

@log0u7

@log0u7 log0u7 commented Oct 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • _messages_dataset tolerates a 0-record validation split (tiny datasets emit them legitimately); the empty-TRAIN guard stays explicit (raise).
  • task-eval batch builder: one single-message conversation per prompt. The flat list merged a whole batch into ONE chat sequence: a 4-prompt batch produced a single 1965-token input and ONE answer for all four prompts (predictions could never match records one-to-one).
  • load_student_model resolves Hub model ids via snapshot_download (base-model side of task-eval); missing absolute local paths still fail fast.

All three found by the first real GPU eval run (RTX 3080, Qwen3-1.7B base vs QLoRA student on the post-cutoff CTF holdout).

Issue for this PR

N/A

Checklist

  • Conventional Commits
  • Tests added (TDD: empty split, conversation structure, hub-id resolution)
  • make lint + mypy + 466 tests green locally

- _messages_dataset tolerates a 0-record split (tiny datasets emit
  them legitimately); the empty-TRAIN guard stays explicit.
- task-eval batch builder: one single-message conversation per prompt;
  the flat list merged a whole batch into one sequence, so a 4-prompt
  batch produced a single 1965-token input and one answer for all.
- load_student_model resolves Hub model ids (base-model side of
  task-eval) via snapshot_download; local absolute paths that do not
  exist still fail fast.
A malformed Hub id (extra path segments) raised a raw HFValidationError
traceback through the CLI; model resolution failures now surface as
clean BrainforgeError messages.
@log0u7
log0u7 merged commit 7aa8b11 into main Oct 26, 2026
8 checks passed
@log0u7
log0u7 deleted the fix/empty-validation-split branch October 26, 2026 15:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant