File size: 2,759 Bytes
fd1cd9e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | ---
base_model: nvidia/Cosmos-Reason2-2B
license: other
tags:
- egonormia
- social-norms
- video-understanding
- sft
- multitask
- chain-of-thought
---
# EgoNormia-Cosmos-Reason2-2B-v4-fullcot
Multi-task SFT fine-tune of [nvidia/Cosmos-Reason2-2B](https://huggingface.co/nvidia/Cosmos-Reason2-2B) on the [EgoNormia](https://opensocial.world) social norm benchmark. This v4 run trains on action selection, justification selection, and sensibility identification, with full-length Gemini-distilled CoT traces added to the MCQ supervision.
## Training
| Parameter | Value |
|-----------|-------|
| Base model | nvidia/Cosmos-Reason2-2B (Qwen3-VL-2B) |
| Tasks | Action + Justification + Sensibility (multi-task) |
| Train samples | 4959 (1651/1653 per task, 3 tasks total) |
| Training file | `data/egonormia_llava_cot_train.json` |
| CoT style | Full CoT, Gemini-distilled, text-description grounded |
| CoT length | median ~64 words (range 32-97) |
| Epochs | 3 |
| Global batch | 64 (8 replicas x 8 per replica) |
| Learning rate | 1e-5 (cosine decay, 3% warmup) |
| Context length | 8192 |
| Video input | `video_prev.mp4`, 8 frames |
| Hardware | 8x A100-SXM4-80GB |
| Run dir | `outputs/egonormia_sft/20260228065438/` |
| Best checkpoint | `step_145` / 231 total steps |
## Evaluation (200 verified test samples)
| Model | Action | Justification | Both | S-IoU |
|-------|--------|---------------|------|-------|
| Zero-shot | 58.5% | 81.5% | 51.0% | 0.516 |
| v3 best (`step_175`) | 78.0% | **97.0%** | 77.0% | **0.664** |
| **v4 `step_145`** | **81.0%** | 95.5% | **78.0%** | 0.574 |
## Robustness (option shuffle)
| Checkpoint | Action | S-IoU | Both | Delta Action | Delta S-IoU |
|------------|--------|-------|------|--------------|-------------|
| original `step_145` | 81.0% | 0.574 | 78.0% | - | - |
| shuffled options | 63.0% | 0.477 | 60.0% | -18.0pt | -0.097 |
Paired sign test on action correctness:
- worse = 43
- better = 7
- tied = 150
- p (two-sided) = 2.1e-07
## Notes
- v4 improves action accuracy and joint accuracy over v3, but loses substantial S-IoU and fails robustness checks under option shuffle.
- The CoT traces are distilled from textual descriptions rather than directly grounded in the video, which likely contributes to shortcut learning.
- This checkpoint is useful as the "full CoT" ablation, but it is not the preferred deployment variant.
## Usage
```python
from transformers import AutoProcessor, Qwen3VLForConditionalGeneration
model = Qwen3VLForConditionalGeneration.from_pretrained(
"robertzty/EgoNormia-Cosmos-Reason2-2B-v4-fullcot",
torch_dtype="bfloat16",
device_map="auto",
)
processor = AutoProcessor.from_pretrained("robertzty/EgoNormia-Cosmos-Reason2-2B-v4-fullcot")
```
|