Downloads · 30 days
8
100% of all-time downloads
TightX/code-llm-435m-sft
code-llm-435m-sft is a machine learning model from TightX. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for pytorch. The card lists the license as mit.
The instruction-tuned version of the 435M from-scratch code model whose pretrained weights are in ../base. Same architecture, same 32,000-token byte-level BPE vocabulary, same 1,024-token context — only the weights di…
Downloads · 30 days
8
100% of all-time downloads
All-time downloads
8
Public
Parameters
435M
869 MB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors869 MB · 100%
From the Hugging Face model README
The instruction-tuned version of the 435M from-scratch code model whose pretrained weights are in
../base. Same architecture, same 32,000-token byte-level BPE vocabulary, same 1,024-token
context — only the weights differ. It reads a plain-English request ("write a function that checks
whether a number is prime") or continues a bare def signature, and writes Python.
This is the checkpoint the post-training log selects for release: first of seven candidates on a task set that never took part in any selection decision, and still in the top tier on the tasks that did.
Identical to ../base — see that card for the full table. In short: 434,680,832
parameters, 22 layers, d_model 1,024 / 16 heads, SwiGLU (d_ff 4,096), RoPE (theta 500,000), RMSNorm,
causal SDPA, untied embeddings, context 1,024, released file in bf16.
| Base | base/model.safetensors — the weight-soup of the pretraining run, not its last step |
| Data | 147 M tokens of gold-standard instruction data (only examples whose reference solution passes its unit tests) interleaved with 29.4 M tokens of signature→body pairs, 5:1 |
| Epochs | 1 |
| Learning rate | 2e-5, cosine to 10%, 50-step warmup |
| Batch | micro 8 × 4 accumulation = 32,768 tokens per step |
| Precision | bf16 + TF32 + torch.compile |
| Seed | 46 |
| Hardware / time | one RTX 5090 (32 GB), ~90 minutes |
Roughly 30 post-training runs were evaluated to reach this one. The approaches that did not work — instruction-free training, teaching the two objectives in two stages, self-distillation, weight averaging ("soups"), ratio sweeps — are documented with their numbers, including the mistakes, in the GitHub repository.
| Suite | Protocol | Strict | Lenient |
|---|---|---|---|
| The 11 tuning tasks | 20 attempts per task per prompt style (reported on a 55-point-per-column scale: 82.2 / 110 = 74.7%) | 82.2 / 110 | 85.8 / 110 |
| 12 held-out tasks (never used for selection) | 10 attempts per task per prompt style | 71.0% of 240 | 76.5% |
Per column on the tuning suite: natural-language requests 49.8 / 55, bare signatures 32.5 / 55.
The held-out row is the point of the exercise. A model that led the tuning board at 81.6 (89.8 on the 5-attempt protocol) finished last there — 55.8 against 59–65 for the rest — because part of its advantage was a formatting habit that those 11 tasks happened to reward. Selecting on a fixed set of tasks repeatedly is how a fake champion is manufactured; the honest number is the one from tasks the selection never saw.
quicksort and two_sum are near-zero for every arm, including this one. That is a capability
boundary of a 435M model trained on 31 B tokens, not a tuning miss.| File | What |
|---|---|
model.safetensors | bf16 weights, 157 tensors — verified bit-identical to the training checkpoint after the fp32→bf16 cast |
config.json | architecture config exactly as stored in the training checkpoint |
tokenizer.json | byte-level BPE, 32,000 tokens (the same tokenizer as ../base) |
SHA256SUMS.txt | artifact hash |
Loading it requires the model class from the training repository (src/train.py, class CodeLLM with
ModelConfig(**config.json)); a state dict built by hand will not reproduce the forward pass.
Research and education: what a few-hundred-million-parameter model can learn end to end on real data, and what makes the difference between a checkpoint that looks good and one that is good. Not for production code generation, not a coding assistant, not a substitute for a competent developer: at 1,024 tokens of context and 435 M parameters it neither plans nor reasons. Trained only on public code and instruction data; no personal data. Outputs may reproduce patterns (and licensing quirks) from the training corpus despite filtering and deduplication.
DESIGN.md (decisions and why), CHALLENGES.md (every bug and contaminant), the ablation report, the
post-training log with its corrections, and the evaluation harness are in the GitHub repository. MIT
licensed.