This repo contains the code for DELIFT: Data Efficient Language model Instruction Fine Tuning. DELIFT is a unified fine-tuning algorithm that optimizes data subset selection across the three stages of fine-tuning:
Dataset specifics can be defined in huggingface_datasets.json (used for Stage 1) and benchmark_datasets.json (used for Stage 2 - stage 3 uses a combination of these datasets). The following attributes can be defined for each dataset:
Any of the run_....sh files can be used to reproduce our results. Each file follows the below structure.
First, run data pre-processing with:
py visualization/create_embeddings.py
Next, load all the experimental results (this will take time):
py visualization/load_all_experiments.py
Finally, load the visualization:
py visualization/visualization.py
Note: the middle step can be skipped, as visualization.py also has the same code to load all the experimental results. Still, it is recommended to load all experiments before rendering the visualization.
Please cite our paper:
@inproceedings{agarwal2025delift,
title={DELIFT: Data Efficient Language model Instruction Fine Tuning},
author={Agarwal, Ishika and Killamsetty, Krishna and Popa, Lucian and Danilevsky, Marina},
booktitle={International Conference on Learning Representations (ICLR)},
year={2025}
}
11 commits
Python
97.4%
Shell
2.6%
This repo contains the code for DELIFT: Data Efficient Language model Instruction Fine Tuning. DELIFT is a unified fine-tuning algorithm that optimizes data subset selection across the three stages of fine-tuning:
Dataset specifics can be defined in huggingface_datasets.json (used for Stage 1) and benchmark_datasets.json (used for Stage 2 - stage 3 uses a combination of these datasets). The following attributes can be defined for each dataset:
Any of the run_....sh files can be used to reproduce our results. Each file follows the below structure.
First, run data pre-processing with:
py visualization/create_embeddings.py
Next, load all the experimental results (this will take time):
py visualization/load_all_experiments.py
Finally, load the visualization:
py visualization/visualization.py
Note: the middle step can be skipped, as visualization.py also has the same code to load all the experimental results. Still, it is recommended to load all experiments before rendering the visualization.
Please cite our paper:
@inproceedings{agarwal2025delift,
title={DELIFT: Data Efficient Language model Instruction Fine Tuning},
author={Agarwal, Ishika and Killamsetty, Krishna and Popa, Lucian and Danilevsky, Marina},
booktitle={International Conference on Learning Representations (ICLR)},
year={2025}
}
11 commits
Python
97.4%
Shell
2.6%