Skip to content

igla cell 25 published: the whole-model HSLM trained by t27c --backend ml is on Hugging Face (Closes #10833) - #10836

Open
gHashTag wants to merge 3 commits into
masterfrom
feat/hslm-card-cell25
Open

gHashTag wants to merge 3 commits into
masterfrom
feat/hslm-card-cell25

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 19, 2026 •

Copy link
Copy Markdown
Owner

Closes #10833. Epic #10024, own_model cell 25. The eval and baseline specs this card cites are in #10467.

What changes

  • specs/hf/model_card_hslm.t27 (new). This is the card of playra/hslm-t27-2m at HF commit 39df9a77794988a0fff324b2b52fbe9176271a76. It is byte-identical to the model_card.t27 published there (sha256 0b8452aa...4cc1d8e). The README on Hugging Face carries no numbers; every fact lives in this card. Its 14 tests re-derive:
    • the parameter count: 2,130,138 = 1,948,617 trits + 177,147 embedding + 3 x 1215 floats + 729 output bias;
    • the tokenizer fill (4 + 256 + 469 = 729) and the token-file sizes;
    • the training arithmetic (66 x 27 x 8000 = 14,256,000 tokens) and the speed implied by the run log's done line;
    • the falling held-out curve, from ln 729;
    • bits per byte from loss for each baseline;
    • the ordering trigram < HSLM < bigram < unigram < uniform;
    • the checkpoint byte counts from the shapes, and the sha256 of every file in the release.
  • specs/igla/own_model.t27.
    • Cell 25 ("t27c --backend ml") is live and published. The --backend ml binary of ml/train_hslm.t27 (spec(ml): train_hslm -- main() trains the whole 3-block HSLM with STE and LAMB, writes MSLH checkpoints (Refs #10372) #10387) trained the whole 3-block model, and the result is public.
    • Cells 17 and 18 now cite train_hslm's whole-model STE shadow weights and its token-file and checkpoint I/O. Both stay verified.
    • Tally: 5 published, 22 verified, 0 drafts, 0 gaps. Percents by lens: 68 / 77 / 53, 66 overall.
    • The "what is left" rows are now: train past 8000 of 32000 steps, beat the trigram, a trainer faster than 307 tokens/s.
    • There is a new MEASURED entry, and THE ANSWER is rewritten.
  • specs/igla/own_model_board.t27, gen/json/igla/own_model_board.json and three seals follow those changes.

The result, against baselines (same 19,683 held-out windows, TinyStories-V2 valid)

model full-window ppl stream bits per byte
uniform over 729 729 about 3.25
unigram 333.98 2.865
bigram 33.92 1.738
HSLM, step 8000 25.41 about 1.595
trigram 12.52 1.228

HSLM beats the bigram and loses to the trigram, after a quarter of the trainer's default steps (8000 of 32000, 1.7 passes over the 8.56M-token train cut). Train and held-out loss are within 0.02 nats of each other. Run R5's PPL 2.96 is not comparable: it was measured on one training minibatch at the last position only, best of several seeds, on a different data cut.

Evidence (Railway lab, t27c 0.5.2 /root/dupdecl, zig 0.16.0, a checkout at master 78e57be)

  • t27c test-report: specs/hf/model_card_hslm.t27 14/14, specs/igla/own_model.t27 10/10, specs/igla/own_model_board.t27 6/6. All pass, 0 vacuous.
  • Negative controls:
    • On the card: six copies, each with one number changed (trigram loss, a bits-per-byte value, a curve point, the parameter count minus 1, tokens/s, the state byte count). Each fails the test that re-derives that number.
    • On the map: putting cell 25's status back to verified fails a_status_is_earned_not_chosen.
  • t27c seal --save and seal --verify on all three specs print all hashes MATCH. t27c gen-json specs/igla/own_model_board.t27 gives the committed JSON: 5 published, 22 verified, 0 drafts, 0 gaps; 66%.
  • Live: GET huggingface.co/api/models/playra/hslm-t27-2m returns 200, sha 39df9a77.... The state file, the MSLH file, the card and the run log were downloaded back from Hugging Face, and their sha256 match the card.
  • Eval check: eval_hslm with check=1 gives the same bits as the trainer's own tr_valid_loss (3.229189). A rerun on the binary rebuilt from master prints the identical line.

Review

This PR has auto-merge off (no-auto-merge). Cell 25's REVIEWED flag comes from review 5561941493 on #10275, which covered the slice binary. This PR put the whole-model evidence to review. Review 5567974497 is the reviewer bee on head a99dde7. Its model verdict was approve, with FR-001 to FR-005 met. The bee posted it as NEEDS_PERSON, not APPROVE, because that head changes .trinity/seals and gen/json files. Commit 4af190d pins that review in specs/igla/own_model.t27 as REVIEW_HSLM_PR / REVIEW_HSLM_ID, with a test, and reseals that spec: 10/10 pass, 0 vacuous, all hashes MATCH. The PR merges over the hold under the owner's standing instruction, as #10428 and #10475 did.

Not claimed: no quality beyond the numbers above. This is a research checkpoint, not a story generator.

🤖 Generated with Claude Code

…d ml is on Hugging Face (Closes #10833)

specs/hf/model_card_hslm.t27 is the card of playra/hslm-t27-2m (HF commit
39df9a77), byte-identical to the model_card.t27 on Hugging Face; 14/14 tests,
0 vacuous, on the Railway lab. Its tests re-derive the parameter count, file
sizes, training arithmetic, bits per byte and the ordering against the n-gram
baselines (held-out ppl 25.41: bigram 33.92, trigram 12.52).

own_model.t27: cell 25 is live and published (5 published, 22 verified);
cells 17 and 18 cite train_hslm's whole-model STE and checkpoint I/O; percents
to 68/77/53, 66 overall; the what-is-left rows and THE ANSWER follow. The board
spec, its gen/json event and the three seals are regenerated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The t27b-native ratchet on #10836 listed the new card as UNLISTED: the
reference passes it and so does t27b (run 39198150772). The other 11
UNLISTED rows of that run come from master and are left to the steward.

Refs #10833

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-19 04:57:27 UTC

Summary

Status Count
Total Open PRs 50
PRs with Failing Checks 43
PRs with All Checks Green 7
READY 2
FAILING 43
PENDING 0
NO CHECKS YET 0

These columns do not partition: 2 + 43 + 0 + 0 = 45, and there are 50 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=03f3de4a3582 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

This was referenced Oct 19, 2026
This was referenced Oct 19, 2026

This branch has not been deployed

No deployments
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.

own_model: cell 25 published -- the whole-model HSLM trained by a t27c --backend ml binary is on Hugging Face

1 participant