Moonshot AI Opens MoonViT-SO-400M to Process Any Image Without Resizing

Moonshot AI releases MoonViT-SO-400M as a standalone encoder, letting developers plug native-resolution vision into any multimodal pipeline

·
·
·
Moonshot AI Opens MoonViT-SO-400M to Process Any Image Without ResizingPRO
Read2 min
TypeModel
  • Standalone release: Moonshot AI has open-sourced MoonViT-SO-400M as a standalone vision encoder under MIT license, separated from the Kimi-VL model.
  • Native resolution: Unlike CLIP or SigLIP, MoonViT processes images at any resolution without resizing, padding, or cropping, eliminating wasted compute.
  • Dual positional encoding: Combines SigLIP absolute embeddings with 2D RoPE to handle both pretrained priors and arbitrary resolution generalization.
  • Strong benchmarks: Achieves 83.2 on InfoVQA and 34.5 on ScreenSpot-Pro (4K GUI grounding) as part of the Kimi-VL system.
  • Production-proven: Powers the Kimi K2.7 1T-parameter model; weights are 834 MB in BF16 and load via HuggingFace Transformers.
  • Limitations: No hosted inference provider yet; attention cost still scales with token count at very high resolutions.

Most vision encoders make a quiet but costly assumption: every image should be the same size. Resize to 224x224, pad to a square, crop the edges -- whatever it takes to fit a fixed grid. MoonViT-SO-400M throws that assumption out. Moonshot AI has released the vision encoder from their Kimi-VL model as a standalone component under an MIT license, letting anyone drop a production-grade, native-resolution image encoder into their own multimodal stack.

The fixed-resolution tax

Standard Vision Transformers (ViTs) -- CLIP, SigLIP, the usual suspects -- were designed for fixed-resolution square inputs. A standard ViT requires every image to be the same size, such as 224x224 or 384x384. To accommodate different aspect ratios you either stretch the image, which distorts content, or pad with zeros, which wastes compute. For most tasks this is fine. For OCR on a scanned document, a 4K GUI screenshot, or a portrait photo with a 9:16 aspect ratio, it's a real problem -- you're throwing away exactly the information you need.

MoonViT is designed to natively process images at their varying resolutions, eliminating the need for complex sub-image splitting and splicing operations. It incorporates the packing method from NaViT, where images are divided into patches, flattened, and sequentially concatenated into 1D sequences. The result is that a 1920x1080 screenshot and a 400x600 portrait can sit in the same training batch without any resizing or padding.

Three things that make it different

  • No forced resizing. MoonViT tokenizes each image at its native (H, W) and discards nothing -- a 1920x1080 screenshot and a 400x600 portrait can coexist in the same batch without any resizing.
  • Zero wasted tokens. In vision, padding can mean more than 50% of the tokens in a batch are meaningless pad values. MoonViT packs all images end-to-end into one flat sequence and uses cu_seqlens to mark boundaries, so every token that enters the Transformer carries real signal.
  • Dual positional encoding. The original SigLIP absolute positional embeddings become increasingly inadequate as image resolution increases. To address this, MoonViT incorporates 2D rotary positional embedding (RoPE) across the height and width dimensions, which improves the representation of fine-grained positional information, especially in high-resolution images. The absolute embed preserves the pretrained prior; the 2D RoPE handles resolution generalization.

Pro article

This story is for Pro members

You've reached the end of the free preview. Upgrade to AlphaSignal Pro to read the full article - and everything else behind the paywall.

Trending
  • No trending articles

Comments

avatar

Next Reads