This is an official implementation of the paper "SEFE: Superficial and Essential Forgetting Eliminator for Multimodal Continual Instruction Tuning", accepted by ICML 2025. π Paper π€ CoIN-ASD Benchmark
Our environment is set up with CUDA 12.1. To ensure a smooth installation, it is recommended to also use CUDA 12.1.
conda create -n sefe python=3.10 -y
conda activate sefe
pip install --upgrade pip
pip install -e .
pip install -e ".[train]"
pip install flash-attn==2.6.3 --no-build-isolation
To obtain the original images and annotation data for CoIN, please refer to the official CoIN repository. We organize the downloaded files in the following directory structure:
./playground/data/CoIN
βββ ScienceQA
β βββ [Original Data of ScienceQA]
βββ TextVQA
β βββ [Original Data of TextVQA]
βββ ImageNet
β βββ [Original Data of ImageNet]
βββ GQA
β βββ [Original Data of GQA]
βββ VizWiz
β βββ [Original Data of VizWiz]
βββ COCO
β βββ [Original Data of COCO]
βββ OCRVQA
β βββ [Original Data of OCRVQA]
βββ annotations
βββ ScienceQA
β βββ train.json
β βββ test.json
βββ TextVQA
β βββ train.json
β βββ test.json
βββ ImageNet
β βββ train.json
β βββ test.json
βββ GQA
β βββ train.json
β βββ test.json
βββ VizWiz
β βββ train.json
β βββ test.json
βββ Grounding
β βββ train.json
β βββ test.json
βββ VQAv2
β βββ train.json
β βββ test.json
βββ OCRVQA
βββ train.json
βββ test.json
Notes:
[Original Data of XXX] represent the datasets (primarily images) downloaded directly from benchmarks such as ScienceQA and TextVQA. These are maintained in their default directory structures.COCO folder is included.train.json and test.json files within the annotations directory contain annotations provided by CoIN or modified by our ASD. For consistency, all test sets originally named val.json in the CoIN repository have been renamed to test.json.The CoIN-ASD/prompts directory contains all prompts used to create the CoIN-ASD benchmark. The created annotations for CoIN-ASD can be downloaded from our HuggingFace page. After downloading, please organize the data according to the directory structure described in the "Data Organization and Structure" section above.
Note that for training data, we provide multiple versions with different values of hyperparameter $X$. For example, when $X$ is set to $20$, the corresponding JSON file is named train_x20.json. To use a specific version, modify the --data_path parameter in the corresponding training script (.sh file) under ./scripts/Train/ directory.
Before starting the training process, you need to download three pre-trained models:
We organize the downloaded models in the following directory structure:
./pretrained_weights
βββ vicuna-7b-v1.5
βββ clip-vit-large-patch14-336
βββ llava-v1.5-mlp2x-336px-pretrain-vicuna-7b-v1.5
Once the data transformation is complete and structured correctly, you can initiate training by running ./scripts/Train/Train_all.sh. This script will automatically invoke ./scripts/Eval/Eval_all.sh after training each task to evaluate all learned tasks. For further details, please refer to the corresponding files.
@inproceedings{chen2025sefe,
title={SEFE: Superficial and Essential Forgetting Eliminator for Multimodal Continual Instruction Tuning},
author={Chen, Jinpeng and Cong, Runmin and Zhao, Yuzhi and Yang, Hongzheng and Hu, Guangneng and Ip, Horace Ho Shing and Kwong, Sam},
booktitle={ICML},
year={2025}
}
This repository is built upon the LLaVA and CoIN projects. We would like to express our gratitude to the authors for their contributions to the community.
8 commits
Python
89.1%
Shell
10.9%
This is an official implementation of the paper "SEFE: Superficial and Essential Forgetting Eliminator for Multimodal Continual Instruction Tuning", accepted by ICML 2025. π Paper π€ CoIN-ASD Benchmark
Our environment is set up with CUDA 12.1. To ensure a smooth installation, it is recommended to also use CUDA 12.1.
conda create -n sefe python=3.10 -y
conda activate sefe
pip install --upgrade pip
pip install -e .
pip install -e ".[train]"
pip install flash-attn==2.6.3 --no-build-isolation
To obtain the original images and annotation data for CoIN, please refer to the official CoIN repository. We organize the downloaded files in the following directory structure:
./playground/data/CoIN
βββ ScienceQA
β βββ [Original Data of ScienceQA]
βββ TextVQA
β βββ [Original Data of TextVQA]
βββ ImageNet
β βββ [Original Data of ImageNet]
βββ GQA
β βββ [Original Data of GQA]
βββ VizWiz
β βββ [Original Data of VizWiz]
βββ COCO
β βββ [Original Data of COCO]
βββ OCRVQA
β βββ [Original Data of OCRVQA]
βββ annotations
βββ ScienceQA
β βββ train.json
β βββ test.json
βββ TextVQA
β βββ train.json
β βββ test.json
βββ ImageNet
β βββ train.json
β βββ test.json
βββ GQA
β βββ train.json
β βββ test.json
βββ VizWiz
β βββ train.json
β βββ test.json
βββ Grounding
β βββ train.json
β βββ test.json
βββ VQAv2
β βββ train.json
β βββ test.json
βββ OCRVQA
βββ train.json
βββ test.json
Notes:
[Original Data of XXX] represent the datasets (primarily images) downloaded directly from benchmarks such as ScienceQA and TextVQA. These are maintained in their default directory structures.COCO folder is included.train.json and test.json files within the annotations directory contain annotations provided by CoIN or modified by our ASD. For consistency, all test sets originally named val.json in the CoIN repository have been renamed to test.json.The CoIN-ASD/prompts directory contains all prompts used to create the CoIN-ASD benchmark. The created annotations for CoIN-ASD can be downloaded from our HuggingFace page. After downloading, please organize the data according to the directory structure described in the "Data Organization and Structure" section above.
Note that for training data, we provide multiple versions with different values of hyperparameter $X$. For example, when $X$ is set to $20$, the corresponding JSON file is named train_x20.json. To use a specific version, modify the --data_path parameter in the corresponding training script (.sh file) under ./scripts/Train/ directory.
Before starting the training process, you need to download three pre-trained models:
We organize the downloaded models in the following directory structure:
./pretrained_weights
βββ vicuna-7b-v1.5
βββ clip-vit-large-patch14-336
βββ llava-v1.5-mlp2x-336px-pretrain-vicuna-7b-v1.5
Once the data transformation is complete and structured correctly, you can initiate training by running ./scripts/Train/Train_all.sh. This script will automatically invoke ./scripts/Eval/Eval_all.sh after training each task to evaluate all learned tasks. For further details, please refer to the corresponding files.
@inproceedings{chen2025sefe,
title={SEFE: Superficial and Essential Forgetting Eliminator for Multimodal Continual Instruction Tuning},
author={Chen, Jinpeng and Cong, Runmin and Zhao, Yuzhi and Yang, Hongzheng and Hu, Guangneng and Ip, Horace Ho Shing and Kwong, Sam},
booktitle={ICML},
year={2025}
}
This repository is built upon the LLaVA and CoIN projects. We would like to express our gratitude to the authors for their contributions to the community.
8 commits
Python
89.1%
Shell
10.9%