Junxian He, Graham Neubig, Taylor Berg-Kirkpatrick, Xuezhe Ma, Chunting Zhou, Lora Lora
We lifted 11 functions out of this paper's own repositories and ran 9 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 |
|---|---|---|
| jxhe/unify-parameter-efficient-tuning | canonical | 9 of 11 |
| Function | Status | Where it lives |
|---|---|---|
| adapter_func | Ran | jxhe/unify-parameter-efficient-tuning/petl/petl_factory.py pointer only (licence: Apache-2.0) · get_code("e758ef19d32b8b11") |
| compute_params | Ran | jxhe/unify-parameter-efficient-tuning/analysis/paper_plot.py pointer only (licence: Apache-2.0) · get_code("7fca652b013370e4") |
| format | Ran | jxhe/unify-parameter-efficient-tuning/analysis/paper_plot.py pointer only (licence: Apache-2.0) · get_code("2a7cfa36f9e48900") |
| gelu_fast | Ran | jxhe/unify-parameter-efficient-tuning/src/transformers/activations.py pointer only (licence: Apache-2.0) · get_code("a4475703ff58ecf9") |
| gelu_new | Ran | jxhe/unify-parameter-efficient-tuning/src/transformers/activations.py pointer only (licence: Apache-2.0) · get_code("45bb87451230d5e8") |
| quick_gelu | Ran | jxhe/unify-parameter-efficient-tuning/src/transformers/activations.py pointer only (licence: Apache-2.0) · get_code("e21f72f1a9834aef") |
| safe_round | Ran | jxhe/unify-parameter-efficient-tuning/petl/utils.py pointer only (licence: Apache-2.0) · get_code("a6d9f5f488eb99a9") |
| softmax_gating | Ran | jxhe/unify-parameter-efficient-tuning/petl/petl_factory.py pointer only (licence: Apache-2.0) · get_code("a75e6ade7e6f9240") |
| sortish_sampler_indices | Ran | jxhe/unify-parameter-efficient-tuning/petl/dynamic_batching.py pointer only (licence: Apache-2.0) · get_code("88b0f6942509de64") |
| gelu_fast | Not yet run | jxhe/unify-parameter-efficient-tuning/src/transformers/activations_tf.py pointer only (licence: Apache-2.0) · get_code("37a5eed2dbd663ca") |
| mish | Not yet run | jxhe/unify-parameter-efficient-tuning/src/transformers/activations_tf.py pointer only (licence: Apache-2.0) · get_code("cc8c8c3ebf0c343f") |
Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.
Fine-tuning large pretrained language models on downstream tasks has become the de-facto learning paradigm in NLP. However, conventional approaches finetune all the parameters of the pretrained model, which becomes prohibitive as the model size and the number of tasks grow. Recent work has proposed a variety of parameter-efficient transfer learning methods that only fine-tune a small number of (extra) parameters to attain strong performance. While effective, the critical ingredients for success and the connections among the various methods are poorly understood. In this paper, we break down the design of state-of-the-art parameter-efficient transfer learning methods and present a unified framework that establishes connections between them. Specifically, we re-frame them as modifications to specific hidden states in pretrained models, and define a set of design dimensions along which different methods vary, such as the function to compute the modification and the position to apply the modification. Through comprehensive empirical studies across machine translation, text summarization, language understanding, and text classification benchmarks, we utilize the unified view to identify important design choices in previous methods. Furthermore, our unified framework enables the transfer of design elements across different approaches, and as a result we are able to instantiate new parameter-efficient fine-tuning methods that tune less parameters than previous methods while being more effective, achieving comparable results to fine-tuning all parameters on all four tasks. 1 * Equal Contribution. Order determined by random dice rolling.
The same record, over MCP at https://syntology.ai/mcp:
get_harvested_code_for_paper("2110.04366")
get_code_for_paper("2110.04366")
have("2110.04366")
Connect an agent — have() is free.