SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2410.17637 · 2024

MIA-DPO: Multi-Image Augmented Direct Preference Optimization For Large Vision-Language Models

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 11 functions out of this paper's own repositories and ran 5 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
liuziyu77/mia-dpo canonical 3 of 9
copy not recorded — 2 of 2
FunctionStatusWhere it lives
get_id_from_path Ran this paper's copy was not recorded; identical code first harvested from RifleZhang/LLaVA-Hound-DPO
pointer only · get_code("f1a2ea781d07a5ee")
convert_to_scalar Ran liuziyu77/mia-dpo/LLaVA-Hound-DPO/llava_hound_dpo/trl/core.py
code served (permissive licence) · get_code("c32b636f13ed9ee5")
get_chunk Ran liuziyu77/mia-dpo/LLaVA-Hound-DPO/chatuniv/ChatUniVi/eval/model_coco_vqa.py
code served (permissive licence) · get_code("42a46570620cd9fa")
remove_special_tokens Ran this paper's copy was not recorded; identical code first harvested from RifleZhang/LLaVA-Hound-DPO
pointer only · get_code("4354061aab23f5b9")
split_list Ran liuziyu77/mia-dpo/LLaVA-Hound-DPO/chatuniv/ChatUniVi/eval/model_coco_vqa.py
code served (permissive licence) · get_code("076c252c52cbb161")
flatten_dict Not yet run liuziyu77/mia-dpo/LLaVA-Hound-DPO/llava_hound_dpo/trl/core.py
code served (permissive licence) · get_code("a51ae45a1f6c0b5b")
get_seq_frames Not yet run liuziyu77/mia-dpo/LLaVA-Hound-DPO/chatuniv/chatuniv_utils.py
code served (permissive licence) · get_code("fccf1d01505895d0")
remove_special_tokens Not yet run liuziyu77/mia-dpo/LLaVA-Hound-DPO/chatuniv/chatuniv_utils.py
code served (permissive licence) · get_code("663e3b5a6740fa0d")
remove_special_tokens Not yet run liuziyu77/mia-dpo/LLaVA-Hound-DPO/llama_vid/llamavid_utils.py
code served (permissive licence) · get_code("160197f694bfebd8")
resize_image Not yet run liuziyu77/mia-dpo/LLaVA-Hound-DPO/chatuniv/chatuniv_utils.py
code served (permissive licence) · get_code("c3f1f1085b84693b")
stack_dicts Not yet run liuziyu77/mia-dpo/LLaVA-Hound-DPO/llava_hound_dpo/trl/core.py
code served (permissive licence) · get_code("085e70e0bd6e492d")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Visual preference alignment involves training Large Vision-Language Models (LVLMs) to predict human preferences between visual inputs. This is typically achieved by using labeled datasets of chosen/rejected pairs and employing optimization algorithms like direct preference optimization (DPO). Existing visual alignment methods, primarily designed for single-image scenarios, struggle to effectively handle the complexity of multi-image tasks due to the scarcity of diverse training data and the high cost of annotating chosen/rejected pairs. We present Multi-Image Augmented Direct Preference Optimization (MIA-DPO), a visual preference alignment approach that effectively handles multi-image inputs. MIA-DPO mitigates the scarcity of diverse multi-image training data by extending single-image data with unrelated images arranged in grid collages or pic-in-pic formats, significantly reducing the costs associated with multi-image data annotations. Our observation reveals that attention values of LVLMs vary considerably across different images. We use attention values to identify and filter out rejected responses the model may have mistakenly focused on. Our attention-aware selection for constructing the chosen/rejected pairs without relying on (i) human annotation, (ii) extra data, and (iii) external models or APIs. MIA-DPO is compatible with various architectures and outperforms existing methods on five multi-image benchmarks, achieving an average performance boost of 3.0% on LLaVA-v1.5 and 4.3% on the recent InternLM-XC2.5. Moreover, MIA-DPO has a minimal effect on the model's ability to understand single images.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2410.17637")
get_code_for_paper("2410.17637")
have("2410.17637")

Connect an agent — have() is free.