SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2405.11157 · 2024

Towards Modular LLMs by Building and Reusing a Library of LoRAs

arXiv · PDF · Open in the Atlas

Code that ran

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.

RepositoryRoleRan
microsoft/mttl canonical 13 of 14
FunctionStatusWhere 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")

Repositories linked to this paper

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

Abstract

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.

For agents

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.