RecursiveSI/flint
✓ Same architecture, smaller
Every module class, layer kind and checked property of the original is in the fixture.
Model tester (advisory)
The model's own small test config in its ModelTester (19 literal values, 3 set by the model's own tester, the rest generic base-tester defaults). Testers are usually representative but not always, so these notes are for review, not rules.
The fixture covers every per-layer kind the tester sets, and shrinks every size it does.
Layer stacks
One square per layer, colored by kind: the layer's module classes and type attributes. Hover a square for its index and kind.
model.layers
| Kind | Original | Fixture | |
|---|---|---|---|
| no Experts | 2 | 1 | ✓ kept |
| Experts, SparseMoeBlock, TopKRouter | 47 | 2 | ✓ kept |
Where the parameters are
Share of each model's parameters per component. Vocabulary and patch sizes are kept, so embeddings usually take a larger share of the fixture.
| Component | Original | Share | Fixture | Share |
|---|---|---|---|---|
| model.layers | 39.2B | 98.5% | 160.7K | 0.8% |
| lm_head | 307.5M | 0.8% | 9.6M | 49.6% |
| model.embed_tokens | 307.5M | 0.8% | 9.6M | 49.6% |
| model.norm | 2.0K | 0.0% | 64 | 0.0% |
Preserved properties
| Config | Property | Original | Fixture | |
|---|---|---|---|---|
| model | attention style | GQA (32 heads, 4 KV) | GQA (4 heads, 2 KV) | ✓ kept |
| model | MoE routing | top-6 of 256 experts | top-2 of 4 experts | ✓ kept |
| model | RoPE type | default | default | ✓ kept |
| model | model_type | flint | flint | ✓ kept |
| model | vocab_size | 150144 | 150144 | ✓ kept |
| model | tie_word_embeddings | False | False | ✓ kept |
| model | hidden_act | silu | silu | ✓ kept |
| model | max_position_embeddings | 262144 | 262144 | ✓ kept |
Module classes
Instances of each class in the built model (prefix Flint omitted).
| Class | Original | Fixture |
|---|---|---|
| Linear | 344 | 22 |
| RMSNorm | 197 | 13 |
| SiLUActivation | 96 | 5 |
| Attention | 49 | 3 |
| DecoderLayer | 49 | 3 |
| MLP | 49 | 3 |
| Experts | 47 | 2 |
| SparseMoeBlock | 47 | 2 |
| TopKRouter | 47 | 2 |
| Embedding | 1 | 1 |
| ForCausalLM | 1 | 1 |
| Model | 1 | 1 |
| RotaryEmbedding | 1 | 1 |
| ModuleList | 1 | 1 |
Config changes
12 fields changed, 31 unchanged.
| Field | Original | Fixture |
|---|---|---|
| head_dim | 128 | 16 |
| hidden_size | 2048 | 64 |
| intermediate_size | 6144 | 128 |
| layer_types | 49 entries: 35× sliding_attention, 14× full_attention | ["full_attention", "sliding_attention", "full_attention"] |
| mlp_only_layers | [0, 1] | [0] |
| moe_intermediate_size | 512 | 32 |
| num_attention_heads | 32 | 4 |
| num_experts | 256 | 4 |
| num_experts_per_tok | 6 | 2 |
| num_hidden_layers | 49 | 3 |
| num_key_value_heads | 4 | 2 |
| shared_expert_intermediate_size | 1024 | 128 |