CCCCyx commited on
Commit
9dc4e66
·
verified ·
1 Parent(s): a2ae4e5

Update model card and assets

Browse files
.gitattributes CHANGED
@@ -34,3 +34,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  tokenizer.json filter=lfs diff=lfs merge=lfs -text
 
 
 
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
+ assets/architecture.png filter=lfs diff=lfs merge=lfs -text
38
+ assets/benchmark-offline.png filter=lfs diff=lfs merge=lfs -text
39
+ assets/logo.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,3 +1,270 @@
1
  ---
2
  license: apache-2.0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: apache-2.0
3
+ language:
4
+ - en
5
+ library_name: transformers
6
+ pipeline_tag: video-text-to-text
7
+ tags:
8
+ - moss_vl
9
+ - feature-extraction
10
+ - Base
11
+ - Video-Understanding
12
+ - Image-Understanding
13
+ - MOSS-VL
14
+ - OpenMOSS
15
+ - multimodal
16
+ - video
17
+ - vision-language
18
+ - custom_code
19
  ---
20
+
21
+ <p align="center">
22
+ <img src="assets/logo.png" width="300" alt="MOSS-VL"/>
23
+ </p>
24
+
25
+ # MOSS-VL-Base-0708
26
+
27
+ ## Introduction
28
+
29
+ MOSS-VL-Base-0708 is the foundation checkpoint of the MOSS-VL 0708 release, part of the OpenMOSS ecosystem for open visual understanding.
30
+
31
+ Built through multimodal pretraining only, this checkpoint serves as a high-capacity offline multimodal base model. It provides strong general-purpose visual-language representations across image and video inputs, and is intended primarily as the base model for supervised fine-tuning, alignment, and domain adaptation.
32
+
33
+ The 0708 release keeps the MOSS-VL cross-attention design and a 256K text context window while refreshing the data and pretraining recipe for stronger offline multimodal foundations.
34
+
35
+ Specifically, the pretraining pipeline follows four progressive stages:
36
+
37
+ - Stage 1: Vision-language alignment
38
+ - Stage 2: Large-scale multimodal pretraining
39
+ - Stage 3: High-quality multimodal pretraining
40
+ - Stage 4: Annealing and long-context extension
41
+
42
+ ## Highlights
43
+
44
+ - Strong foundation model: provides general visual-language representations for image, video, and text inputs.
45
+ - Native dynamic resolution: processes images and video frames at their original aspect ratios and resolutions.
46
+ - Native interleaved image and video inputs: supports mixed image/video/text sequences in a unified pipeline.
47
+ - Open base checkpoint: designed for continued pretraining, supervised fine-tuning, alignment, and domain adaptation.
48
+
49
+ ## Model Architecture
50
+
51
+ MOSS-VL-Base-0708 adopts a cross-attention-based vision-language architecture that decouples visual encoding from language reasoning. The model processes images, videos, and text in a unified pipeline and uses cross-attention layers to connect language tokens with visual representations.
52
+
53
+ <p align="center">
54
+ <img src="assets/architecture.png" alt="MOSS-VL Architecture" width="100%"/>
55
+ </p>
56
+
57
+ Key configuration details:
58
+
59
+ | Item | Value |
60
+ | --- | --- |
61
+ | Parameters | 11B |
62
+ | Tensor type | BF16 |
63
+ | Context length | 256K |
64
+ | Vision patch size | 16 |
65
+ | Temporal patch size | 1 |
66
+ | Default video FPS | 1.0 |
67
+ | Default max video frames | 256 |
68
+
69
+ ## Absolute Timestamps
70
+
71
+ For video inputs, MOSS-VL injects absolute timestamps alongside sampled frames. This helps the base model learn event order, duration, pacing, and temporal localization instead of relying only on frame order.
72
+
73
+ ## Cross-attention RoPE (XRoPE)
74
+
75
+ MOSS-VL uses Cross-attention Rotary Position Embedding (XRoPE), which maps text tokens and visual patches into a unified three-dimensional coordinate space defined by Time (t), Height (h), and Width (w). This gives the model a consistent positional representation for image and video understanding.
76
+
77
+ ## Model Performance
78
+
79
+ MOSS-VL-Base-0708 is intended as a pretrained foundation checkpoint for offline multimodal understanding and model adaptation. Detailed benchmark tables for the 0708 release will be maintained in the MOSS-VL project resources.
80
+
81
+ <p align="center">
82
+ <img src="assets/benchmark-offline.png" alt="MOSS-VL Offline Benchmark" width="100%"/>
83
+ </p>
84
+
85
+ For the previous public base checkpoint, see [MOSS-VL-Base-0408](https://huggingface.co/OpenMOSS-Team/MOSS-VL-Base-0408).
86
+
87
+ ## Quickstart
88
+
89
+ ### Installation
90
+
91
+ Clone the MOSS-VL repository and install the project requirements:
92
+
93
+ ```bash
94
+ git clone https://github.com/OpenMOSS/MOSS-VL.git
95
+ cd MOSS-VL
96
+ conda create -n moss_vl python=3.12 pip -y
97
+ conda activate moss_vl
98
+ pip install -i https://pypi.org/simple --no-build-isolation -r requirements.txt
99
+ ```
100
+
101
+ ### Load Model
102
+
103
+ ```python
104
+ import torch
105
+ from transformers import AutoModelForCausalLM, AutoProcessor
106
+
107
+ checkpoint = "OpenMOSS-Team/MOSS-VL-Base-0708"
108
+
109
+ processor = AutoProcessor.from_pretrained(
110
+ checkpoint,
111
+ trust_remote_code=True,
112
+ frame_extract_num_threads=1,
113
+ )
114
+ model = AutoModelForCausalLM.from_pretrained(
115
+ checkpoint,
116
+ trust_remote_code=True,
117
+ device_map="auto",
118
+ torch_dtype=torch.bfloat16,
119
+ attn_implementation="flash_attention_2",
120
+ )
121
+ ```
122
+
123
+ ### Run Inference
124
+
125
+ <details>
126
+ <summary><b>Single-image Inference</b></summary>
127
+
128
+ ```python
129
+ image_path = "data/example_image.jpg"
130
+
131
+ text = model.offline_image_generate(
132
+ processor,
133
+ prompt="",
134
+ image=image_path,
135
+ shortest_edge=4096,
136
+ longest_edge=16777216,
137
+ multi_image_max_pixels=201326592,
138
+ patch_size=16,
139
+ temporal_patch_size=1,
140
+ merge_size=2,
141
+ image_mean=[0.5, 0.5, 0.5],
142
+ image_std=[0.5, 0.5, 0.5],
143
+ max_new_tokens=256,
144
+ temperature=1.0,
145
+ top_k=50,
146
+ top_p=1.0,
147
+ repetition_penalty=1.0,
148
+ do_sample=False,
149
+ vision_chunked_length=64,
150
+ )
151
+
152
+ print(text)
153
+ ```
154
+
155
+ </details>
156
+
157
+ <details>
158
+ <summary><b>Single-video Inference</b></summary>
159
+
160
+ ```python
161
+ video_path = "data/example_video.mp4"
162
+
163
+ text = model.offline_video_generate(
164
+ processor,
165
+ prompt="",
166
+ video=video_path,
167
+ shortest_edge=4096,
168
+ longest_edge=16777216,
169
+ video_max_pixels=201326592,
170
+ patch_size=16,
171
+ temporal_patch_size=1,
172
+ merge_size=2,
173
+ video_fps=1.0,
174
+ min_frames=1,
175
+ max_frames=256,
176
+ num_extract_threads=4,
177
+ image_mean=[0.5, 0.5, 0.5],
178
+ image_std=[0.5, 0.5, 0.5],
179
+ max_new_tokens=256,
180
+ temperature=1.0,
181
+ top_k=50,
182
+ top_p=1.0,
183
+ repetition_penalty=1.0,
184
+ do_sample=False,
185
+ vision_chunked_length=64,
186
+ )
187
+
188
+ print(text)
189
+ ```
190
+
191
+ </details>
192
+
193
+ <details>
194
+ <summary><b>Batched Offline Inference</b></summary>
195
+
196
+ `offline_batch_generate` accepts independent image/video/text queries. Queries in the same batch should share the same `media_kwargs` and `generate_kwargs`.
197
+
198
+ ```python
199
+ queries = [
200
+ {
201
+ "images": ["data/sample_a.jpg"],
202
+ "videos": [],
203
+ "generate_kwargs": {
204
+ "temperature": 1.0,
205
+ "top_k": 50,
206
+ "top_p": 1.0,
207
+ "max_new_tokens": 256,
208
+ "repetition_penalty": 1.0,
209
+ "do_sample": False,
210
+ },
211
+ },
212
+ {
213
+ "images": [],
214
+ "videos": ["data/sample_b.mp4"],
215
+ "media_kwargs": {
216
+ "video_fps": 1.0,
217
+ "min_frames": 8,
218
+ "max_frames": 256,
219
+ },
220
+ "generate_kwargs": {
221
+ "temperature": 1.0,
222
+ "top_k": 50,
223
+ "top_p": 1.0,
224
+ "max_new_tokens": 256,
225
+ "repetition_penalty": 1.0,
226
+ "do_sample": False,
227
+ },
228
+ },
229
+ ]
230
+
231
+ with torch.no_grad():
232
+ result = model.offline_batch_generate(
233
+ processor,
234
+ queries,
235
+ vision_chunked_length=64,
236
+ )
237
+
238
+ texts = [item["text"] for item in result["results"]]
239
+ print(texts)
240
+ ```
241
+
242
+ </details>
243
+
244
+ ## Related Checkpoints
245
+
246
+ | Model | Parameters | Context | Usage | Hugging Face |
247
+ | --- | ---: | ---: | --- | --- |
248
+ | MOSS-VL-Base-0708 | 11B | 256K | Continued pretraining and fine-tuning | https://huggingface.co/OpenMOSS-Team/MOSS-VL-Base-0708 |
249
+ | MOSS-VL-Instruct-0708 | 11B | 256K | Offline multimodal instruction following | https://huggingface.co/OpenMOSS-Team/MOSS-VL-Instruct-0708 |
250
+ | MOSS-VL-Base-0408 | 11B | 256K | Previous base checkpoint | https://huggingface.co/OpenMOSS-Team/MOSS-VL-Base-0408 |
251
+ | MOSS-VL-Instruct-0408 | 11B | 256K | Previous instruction-tuned checkpoint | https://huggingface.co/OpenMOSS-Team/MOSS-VL-Instruct-0408 |
252
+
253
+ ## Limitations and Future Work
254
+
255
+ MOSS-VL-Base-0708 is a pretrained base checkpoint. It is not instruction-tuned, so applied use cases should generally fine-tune or align it before using it as an assistant-style model.
256
+
257
+ We are continuing to improve OCR and document understanding, extremely long video understanding, mathematical reasoning, code reasoning, RL post-training, and broader task-specific evaluations for future MOSS-VL releases.
258
+
259
+ ## Citation
260
+
261
+ ```bibtex
262
+ @misc{moss_vl_2026,
263
+ title = {{MOSS-VL Technical Report}},
264
+ author = {OpenMOSS Team},
265
+ year = {2026},
266
+ howpublished = {\url{https://github.com/OpenMOSS/MOSS-VL}},
267
+ note = {GitHub repository}
268
+ }
269
+ ```
270
+
assets/architecture.png ADDED

Git LFS Details

  • SHA256: 28e51b34e031c884c540601d6b6651576c65836dc252694a1dc7dc0b1fc15237
  • Pointer size: 132 Bytes
  • Size of remote file: 6.09 MB
assets/benchmark-offline.png ADDED

Git LFS Details

  • SHA256: 2a2071b0149ddd1ab0b5a08a28209f52b2aa6e7719ca7d844b926ef0aec55c38
  • Pointer size: 131 Bytes
  • Size of remote file: 267 kB
assets/logo.png ADDED

Git LFS Details

  • SHA256: 37bf0241f5fbab73fc955827f477befc95b88b0d3618c31628099b70ea1dd232
  • Pointer size: 131 Bytes
  • Size of remote file: 941 kB