data (최종적으로 50M)
image caption, interleaved, OCR data, Grounding data, Video data, instruction tuning data.
Video data
corpus from academic, web, proprietary sources
standard caption은 hallucination이나 omission이 많으므로 finegrained human annotation으로 complex action이나 in-scene text를 annotate하도록 파이프라인을 개발함 (caption이 아니라 다른 annotation을 맡겼다는 것 같음?)
더 깊은 visual 이해를 이해 camera motion 이나 shot composition 과 같은 cinematic elements를 human-in-the-loop workflow로 annotate함.
비디오 길이는 따로 없는듯
training
multimodal pre-training (seq len 8192) — 120K step -> long-context continual pre-training (seq len 32K) — global step 10K 1.5 bs
The extraction of the final answer in RLVR : LLM으로 extraction하는게 think가 길어지면 어려울 수 있어서 <|begin_of_box|>{FINAL_ANSWER}<|end_of_box|>로 파싱했다고 함. \boxed{}도 final answer가 길어짐에 따라 어려웠다고 함
도메인 별로 열심히 reward 깎음 ..
algorithm
GRPO
no KL(KL이 text-only와 다르게 빠르게 상승하는 경향이 있었으나 kl term을 넣으면 성능이 제한되었다고), no entropy bonus, clip higher, larger BS
training recipe
RL with Curriculum Sampling (RLCS), dynamic sampling extension with ratio EMA, no KL and entropy loss
lesson learned
we discover that when training a unified VLM across diverse skills, any weakness in the reward signal for a single capability can derail the entire training (figure 5)
이게 재밌는 부분인데 여러 도메인 합쳐서 학습하다보니 하나라도 reward가 hacking 될 여지가 있거나 하면 모델이 전반적으로 성능이 안좋게 됐다고 함
그렇기 때문에 각각의 도메인에 대해 run을 돌리고 -> Reward 를 잘받나 rollout 확인하고 등등 이런 Iteration을 돌았다고 함 ㅜㅜ
A coarse or incomplete reward design can lead the model to discover shortcuts for boosting its reward rather than truly improving its task performance.
가령 llm-as-a-judge reward(여기서 RLHF)를 쓰는데 “counting task"를 하는 경우 response가 “정답은 1부터 10 사이의 숫자야” 와 같이 rollout하는 경우가 있었다고 함.. ㅎㅎ
The peak performance in the RL phase does not perfectly correlate with a cold-start SFT model’s performance.
Domain interference in RL is less pronounced than in SFT.
evaluation 보면 academic에 가까운 MMVU나 VideoMMMU의 경우 think 를 킬 때 각각 4점, 6점 정도의 상승이 있지만 긴 비디오 task인 LVBench나 MVBench의 경우 direct 평가가 더 성능이 좋고 VideoMME도 성능 개선이 거의 없다 싶음. 이미지 bench 중 STEM 류는 역시 성능이 높으나 general VQA는 그렇게까지 아닌 느낌.
평가를 위해 대부분 vLLM을 썼지만 video inference를 위해 sglang 사용
vision token max는 image 6K video는 48K 사용.
parsing 등 api가 필요한 경우 모두 GPT4o 사용. 다른 모델들도 똑같이 평가.