開放模型與視覺生成
SenseNova-U1.5’s Official Weights Actually Contain About 17.5 Billion Parameters, While the Hub’s Quick-Load Path Still Lacks Required Code
The official SenseNova-U1.5-8B-MoT release uses a single backbone for visual understanding, native image generation, and editing, with its model card listing an actual size of 18B parameters. Verification during a third-party ONNX port found that Hugging Face’s `trust_remote_code` declaration points to files that were not released with the weights, so deployers must currently use the GitHub reference implementation as well.

SenseNova has released the official U1.5-8B-MoT weights and an Apache 2.0 reference implementation. Rather than chaining together separate language models, vision encoders, and diffusion models, it retains two sets of weights—for understanding and image generation—within a 42-layer Qwen3 decoder. Text and reference images first pass through the understanding branch to build a KV cache. At each flow-matching step, the generation branch then reads this prefix and directly predicts pixels. SenseNova says the new version improves native 4K generation, Chinese and English text rendering, complex layouts, and localized and multi-reference image editing.
The “8B” label can easily lead to deployment miscalculations. The model card currently lists the model as 18B; a tensor-by-tensor inspection by Microsoft’s Mobius team counted 17,532,854,464 parameters and approximately 50.2GB of weights, comprising about 9.35B parameters in the understanding branch and 8.12B in the generation branch. The two branches also do not use token-level MoE routing. Instead, each forward pass switches between the branches as a whole. During generation, the KV cache from the understanding branch is frozen while the other decoder stack runs repeatedly.
A more immediate compatibility problem lies in the packaging. The Hugging Face configuration declares that `AutoModel` should load through `modeling_neo_chat.py`, but neither that file nor its corresponding configuration file is included in the model repository. Consequently, the one-line example using `trust_remote_code=True` on the model page cannot work independently. The complete official quick start actually requires users to clone the GitHub repository first and then load the weights through its `sensenova_u1` package.
Mobius’s conversion tests also found that the understanding weights use BF16, while much of the generation branch is stored in FP32. When the latter was directly converted to FP16, overflow and NaN values appeared at around step 15 of a 20-step sampling run. Its H200 ONNX test peaked at approximately 91GB of memory usage, but this reflects a specific export path rather than an official minimum requirement and cannot be extrapolated to LightX2V or quantized versions. Deployers should wait for corrected Hub packaging, independent quality evaluations, and official GGUF or low-memory options before considering production use.