Qwen/Qwen3-VL-2B-Instruct
Original2.1Bparameters
Fixture11.2Mparameters
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.visual.blocks
Original · 24
Fixture · 24
| Kind | Original | Fixture | |
|---|---|---|---|
| VisionBlock | 24 | 24 | ✓ kept |
model.visual.deepstack_merger_list
Original · 3
Fixture · 3
| Kind | Original | Fixture | |
|---|---|---|---|
| GELU | 3 | 3 | ✓ kept |
model.language_model.layers
Original · 28
Fixture · 2
| Kind | Original | Fixture | |
|---|---|---|---|
| TextDecoderLayer | 28 | 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.
Original
Fixture
| Component | Original | Share | Fixture | Share |
|---|---|---|---|---|
| model.language_model.layers | 1.4B | 66.2% | 74.0K | 0.7% |
| model.language_model | 311.2M | 14.6% | 9.7M | 87.0% |
| model.visual.blocks | 302.3M | 14.2% | 803.3K | 7.2% |
| model.visual.deepstack_merger_list | 75.5M | 3.6% | 248.3K | 2.2% |
| model.visual | 29.1M | 1.4% | 328.2K | 2.9% |
Preserved properties
| Config | Property | Original | Fixture | |
|---|---|---|---|---|
| model | model_type | qwen3_vl | qwen3_vl | ✓ kept |
| model | tie_word_embeddings | True | True | ✓ kept |
| text_config | attention style | GQA (16 heads, 8 KV) | GQA (4 heads, 2 KV) | ✓ kept |
| text_config | RoPE type | default | default | ✓ kept |
| text_config | model_type | qwen3_vl_text | qwen3_vl_text | ✓ kept |
| text_config | vocab_size | 151936 | 151936 | ✓ 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 | RoPE type | axial | axial | ✓ kept |
| vision_config | model_type | qwen3_vl_vision | qwen3_vl_vision | ✓ kept |
| vision_config | hidden_act | gelu_pytorch_tanh | gelu_pytorch_tanh | ✓ kept |
| vision_config | patch_size | 16 | 16 | ✓ kept |
Module classes
Instances of each class in the built model (prefix Qwen3VL omitted).
| Class | Original | Fixture |
|---|---|---|
| Linear | 301 | 119 |
| TextRMSNorm | 113 | 9 |
| LayerNorm | 52 | 52 |
| TextAttention | 28 | 2 |
| TextDecoderLayer | 28 | 2 |
| TextMLP | 28 | 2 |
| SiLUActivation | 28 | 2 |
| GELUTanh | 24 | 24 |
| VisionAttention | 24 | 24 |
| VisionBlock | 24 | 24 |
| VisionMLP | 24 | 24 |
| GELU | 4 | 4 |
| VisionPatchMerger | 4 | 4 |
| ModuleList | 3 | 3 |
| Embedding | 2 | 2 |
| Conv3d | 1 | 1 |
| ForConditionalGeneration | 1 | 1 |
| Model | 1 | 1 |
| TextModel | 1 | 1 |
| TextRotaryEmbedding | 1 | 1 |
| VisionModel | 1 | 1 |
| VisionPatchEmbed | 1 | 1 |
| VisionRotaryEmbedding | 1 | 1 |
Config changes
11 fields changed, 54 unchanged.
| Field | Original | Fixture |
|---|---|---|
| text_config.head_dim | 128 | 16 |
| text_config.hidden_size | 2048 | 64 |
| text_config.intermediate_size | 6144 | 128 |
| text_config.num_attention_heads | 16 | 4 |
| text_config.num_hidden_layers | 28 | 2 |
| text_config.num_key_value_heads | 8 | 2 |
| text_config.rope_parameters | {"mrope_interleaved": true, "mrope_section": [24, 20, 20], "rope_type": "defa… | {"mrope_interleaved": true, "mrope_section": [3, 3, 2], "rope_theta": 5000000… |
| vision_config.hidden_size | 1024 | 64 |
| vision_config.intermediate_size | 4096 | 128 |
| vision_config.num_heads | 16 | 4 |
| vision_config.out_hidden_size | 2048 | 64 |