Views
No views yet
Qwen3_5VisionModel, ~SigLIP-style ViT used to embed images/video frames)Qwen3_5Model.forward (pixel_values, image_grid_thw, etc.)mtp.*) head present in the original checkpoint (already ignored
at load time by the original model too - see _keys_to_ignore_on_load_unexpected in the upstream code)model.embed_tokens)Qwen3_5GatedDeltaNet) layers interleaved with
standard full-attention layers every full_attention_interval layers, exactly as in the original
text backbone (model.language_model in the original checkpoint -> model here)model.norm) and LM head (lm_head)generate() decodes were verified to match token-for-token, and logits matched with a max
absolute difference of 0.00e+00 (bf16 numerical noise floor).qwen3_5_text / Qwen3_5ForCausalLM) is natively supported in
transformers>=5.9. No trust_remote_code is required:1import torch
2from transformers import AutoModelForCausalLM, AutoTokenizer
3
4model = AutoModelForCausalLM.from_pretrained("tuandunghcmut/Qwen3.5-9B-text-only", dtype=torch.bfloat16, device_map="auto")
5tok = AutoTokenizer.from_pretrained("tuandunghcmut/Qwen3.5-9B-text-only")
6
7inputs = tok("The capital of France is", return_tensors="pt").to(model.device)
8out = model.generate(**inputs, max_new_tokens=30)
9print(tok.decode(out[0], skip_special_tokens=True))modeling_qwen3_5_text.py + configuration_qwen3_5_text.py,
verified bit-for-bit identical to the native transformers implementation on random weights) is
included in this repo for transparency/portability. It is not required for loading - transformers
already ships this architecture natively - but documents exactly what the text-only forward pass does.