We lifted 14 functions out of this paper's own repositories and ran 13 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.
| Repository | Role | Ran |
|---|---|---|
| microsoft/mttl | canonical | 13 of 14 |
| Function | Status | Where it lives |
|---|---|---|
| augment_few_shot_task | Ran | microsoft/mttl/mttl/datamodule/mt_seq_to_seq_module.py code served (permissive licence) · get_code("9607e74609d06a5c") |
| augment_prompts | Ran | microsoft/mttl/mttl/datamodule/mmlu_data_module.py code served (permissive licence) · get_code("91c46d2158999132") |
| completion_template | Ran | microsoft/mttl/mttl/datamodule/humaneval_module.py code served (permissive licence) · get_code("90b13d358f062991") |
| completion_template | Ran | microsoft/mttl/mttl/datamodule/mbpp_datamodule.py code served (permissive licence) · get_code("3d1190e58b358dda") |
| create_config_class_from_args | Ran | microsoft/mttl/mttl/arguments.py code served (permissive licence) · get_code("0a70817429b93f25") |
| detect_indentation | Ran | microsoft/mttl/mttl/datamodule/mbpp_datamodule.py code served (permissive licence) · get_code("801642274b17ca93") |
| instruct_template | Ran | microsoft/mttl/mttl/datamodule/humaneval_module.py code served (permissive licence) · get_code("ef9fcdcd4db23c46") |
| instruct_template | Ran | microsoft/mttl/mttl/datamodule/mbpp_datamodule.py code served (permissive licence) · get_code("d549f96aaac26455") |
| is_phi2_eval_task | Ran | microsoft/mttl/mttl/datamodule/mt_seq_to_seq_module.py code served (permissive licence) · get_code("ea35b5a896e6de9d") |
| maybe_filter_hf_dataset_by_key | Ran | microsoft/mttl/mttl/datamodule/clip_data_module.py code served (permissive licence) · get_code("8df019af71f4ed70") |
| permute_options | Ran | microsoft/mttl/mttl/datamodule/mmlu_data_module.py code served (permissive licence) · get_code("0a3ee7f35121b4ea") |
| subsample_dst | Ran | microsoft/mttl/mttl/datamodule/base.py code served (permissive licence) · get_code("6b3aac9749e83a24") |
| take_n_examples_per_task | Ran | microsoft/mttl/mttl/datamodule/base.py code served (permissive licence) · get_code("f7e24d6e9c199261") |
| augment_few_shot | Not yet run | microsoft/mttl/mttl/datamodule/mt_seq_to_seq_module.py code served (permissive licence) · get_code("6773eed2108a3c15") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
The growing number of parameter-efficient adaptations of a base large language model (LLM) calls for studying whether we can reuse such trained adapters to improve performance for new tasks. We study how to best build a library of adapters given multi-task data and devise techniques for both zero-shot and supervised task generalization through routing in such library. We benchmark existing approaches to build this library and introduce model-based clustering, MBC, a method that groups tasks based on the similarity of their adapter parameters, indirectly optimizing for transfer across the multi-task dataset. To re-use the library, we present a novel zero-shot routing mechanism, Arrow, which enables dynamic selection of the most relevant adapters for new inputs without the need for retraining. We experiment with several LLMs, such as Phi-2 and Mistral, on a wide array of held-out tasks, verifying that MBC-based adapters and Arrow routing lead to superior generalization to new tasks. We make steps towards creating modular, adaptable LLMs that can match or outperform traditional joint training.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2405.11157")
get_code_for_paper("2405.11157")
have("2405.11157")
Connect an agent — have() is free.