Summary
During a review of pkg/hfutil/modelconfig/testdata/ configs against HuggingFace, several files were fixed in the associated PR. The following files still have discrepancies that require deeper changes (Go struct updates, new field support, or gated repo access).
Files requiring attention
Qwen3.5 models — major architecture change on HF
-
qwen3_5_27b.json — HF (Qwen/Qwen3.5-27B) updated to a hybrid linear-attention/full-attention architecture with many new fields (layer_types, head_dim=256, linear_conv_kernel_dim, linear_key_head_dim, mtp_num_hidden_layers, mamba_ssm_dtype, etc.). Key dimension changes: hidden_size 3584→5120, num_attention_heads 28→24, num_hidden_layers 62→64, vocab_size 248064→248320.
-
qwen3_5_35b_a3b.json — HF (Qwen/Qwen3.5-35B-A3B) updated to a hybrid MoE architecture. Key changes: num_experts 128→256, num_hidden_layers 48→40, num_key_value_heads 4→2, vocab_size 248064→248320, vision_config.model_type qwen3_5→qwen3_5_moe.
Both require updating the Qwen3VLConfig Go struct to support the new architecture fields.
Llama 4 models — config field naming changes
-
llama4.json (Maverick) — Uses older nope_layer_interval: 4 field; HF now uses no_rope_layers array instead.
-
llama4_scout_17b_16e.json — rope_scaling.factor is 8.0 locally vs 16.0 on HF. no_rope_layers is empty locally vs populated on HF. HF also has new fields: attn_scale, attn_temperature_tuning, floor_scale, cache_implementation, moe_layers.
Both require updating the Llama4Config Go struct to support the no_rope_layers field and reconciling the config values.
Llama 3.2 Vision — gated repo
llama3_2_11b_vision.json — vision_config.image_size is 560 locally. The unsloth mirror shows 448 but has "unsloth_fixed": true, suggesting possible modifications. The original meta-llama/Llama-3.2-11B-Vision repo is gated (401), so the authoritative config cannot be verified without access.
Suggested approach
- Update Go structs (
Qwen3VLConfig, Llama4Config) to support new HF config fields
- Fetch updated configs from HF (or request gated access for Llama)
- Update testdata files and test assertions accordingly
🤖 Generated with Claude Code
Summary
During a review of
pkg/hfutil/modelconfig/testdata/configs against HuggingFace, several files were fixed in the associated PR. The following files still have discrepancies that require deeper changes (Go struct updates, new field support, or gated repo access).Files requiring attention
Qwen3.5 models — major architecture change on HF
qwen3_5_27b.json— HF (Qwen/Qwen3.5-27B) updated to a hybrid linear-attention/full-attention architecture with many new fields (layer_types,head_dim=256,linear_conv_kernel_dim,linear_key_head_dim,mtp_num_hidden_layers,mamba_ssm_dtype, etc.). Key dimension changes:hidden_size3584→5120,num_attention_heads28→24,num_hidden_layers62→64,vocab_size248064→248320.qwen3_5_35b_a3b.json— HF (Qwen/Qwen3.5-35B-A3B) updated to a hybrid MoE architecture. Key changes:num_experts128→256,num_hidden_layers48→40,num_key_value_heads4→2,vocab_size248064→248320,vision_config.model_typeqwen3_5→qwen3_5_moe.Both require updating the
Qwen3VLConfigGo struct to support the new architecture fields.Llama 4 models — config field naming changes
llama4.json(Maverick) — Uses oldernope_layer_interval: 4field; HF now usesno_rope_layersarray instead.llama4_scout_17b_16e.json—rope_scaling.factoris 8.0 locally vs 16.0 on HF.no_rope_layersis empty locally vs populated on HF. HF also has new fields:attn_scale,attn_temperature_tuning,floor_scale,cache_implementation,moe_layers.Both require updating the
Llama4ConfigGo struct to support theno_rope_layersfield and reconciling the config values.Llama 3.2 Vision — gated repo
llama3_2_11b_vision.json—vision_config.image_sizeis 560 locally. The unsloth mirror shows 448 but has"unsloth_fixed": true, suggesting possible modifications. The originalmeta-llama/Llama-3.2-11B-Visionrepo is gated (401), so the authoritative config cannot be verified without access.Suggested approach
Qwen3VLConfig,Llama4Config) to support new HF config fields🤖 Generated with Claude Code