EPFL-Smart-Kitchen-30: Densely annotated cooking dataset with 3D kinematics to challenge video and language models
Paper โข 2506.01608 โข Published
How to use chanubc/Qwen2.5-VL-3B-LEMONADE-LoRA with PEFT:
from peft import PeftModel
from transformers import AutoModelForCausalLM
base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-VL-3B-Instruct")
model = PeftModel.from_pretrained(base_model, "chanubc/Qwen2.5-VL-3B-LEMONADE-LoRA")A QLoRA adapter that fine-tunes Qwen/Qwen2.5-VL-3B-Instruct on the LEMONADE visual-question-answering benchmark (from the EPFL-Smart-Kitchen-30 dataset, arXiv:2506.01608).
Scope: the Perception and Reasoning subcategories (egocentric cooking actions), formulated as 4-choice multiple-choice VQA over 8 evenly-sampled frames.
Evaluated on 2,852 test questions from participants not seen during training (participant-level split โ no leakage). Same input config for before/after (8 frames, 200704 max pixels, greedy). Chance = 25%.
| Before (base) | After (this LoRA) | ฮ | |
|---|---|---|---|
| Overall | 41.0% | 71.5% | +30.4 |
| Perception | 40.7% | 67.2% | +26.5 |
| Reasoning | 41.4% | 76.0% | +34.6 |
| easy / medium / hard | 46 / 41 / 34% | 76 / 73 / 64% | +30 / +32 / +30 |
from transformers import Qwen2_5_VLForConditionalGeneration, AutoProcessor
from peft import PeftModel
base = "Qwen/Qwen2.5-VL-3B-Instruct"
model = Qwen2_5_VLForConditionalGeneration.from_pretrained(base, torch_dtype="auto", device_map="auto")
model = PeftModel.from_pretrained(model, "chanubc/Qwen2.5-VL-3B-LEMONADE-LoRA")
processor = AutoProcessor.from_pretrained(base)
# Prompt format: 8 frames + the LEMONADE multiple-choice template, answer with a single letter A/B/C/D.
Base model
Qwen/Qwen2.5-VL-3B-Instruct