|
1 |
| -# ELICIT: LLM Augmentation via External In-context Capability |
2 |
| -Will be released soon! |
| 1 | +<h2 align="center"> <a href="https://arxiv.org/pdf/2410.09343">ELICIT: LLM Augmentation via External In-Context Capability</a></h2> |
| 2 | +<h5 align="center"> If our project helps you, please give us a star ⭐ and cite our <a href="#citation">paper</a>!</h2> |
| 3 | +<h5 align="center"> |
| 4 | + |
| 5 | +## ELICIT |
| 6 | + |
| 7 | +We propose ELICIT, improving language model performance by: |
| 8 | +1. **Building a Capability Library**: A collection of task-specific capabilities from in-domain datasets. |
| 9 | +2. **Dynamic Capability Elicitation**: Using a trained retriever to dynamically select relevant capabilities for aribitary query. |
| 10 | + |
| 11 | + |
| 12 | +## Experiment Codes |
| 13 | +You can find our results at [here](https://drive.google.com/drive/folders/1cWvWc4uSSvEnhzs03EtqJGptBGUitpcf?usp=drive_link). |
| 14 | +### Building the Capability Library |
| 15 | + |
| 16 | +The Capability Library is constructed using validation sets from in-domain tasks with 16-shot examples. Follow these steps: |
| 17 | + |
| 18 | +1. Prepare datasets: |
| 19 | + ```bash |
| 20 | + python process_data.py --task <task_name> |
| 21 | + ``` |
| 22 | + Example: |
| 23 | + ```bash |
| 24 | + python process_data.py --task arc_challenge |
| 25 | + ``` |
| 26 | + |
| 27 | +2. Collect libraries for different models: |
| 28 | + ```bash |
| 29 | + ./scripts/collect_tv.sh |
| 30 | + ``` |
| 31 | + |
| 32 | +## Dynamic Capability Elicitation |
| 33 | + |
| 34 | +### Train the Retriever |
| 35 | +We provide a balanced dataset of 10,000 samples to train the retriever: |
| 36 | +```bash |
| 37 | +python train_retriever.py --output_model prompt_classifier_model.pth |
| 38 | +``` |
| 39 | + |
| 40 | +### Evaluate ELICIT |
| 41 | +Once the retriever is trained, you can evaluate ELICIT using the collected library: |
| 42 | +```bash |
| 43 | +./scripts/eval_elicit.sh |
| 44 | +``` |
| 45 | +To analyze results: |
| 46 | +1. Update the evaluation directory in `analysis_results.py`. |
| 47 | +2. Run the script: |
| 48 | + ```bash |
| 49 | + python analysis_results.py |
| 50 | + ``` |
| 51 | + |
| 52 | +## Citation |
| 53 | +If you find this project helpful, please consider citing our work: |
| 54 | + |
| 55 | +```bibtex |
| 56 | +@article{wang2024elicit, |
| 57 | + title={ELICIT: LLM Augmentation via External In-Context Capability}, |
| 58 | + author={Wang, Futing and Yan, Jianhao and Zhang, Yue and Lin, Tao}, |
| 59 | + journal={arXiv preprint arXiv:2410.09343}, |
| 60 | + year={2024} |
| 61 | +} |
| 62 | +``` |
0 commit comments