openbmb/MiniCPM-V-4.6
Original1.3Bparameters
Fixture17.3Mparameters
Layer stacks3compared
Findings0to review
✓ Same architecture, smaller
Every module class, layer kind and checked property of the original is in the fixture.
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.vision_tower.encoder.layers
Original · 27
Fixture · 2
| Kind | Original | Fixture | |
|---|---|---|---|
| VisionEncoderLayer | 27 | 2 | ✓ kept |
model.language_model.layers
Original · 24
Fixture · 2
| Kind | Original | Fixture | |
|---|---|---|---|
| linear_attention, Conv1d, Qwen3_5GatedDeltaNet … | 18 | 1 | ✓ kept |
| is_causal=True, Qwen3_5Attention | 6 | 1 | ✓ kept |
model.merger.mlp
Original · 1
Fixture · 1
| Kind | Original | Fixture | |
|---|---|---|---|
| GELU | 1 | 1 | ✓ 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.
Original
Fixture
| Component | Original | Share | Fixture | Share |
|---|---|---|---|---|
| model.language_model.layers | 498.1M | 38.3% | 748.0K | 4.3% |
| model.vision_tower.encoder.layers | 411.5M | 31.6% | 66.9K | 0.4% |
| model.language_model | 254.0M | 19.5% | 15.9M | 91.7% |
| model.vision_tower | 110.8M | 8.5% | 533.1K | 3.1% |
| model.merger.mlp | 26.0M | 2.0% | 82.8K | 0.5% |
Preserved properties
| Config | Property | Original | Fixture | |
|---|---|---|---|---|
| model | model_type | minicpmv4_6 | minicpmv4_6 | ✓ kept |
| model | tie_word_embeddings | True | True | ✓ kept |
| model | image_size | 1120 | 1120 | ✓ kept |
| model | patch_size | 14 | 14 | ✓ kept |
| text_config | attention style | GQA (8 heads, 2 KV) | GQA (4 heads, 2 KV) | ✓ kept |
| text_config | RoPE type | default | default | ✓ kept |
| text_config | model_type | qwen3_5_text | qwen3_5_text | ✓ kept |
| text_config | vocab_size | 248094 | 248094 | ✓ kept |
| text_config | tie_word_embeddings | True | True | ✓ kept |
| text_config | hidden_act | silu | silu | ✓ kept |
| text_config | max_position_embeddings | 262144 | 262144 | ✓ kept |
| vision_config | model_type | minicpmv4_6_vision | minicpmv4_6_vision | ✓ kept |
| vision_config | hidden_act | gelu_pytorch_tanh | gelu_pytorch_tanh | ✓ kept |
| vision_config | image_size | 980 | 980 | ✓ kept |
| vision_config | patch_size | 14 | 14 | ✓ kept |
| vision_config | num_channels | 3 | 3 | ✓ kept |
Module classes
Instances of each class in the built model (prefix MiniCPMV4_6 omitted).
| Class | Original | Fixture |
|---|---|---|
| Linear | 357 | 36 |
| Qwen3_5RMSNorm | 61 | 7 |
| LayerNorm | 58 | 8 |
| GELUTanh | 28 | 3 |
| VisionAttention | 28 | 3 |
| VisionEncoderLayer | 27 | 2 |
| VisionMLP | 27 | 2 |
| Qwen3_5DecoderLayer | 24 | 2 |
| Qwen3_5MLP | 24 | 2 |
| SiLUActivation | 24 | 2 |
| Conv1d | 18 | 1 |
| Qwen3_5GatedDeltaNet | 18 | 1 |
| Qwen3_5RMSNormGated | 18 | 1 |
| Qwen3_5Attention | 6 | 1 |
| ModuleList | 3 | 3 |
| Embedding | 2 | 2 |
| Conv2d | 1 | 1 |
| GELU | 1 | 1 |
| DownsampleMLP | 1 | 1 |
| ForConditionalGeneration | 1 | 1 |
| Merger | 1 | 1 |
| Model | 1 | 1 |
| ViTWindowAttentionMerger | 1 | 1 |
| VisionEmbeddings | 1 | 1 |
| VisionEncoder | 1 | 1 |
| VisionModel | 1 | 1 |
| Qwen3_5TextModel | 1 | 1 |
| Qwen3_5TextRotaryEmbedding | 1 | 1 |
Config changes
10 fields changed, 73 unchanged.
| Field | Original | Fixture |
|---|---|---|
| text_config.head_dim | 256 | 16 |
| text_config.hidden_size | 1024 | 64 |
| text_config.intermediate_size | 3584 | 128 |
| text_config.layer_types | 24 entries: 18× linear_attention, 6× full_attention | ["linear_attention", "full_attention"] |
| text_config.num_attention_heads | 8 | 4 |
| text_config.num_hidden_layers | 24 | 2 |
| vision_config.hidden_size | 1152 | 64 |
| vision_config.intermediate_size | 4304 | 128 |
| vision_config.num_attention_heads | 16 | 4 |
| vision_config.num_hidden_layers | 27 | 2 |