SenseNova-U1.5-8B native pixel interfaces
Understanding/generation patch embeddings with RoPE and spatial downsampling; timestep and noise-scale MLPs; convolutional RGB output head. Semantic and flow computation remains inside the omitted shared backbone. This is a research interface bundle, not a standalone vision encoder or VAE.
原生像素接口研究包:输入投影、时间/噪声编码与像素输出头;语义理解和流匹配仍依赖未包含的共享主干。不是独立 ViT 或 VAE。
Provenance
Extracted from sensenova/SenseNova-U1.5-8B-MoT at 9feeeab8a2792514d109cd34589342a2cc1d4ab2. Native code revision and attribution are recorded in code_provenance.json and NOTICE. No language model is instantiated by the loader. This repository is an unofficial component export, not an official release from the original authors.
- Tensors: 20; stored parameters/elements: 80,686,272.
- Tensor payload: 161,372,544 bytes; dtype: ['BF16'].
- Main checkpoint SHA256:
85999c9be3f20f5ffc41f85be11a6a0d078754eb25207be872e488383e323d20. - Full source configuration is preserved separately as
source_config.json; the custom root config documents this package only. This is an explicit Python loader, not a registered AutoModel or timm architecture.
Use
Install requirements.txt in a dedicated environment. Source files are vendored at a pinned upstream revision. The loader strictly checks every state key.
import sys, torch
from huggingface_hub import snapshot_download
path = snapshot_download("gatilin/sensenova_u1_5_8b_pixel_io")
sys.path.insert(0, path)
from component import load_model
model = load_model(path) # CPU; BF16 for UniAR, FP32 for other components
patches = torch.zeros(16, 3 * 16 * 16) # native CHW order per patch
with torch.inference_mode():
und = model.encode_pixels(patches, torch.tensor([[4, 4]]))
gen = model.encode_pixels(patches, torch.tensor([[4, 4]]), generation=True)
time = model.fm_modules["timestep_embedder"](torch.tensor([0.5]))
# A real output requires hidden states from the shared backbone:
rgb = model.decode_hidden(torch.zeros(1, 6, 4096), (2, 3))
# Time follows SenseNova's clean-prediction flow: v=(x_pred-z)/(1-t).
Validation
validation.json records all checks: original source tensor bytes match, strict loading passes, 3 native equivalence cases pass, plus the useful-resolution smoke case 256_native_pixel_io. Tests ran with FP32 on CPU. Where supported, native eager reference attention was compared to SDPA in the exported loader. Discrete token/bit outputs are checked exactly; floating outputs use tolerance documented in the validation script.
The reference loads original source ranges directly; the exported loader independently reads the assembled Safetensors checkpoint. Tests cover only the component APIs. They do not establish downstream understanding accuracy, text-to-image quality, or GPU/FlashAttention equivalence. Synthetic input images/tensors are used; reconstruction is lossy and no pixel-fidelity benchmark is claimed.
Reproduce extraction with extract_unified_components.py sensenova_pixel_io (default outputs alongside the script); then run python validate_unified_components.py PATH. The byte comparison requires .download source chunks, which extraction creates but this repository intentionally does not upload.
License and attribution
The original weight and code licenses remain applicable. Preserve upstream author notices. See LICENSE, NOTICE, SOURCE_README.md, and source-file headers.