An open-weight 11B model series for long-form and real-time video understanding
593
stars
108
commits
Python
primary language
Sep 6, 2026
updated
💻 GitHub | 🤗 Hugging Face | 🤖 ModelScope | 📑 Blog | 📚 Paper
🚀 HF Space | 💬 Feishu | 🫨 Discord | 📜 License
Start here: Try the demo · Quick start · Real-time inference · Offline inference · Model weights
https://github.com/user-attachments/assets/678ec713-0e01-4792-a5b3-c72e483c4d5f
MOSS-VL is an open-weight model series for long-form, real-time video understanding, built on a unified cross-attention architecture. All three models are 11B-parameter and open-weight.
MOSS-VL-Realtime: real-time interaction over continuous video streams — interruptible at any moment, answering on the fly, and deciding on its own when to respond and when to keep watching.MOSS-VL-Instruct: built for offline use, with particular strength in complex long-video understanding and in-depth dialogue.MOSS-VL-Base: an open pre-trained foundation offering strong video–language representations for continued pre-training and downstream fine-tuning.Unlike the default paradigm of offline video models ("watch first, answer after"), MOSS-VL-Realtime is designed for real-time interaction on continuous video streams: it runs multimodal perception and text generation in parallel on a continuously arriving stream, natively supporting multi-turn real-time dialogue and dynamic scene understanding, autonomously deciding when to speak, achieving fine-grained temporal grounding, and streaming its responses.
At the architectural level, MOSS-VL-Realtime adopts the following core designs:
(t, h, w) coordinate space, enabling patch-level and moment-level grounding across the entire video.swift infer and LoRA or full-parameter fine-tuning with swift sft. See PR #9944../sglang/.MOSS-VL-Realtime delivers significantly stronger streaming interaction capabilities, achieving open-source SOTA results on multiple streaming video understanding benchmarks. Its "proactive speaking" ability stands out in particular: the model leads on all three proactivity evaluations — Proactive Alerting in OmniMMI, Proactive Output in StreamingBench, and ProactiveVideoQA.
We have systematically restructured and deeply optimized our data system, comprehensively strengthening the model's foundational capabilities and instruction-interaction experience, while maintaining a high level of stability across offline evaluations.
For comprehensive benchmark breakdowns, comparison systems, and detailed tables of all objective metrics, please refer to our Technical Blog.
conda create -n moss_vl python=3.12 pip -y
conda activate moss_vl
pip install -i https://pypi.org/simple --no-build-isolation -r requirements.txt
Real-time inference consumes timestamped frames incrementally, so the model can keep perceiving a live video stream while it answers and can accept new questions at any time. The fastest way to replay a local video against its media clock is:
CUDA_VISIBLE_DEVICES=0 python realtime_inference/run_online_inference.py \
--checkpoint OpenMOSS-Team/MOSS-VL-Realtime \
--source video \
--video path/to/example.mp4 \
--sample-fps 1 \
--playback-speed 1 \
--max-frames 256
Keep --playback-speed 1 for model inference so frames arrive on the original timeline. The runtime provides three integration levels:
model.create_realtime_session(...) for direct frame, prompt, and output controlmodel.online_generate(...) for queue-based inference workers--serve for a FastAPI WebSocket service that accepts external JPEG/PNG frames or replays server-local videosIt also supports streaming JSONL samples, cameras, screen capture, and synthetic sources. See realtime_inference/README.md for the complete CLI, input format, and WebSocket protocol.
Offline inference supports full-modality queries (interleaved text, image, and video inputs). The fastest way to get a first result is offline_batch_generate:
import torch
from transformers import AutoModelForCausalLM, AutoProcessor
checkpoint = "OpenMOSS-Team/MOSS-VL-Realtime"
processor = AutoProcessor.from_pretrained(checkpoint, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
checkpoint, trust_remote_code=True, device_map="auto", torch_dtype=torch.bfloat16
)
queries = [{
"messages": [{"role": "user", "content": [
{"type": "image", "image": "path/to/example.jpg"},
{"type": "text", "text": "Describe this image."}
]}],
"generate_kwargs": {"max_new_tokens": 256, "do_sample": False},
}]
with torch.no_grad():
result = model.offline_batch_generate(processor, queries)
print([item["text"] for item in result["results"]])
The flash-attention-src/ directory contains the
FlashAttention-3 backend used by MOSS-VL cross-attention. It adds the
cross_kv_boundary interface, which represents the visible KV prefix of each
query row with one int32 value instead of materializing a dense attention
mask. The source is derived from upstream FlashAttention and is bundled here
with its original license and attribution. See
flash-attention-src/README.md for the mask
contract, supported paths, build instructions, and source lineage.
MOSS-VL can also be efficiently deployed with the following inference backends:
sglang/README.mdWe provide a lightweight SFT framework built on HuggingFace transformers.Trainer. It supports full-parameter training and LoRA, with the vision encoder, language model, and LM head independently controllable.
# Full-parameter SFT (vision encoder frozen by default)
bash finetune/scripts/run_sft.sh
# LoRA SFT
pip install -i https://pypi.org/simple peft
bash finetune/scripts/run_sft_lora.sh
See finetune/README.md for full documentation.
We release FP8 and NF4 quantized checkpoints for both Instruct-0708 and Realtime, and share the calibration-free PTQ recipes behind them in quant/README.md (中文教程). The guide covers selective layer coverage — which language-model Linears to quantize versus which multimodal modules stay in BF16 — runtime KV-cache quantization for Transformers and SGLang, and reproduction scripts that work directly on your own fine-tuned or SFT checkpoints.
This generation ships three models from the same rebuilt data: MOSS-VL-Realtime for continuous video streams, Instruct for offline tasks, and Base for continued pre-training and fine-tuning.
| Model | Params | Context | Best for | 🤗 HuggingFace | 🤖 ModelScope |
|---|---|---|---|---|---|
| MOSS-VL-Realtime | 11B | 256K | Real-time interaction on continuous video streams | Link | Link |
| MOSS-VL-Instruct-0708 | 11B | 256K | Offline chat / inference / downstream tasks | Link | Link |
| MOSS-VL-Base-0708 | 11B | 256K | Continued pre-training / fine-tuning | Link | Link |
Previous generation:
| Model | Params | Context | Best for | 🤗 HuggingFace | 🤖 ModelScope |
|---|---|---|---|---|---|
| MOSS-VL-Base-0408 | 11B | 256K | Continued pre-training / fine-tuning | Link | Link |
| MOSS-VL-Instruct-0408 | 11B | 256K | Chat / inference / downstream tasks | Link | Link |
MOSS-VL-Base and MOSS-VL-Instruct.We would like to express our gratitude to NVIDIA for the Megatron-LM framework and the Qwen Team for their powerful Qwen series language models, which serve as the foundation of our training infrastructure and core LLM. We also thank the SGLang Team for their high-performance SGLang serving framework, which powers efficient deployment of MOSS-VL.
@misc{mossvl,
title = {MOSS-VL Technical Report},
author = {Wang, Pengyu and Tan, Chenkun and Zhou, Shaojun and Zhou, Qirui and Chen, Yanxin and He, Xingyang and Zeng, Huazheng and Cheng, Jijun and Wang, Chenghao and Qian, Xiaomeng and Wang, Pengfei and Huang, Zhan and Gao, Shanqing and Huang, Wei and Cao, Longjun and Ran, Wu and Liu, Jie and Zhu, Changtai and Wang, Hongkai and Tian, Yixian and Liu, Chenghao and Ye, Zhen and Wang, Xinghao and Jiang, Botian and Feng, Guoguo and Fei, Zhaoye and Li, Ruixiao and Chen, Mingshu and Gao, Yang and Cheng, Qinyuan and Li, Shimin and Qiu, Xipeng},
year = {2026},
eprint = {2608.15045},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2608.15045}
}
@misc{mossvideopreview,
title = {{MOSS-Video-Preview: Toward Real-Time Video Understanding via Cross-Attention}},
author = {Pengyu Wang and Chenkun Tan and Shaojun Zhou and Wei Huang and Qirui Zhou and Zhan Huang and Zhen Ye and Jijun Cheng and Xiaomeng Qian and Yanxin Chen and Xingyang He and Huazheng Zeng and Chenghao Wang and Pengfei Wang and Hongkai Wang and Shanqing Gao and Yixian Tian and Chenghao Liu and Xinghao Wang and Botian Jiang and Xipeng Qiu},
year = {2026},
eprint = {2606.07639},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2606.07639}
}
Python
63.4%
HTML
12.8%
MDX
6.5%
Rust
5.6%
C++
4.4%
Cuda
3.8%
JavaScript
1.3%
An open-weight 11B model series for long-form and real-time video understanding
593
stars
108
commits
Python
primary language
Sep 6, 2026
updated
💻 GitHub | 🤗 Hugging Face | 🤖 ModelScope | 📑 Blog | 📚 Paper
🚀 HF Space | 💬 Feishu | 🫨 Discord | 📜 License
Start here: Try the demo · Quick start · Real-time inference · Offline inference · Model weights
https://github.com/user-attachments/assets/678ec713-0e01-4792-a5b3-c72e483c4d5f
MOSS-VL is an open-weight model series for long-form, real-time video understanding, built on a unified cross-attention architecture. All three models are 11B-parameter and open-weight.
MOSS-VL-Realtime: real-time interaction over continuous video streams — interruptible at any moment, answering on the fly, and deciding on its own when to respond and when to keep watching.MOSS-VL-Instruct: built for offline use, with particular strength in complex long-video understanding and in-depth dialogue.MOSS-VL-Base: an open pre-trained foundation offering strong video–language representations for continued pre-training and downstream fine-tuning.Unlike the default paradigm of offline video models ("watch first, answer after"), MOSS-VL-Realtime is designed for real-time interaction on continuous video streams: it runs multimodal perception and text generation in parallel on a continuously arriving stream, natively supporting multi-turn real-time dialogue and dynamic scene understanding, autonomously deciding when to speak, achieving fine-grained temporal grounding, and streaming its responses.
At the architectural level, MOSS-VL-Realtime adopts the following core designs:
(t, h, w) coordinate space, enabling patch-level and moment-level grounding across the entire video.swift infer and LoRA or full-parameter fine-tuning with swift sft. See PR #9944../sglang/.MOSS-VL-Realtime delivers significantly stronger streaming interaction capabilities, achieving open-source SOTA results on multiple streaming video understanding benchmarks. Its "proactive speaking" ability stands out in particular: the model leads on all three proactivity evaluations — Proactive Alerting in OmniMMI, Proactive Output in StreamingBench, and ProactiveVideoQA.
We have systematically restructured and deeply optimized our data system, comprehensively strengthening the model's foundational capabilities and instruction-interaction experience, while maintaining a high level of stability across offline evaluations.
For comprehensive benchmark breakdowns, comparison systems, and detailed tables of all objective metrics, please refer to our Technical Blog.
conda create -n moss_vl python=3.12 pip -y
conda activate moss_vl
pip install -i https://pypi.org/simple --no-build-isolation -r requirements.txt
Real-time inference consumes timestamped frames incrementally, so the model can keep perceiving a live video stream while it answers and can accept new questions at any time. The fastest way to replay a local video against its media clock is:
CUDA_VISIBLE_DEVICES=0 python realtime_inference/run_online_inference.py \
--checkpoint OpenMOSS-Team/MOSS-VL-Realtime \
--source video \
--video path/to/example.mp4 \
--sample-fps 1 \
--playback-speed 1 \
--max-frames 256
Keep --playback-speed 1 for model inference so frames arrive on the original timeline. The runtime provides three integration levels:
model.create_realtime_session(...) for direct frame, prompt, and output controlmodel.online_generate(...) for queue-based inference workers--serve for a FastAPI WebSocket service that accepts external JPEG/PNG frames or replays server-local videosIt also supports streaming JSONL samples, cameras, screen capture, and synthetic sources. See realtime_inference/README.md for the complete CLI, input format, and WebSocket protocol.
Offline inference supports full-modality queries (interleaved text, image, and video inputs). The fastest way to get a first result is offline_batch_generate:
import torch
from transformers import AutoModelForCausalLM, AutoProcessor
checkpoint = "OpenMOSS-Team/MOSS-VL-Realtime"
processor = AutoProcessor.from_pretrained(checkpoint, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
checkpoint, trust_remote_code=True, device_map="auto", torch_dtype=torch.bfloat16
)
queries = [{
"messages": [{"role": "user", "content": [
{"type": "image", "image": "path/to/example.jpg"},
{"type": "text", "text": "Describe this image."}
]}],
"generate_kwargs": {"max_new_tokens": 256, "do_sample": False},
}]
with torch.no_grad():
result = model.offline_batch_generate(processor, queries)
print([item["text"] for item in result["results"]])
The flash-attention-src/ directory contains the
FlashAttention-3 backend used by MOSS-VL cross-attention. It adds the
cross_kv_boundary interface, which represents the visible KV prefix of each
query row with one int32 value instead of materializing a dense attention
mask. The source is derived from upstream FlashAttention and is bundled here
with its original license and attribution. See
flash-attention-src/README.md for the mask
contract, supported paths, build instructions, and source lineage.
MOSS-VL can also be efficiently deployed with the following inference backends:
sglang/README.mdWe provide a lightweight SFT framework built on HuggingFace transformers.Trainer. It supports full-parameter training and LoRA, with the vision encoder, language model, and LM head independently controllable.
# Full-parameter SFT (vision encoder frozen by default)
bash finetune/scripts/run_sft.sh
# LoRA SFT
pip install -i https://pypi.org/simple peft
bash finetune/scripts/run_sft_lora.sh
See finetune/README.md for full documentation.
We release FP8 and NF4 quantized checkpoints for both Instruct-0708 and Realtime, and share the calibration-free PTQ recipes behind them in quant/README.md (中文教程). The guide covers selective layer coverage — which language-model Linears to quantize versus which multimodal modules stay in BF16 — runtime KV-cache quantization for Transformers and SGLang, and reproduction scripts that work directly on your own fine-tuned or SFT checkpoints.
This generation ships three models from the same rebuilt data: MOSS-VL-Realtime for continuous video streams, Instruct for offline tasks, and Base for continued pre-training and fine-tuning.
| Model | Params | Context | Best for | 🤗 HuggingFace | 🤖 ModelScope |
|---|---|---|---|---|---|
| MOSS-VL-Realtime | 11B | 256K | Real-time interaction on continuous video streams | Link | Link |
| MOSS-VL-Instruct-0708 | 11B | 256K | Offline chat / inference / downstream tasks | Link | Link |
| MOSS-VL-Base-0708 | 11B | 256K | Continued pre-training / fine-tuning | Link | Link |
Previous generation:
| Model | Params | Context | Best for | 🤗 HuggingFace | 🤖 ModelScope |
|---|---|---|---|---|---|
| MOSS-VL-Base-0408 | 11B | 256K | Continued pre-training / fine-tuning | Link | Link |
| MOSS-VL-Instruct-0408 | 11B | 256K | Chat / inference / downstream tasks | Link | Link |
MOSS-VL-Base and MOSS-VL-Instruct.We would like to express our gratitude to NVIDIA for the Megatron-LM framework and the Qwen Team for their powerful Qwen series language models, which serve as the foundation of our training infrastructure and core LLM. We also thank the SGLang Team for their high-performance SGLang serving framework, which powers efficient deployment of MOSS-VL.
@misc{mossvl,
title = {MOSS-VL Technical Report},
author = {Wang, Pengyu and Tan, Chenkun and Zhou, Shaojun and Zhou, Qirui and Chen, Yanxin and He, Xingyang and Zeng, Huazheng and Cheng, Jijun and Wang, Chenghao and Qian, Xiaomeng and Wang, Pengfei and Huang, Zhan and Gao, Shanqing and Huang, Wei and Cao, Longjun and Ran, Wu and Liu, Jie and Zhu, Changtai and Wang, Hongkai and Tian, Yixian and Liu, Chenghao and Ye, Zhen and Wang, Xinghao and Jiang, Botian and Feng, Guoguo and Fei, Zhaoye and Li, Ruixiao and Chen, Mingshu and Gao, Yang and Cheng, Qinyuan and Li, Shimin and Qiu, Xipeng},
year = {2026},
eprint = {2608.15045},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2608.15045}
}
@misc{mossvideopreview,
title = {{MOSS-Video-Preview: Toward Real-Time Video Understanding via Cross-Attention}},
author = {Pengyu Wang and Chenkun Tan and Shaojun Zhou and Wei Huang and Qirui Zhou and Zhan Huang and Zhen Ye and Jijun Cheng and Xiaomeng Qian and Yanxin Chen and Xingyang He and Huazheng Zeng and Chenghao Wang and Pengfei Wang and Hongkai Wang and Shanqing Gao and Yixian Tian and Chenghao Liu and Xinghao Wang and Botian Jiang and Xipeng Qiu},
year = {2026},
eprint = {2606.07639},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2606.07639}
}
Python
63.4%
HTML
12.8%
MDX
6.5%
Rust
5.6%
C++
4.4%
Cuda
3.8%
JavaScript
1.3%