fusion-bench 0.2.8__py3-none-any.whl → 0.2.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fusion_bench/__main__.py +4 -0
- fusion_bench/dataset/fer2013.py +1 -0
- fusion_bench/method/__init__.py +26 -4
- fusion_bench/method/classification/__init__.py +1 -0
- fusion_bench/method/classification/clip_finetune.py +1 -3
- fusion_bench/method/classification/continual_clip_finetune.py +297 -0
- fusion_bench/method/dare/__init__.py +1 -0
- fusion_bench/method/dare/task_arithmetic.py +14 -7
- fusion_bench/method/dare/ties_merging.py +100 -0
- fusion_bench/method/isotropic_merging/__init__.py +15 -0
- fusion_bench/method/isotropic_merging/iso.py +114 -0
- fusion_bench/method/isotropic_merging/iso_utils.py +176 -0
- fusion_bench/method/opcm/__init__.py +4 -0
- fusion_bench/method/opcm/opcm.py +277 -0
- fusion_bench/method/opcm/task_arithmetic.py +115 -0
- fusion_bench/method/opcm/ties_merging.py +156 -0
- fusion_bench/method/opcm/utils.py +73 -0
- fusion_bench/method/opcm/weight_average.py +120 -0
- fusion_bench/method/slerp/slerp.py +1 -1
- fusion_bench/method/task_singular_vector/TSVM.py +22 -2
- fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +91 -93
- fusion_bench/method/ties_merging/ties_merging.py +10 -0
- fusion_bench/metrics/continual_learning/backward_transfer.py +22 -0
- fusion_bench/mixins/clip_classification.py +4 -1
- fusion_bench/programs/fabric_fusion_program.py +22 -11
- fusion_bench/scripts/cli.py +1 -0
- fusion_bench/taskpool/base_pool.py +1 -1
- fusion_bench/taskpool/clip_vision/taskpool.py +12 -7
- fusion_bench/utils/__init__.py +2 -1
- fusion_bench/utils/dict.py +43 -0
- fusion_bench/utils/expr.py +90 -0
- fusion_bench/utils/fabric.py +17 -0
- fusion_bench/utils/instantiate.py +7 -1
- fusion_bench/utils/json.py +30 -0
- fusion_bench/utils/parameters.py +27 -7
- fusion_bench/utils/path.py +15 -0
- fusion_bench/utils/plot/color_data.py +1726 -0
- fusion_bench/utils/rich_utils.py +15 -0
- fusion_bench/utils/set.py +8 -0
- fusion_bench/utils/tensorboard.py +51 -0
- {fusion_bench-0.2.8.dist-info → fusion_bench-0.2.10.dist-info}/METADATA +17 -18
- {fusion_bench-0.2.8.dist-info → fusion_bench-0.2.10.dist-info}/RECORD +58 -29
- {fusion_bench-0.2.8.dist-info → fusion_bench-0.2.10.dist-info}/WHEEL +1 -1
- fusion_bench_config/method/classification/clip_continual_finetune.yaml +28 -0
- fusion_bench_config/method/classification/clip_finetune.yaml +26 -0
- fusion_bench_config/method/clip_finetune.yaml +2 -2
- fusion_bench_config/method/dare/ties_merging.yaml +15 -0
- fusion_bench_config/method/isotropic_merging/iso_c.yaml +4 -0
- fusion_bench_config/method/isotropic_merging/iso_cts.yaml +5 -0
- fusion_bench_config/method/opcm/opcm.yaml +12 -0
- fusion_bench_config/method/opcm/task_arithmetic.yaml +12 -0
- fusion_bench_config/method/opcm/ties_merging.yaml +18 -0
- fusion_bench_config/method/opcm/weight_average.yaml +10 -0
- fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +6 -0
- fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml +18 -0
- {fusion_bench-0.2.8.dist-info → fusion_bench-0.2.10.dist-info}/LICENSE +0 -0
- {fusion_bench-0.2.8.dist-info → fusion_bench-0.2.10.dist-info}/entry_points.txt +0 -0
- {fusion_bench-0.2.8.dist-info → fusion_bench-0.2.10.dist-info}/top_level.txt +0 -0
fusion_bench/utils/rich_utils.py
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import logging
|
|
1
2
|
from pathlib import Path
|
|
2
3
|
from typing import Sequence
|
|
3
4
|
|
|
@@ -10,6 +11,7 @@ from omegaconf import DictConfig, OmegaConf, open_dict
|
|
|
10
11
|
from rich import print
|
|
11
12
|
from rich.columns import Columns
|
|
12
13
|
from rich.console import Console
|
|
14
|
+
from rich.logging import RichHandler
|
|
13
15
|
from rich.panel import Panel
|
|
14
16
|
from rich.prompt import Prompt
|
|
15
17
|
from rich.syntax import Syntax
|
|
@@ -184,3 +186,16 @@ if __name__ == "__main__":
|
|
|
184
186
|
|
|
185
187
|
print("\nAvailable Styles:")
|
|
186
188
|
display_available_styles()
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
def setup_colorlogging(force=False, **config_kwargs):
|
|
192
|
+
FORMAT = "%(message)s"
|
|
193
|
+
|
|
194
|
+
logging.basicConfig(
|
|
195
|
+
level=logging.INFO,
|
|
196
|
+
format=FORMAT,
|
|
197
|
+
datefmt="[%X]",
|
|
198
|
+
handlers=[RichHandler()],
|
|
199
|
+
force=force,
|
|
200
|
+
**config_kwargs,
|
|
201
|
+
)
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"""
|
|
2
|
+
functions deal with tensorboard logs.
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from typing import Dict, Iterable, List
|
|
6
|
+
|
|
7
|
+
import numpy as np
|
|
8
|
+
import pandas as pd
|
|
9
|
+
from tensorboard.backend.event_processing import event_accumulator
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def parse_tensorboard_as_dict(path: str, scalars: Iterable[str]):
|
|
13
|
+
"""
|
|
14
|
+
returns a dictionary of pandas dataframes for each requested scalar.
|
|
15
|
+
|
|
16
|
+
Args:
|
|
17
|
+
path(str): A file path to a directory containing tf events files, or a single
|
|
18
|
+
tf events file. The accumulator will load events from this path.
|
|
19
|
+
scalars: scalars
|
|
20
|
+
|
|
21
|
+
Returns:
|
|
22
|
+
Dict[str, pandas.DataFrame]: a dictionary of pandas dataframes for each requested scalar
|
|
23
|
+
"""
|
|
24
|
+
ea = event_accumulator.EventAccumulator(
|
|
25
|
+
path,
|
|
26
|
+
size_guidance={event_accumulator.SCALARS: 0},
|
|
27
|
+
)
|
|
28
|
+
_absorb_print = ea.Reload()
|
|
29
|
+
# make sure the scalars are in the event accumulator tags
|
|
30
|
+
assert all(
|
|
31
|
+
s in ea.Tags()["scalars"] for s in scalars
|
|
32
|
+
), "some scalars were not found in the event accumulator"
|
|
33
|
+
return {k: pd.DataFrame(ea.Scalars(k)) for k in scalars}
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def parse_tensorboard_as_list(path: str, scalars: Iterable[str]):
|
|
37
|
+
"""
|
|
38
|
+
returns a list of pandas dataframes for each requested scalar.
|
|
39
|
+
|
|
40
|
+
see also: :py:func:`parse_tensorboard_as_dict`
|
|
41
|
+
|
|
42
|
+
Args:
|
|
43
|
+
path(str): A file path to a directory containing tf events files, or a single
|
|
44
|
+
tf events file. The accumulator will load events from this path.
|
|
45
|
+
scalars: scalars
|
|
46
|
+
|
|
47
|
+
Returns:
|
|
48
|
+
List[pandas.DataFrame]: a list of pandas dataframes for each requested scalar.
|
|
49
|
+
"""
|
|
50
|
+
d = parse_tensorboard_as_dict(path, scalars)
|
|
51
|
+
return [d[s] for s in scalars]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: fusion_bench
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.10
|
|
4
4
|
Summary: A Comprehensive Benchmark of Deep Model Fusion
|
|
5
5
|
Author-email: Anke Tang <tang.anke@foxmail.com>
|
|
6
6
|
License: MIT License
|
|
@@ -70,22 +70,21 @@ FusionBench is a benchmark suite designed to evaluate the performance of various
|
|
|
70
70
|
Projects based on FusionBench and news from the community (descending order of date):
|
|
71
71
|
|
|
72
72
|
<details>
|
|
73
|
-
<summary>
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
research community. The relevant papers we investigated in this article can be accessed at
|
|
88
|
-
https://github.com/ruthless-man/Awesome-Learn-from-Model.
|
|
73
|
+
<summary>Anke Tang, et al. Merging Models on the Fly Without Retraining: A Sequential Approach to Scalable Continual Model Merging. Jan 2025. https://arxiv.org/pdf/2501.09522</summary>
|
|
74
|
+
|
|
75
|
+
Deep model merging represents an emerging research direction that combines multiple fine-tuned models to harness their specialized capabilities across different tasks and domains. Current model merging techniques focus on merging all available models simultaneously, with weight interpolation-based methods being the predominant approaches. However, these conventional approaches are not well-suited for scenarios where models become available sequentially, and they often suffer from high memory requirements and potential interference between tasks. In this study, we propose a training-free projection-based continual merging method that processes models sequentially through orthogonal projections of weight matrices and adaptive scaling mechanisms. Our method operates by projecting new parameter updates onto subspaces orthogonal to existing merged parameter updates while using an adaptive scaling mechanism to maintain stable parameter distances, enabling efficient sequential integration of task-specific knowledge. Our approach maintains constant memory complexity to the number of models, minimizes interference between tasks through orthogonal projections, and retains the performance of previously merged models through adaptive task vector scaling. Extensive experiments on CLIP-ViT models demonstrate that our method achieves a 5-8% average accuracy improvement while maintaining robust performance in different task orderings.
|
|
76
|
+
</details>
|
|
77
|
+
|
|
78
|
+
<details>
|
|
79
|
+
<summary>Yongxian Wei, et al. Modeling Multi-Task Model Merging as Adaptive Projective Gradient Descent. Jan 2025. https://arxiv.org/abs/2501.01230</summary>
|
|
80
|
+
|
|
81
|
+
Merging multiple expert models offers a promising approach for performing multi-task learning without accessing their original data. Existing methods attempt to alleviate task conflicts by sparsifying task vectors or promoting orthogonality among them. However, they overlook the fundamental requirement of model merging: ensuring the merged model performs comparably to task-specific models on respective tasks. We find these methods inevitably discard task-specific information that, while causing conflicts, is crucial for performance. Based on our findings, we frame model merging as a constrained optimization problem (i.e., minimizing the gap between the merged model and individual models, subject to the constraint of retaining shared knowledge) and solve it via adaptive projective gradient descent. Specifically, we align the merged model with individual models by decomposing and reconstituting the loss function, alleviating conflicts through data-free optimization of task vectors. To retain shared knowledge, we optimize this objective by projecting gradients within a shared subspace spanning all tasks. Moreover, we view merging coefficients as adaptive learning rates and propose a task-aware, training-free strategy. Experiments show that our plug-andplay approach consistently outperforms previous methods, achieving state-of-the-art results across diverse architectures and tasks in both vision and NLP domains. Our code is available here.
|
|
82
|
+
</details>
|
|
83
|
+
|
|
84
|
+
<details>
|
|
85
|
+
<summary>Hongling Zheng, Li Shen, Anke Tang, Yong Luo et al. Learn From Model Beyond Fine-Tuning: A Survey. Nature Machine Intelligence. Jan, 2025. https://www.nature.com/articles/s42256-024-00961-0</summary>
|
|
86
|
+
|
|
87
|
+
> Foundation models (FM) have demonstrated remarkable performance across a wide range of tasks (especially in the fields of natural language processing and computer vision), primarily attributed to their ability to comprehend instructions and access extensive, high-quality data. This not only showcases their current effectiveness but also sets a promising trajectory towards the development of artificial general intelligence. Unfortunately, due to multiple constraints, the raw data of the model used for large model training are often inaccessible, so the use of end-to-end models for downstream tasks has become a new research trend, which we call Learn From Model (LFM) in this article. LFM focuses on the research, modification, and design of FM based on the model interface, so as to better understand the model structure and weights (in a black box environment), and to generalize the model to downstream tasks. The study of LFM techniques can be broadly categorized into five major areas: model tuning, model distillation, model reuse, meta learning and model editing. Each category encompasses a repertoire of methods and strategies that aim to enhance the capabilities and performance of FM. This paper gives a comprehensive review of the current methods based on FM from the perspective of LFM, in order to help readers better understand the current research status and ideas. To conclude, we summarize the survey by highlighting several critical areas for future exploration and addressing open issues that require further attention from the research community. The relevant papers we investigated in this article can be accessed at https://github.com/ruthless-man/Awesome-Learn-from-Model.
|
|
89
88
|
</details>
|
|
90
89
|
|
|
91
90
|
<details>
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
fusion_bench/__init__.py,sha256=68dF-zPvb8E2MgYnmgIJsxIHJBy1MApKeOrRZvQEVlg,421
|
|
2
|
+
fusion_bench/__main__.py,sha256=weUjxpP3ULnDgUxCehdbmoCM9cqfkhDhGB85tAF5qoE,81
|
|
2
3
|
fusion_bench/compat/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
4
|
fusion_bench/compat/method/__init__.py,sha256=KUKHpX7AfvB7fmOAlruWp0r1z17xpkI9l29PMvLWR9A,4956
|
|
4
5
|
fusion_bench/compat/method/base_algorithm.py,sha256=63_AQDj1eJOO6RyTSGXVC6G2DsG8yg9E4pT3RJXgP3A,1952
|
|
@@ -14,7 +15,7 @@ fusion_bench/constants/__init__.py,sha256=Pyc4dLbl6oNduOCdnpeXQ9LDyVoIrkdl9eZ_l2
|
|
|
14
15
|
fusion_bench/constants/paths.py,sha256=DVZyQ9FLhkyUdw6ARpXUCAMf_B8hFyJ6UNI-oYly3pE,591
|
|
15
16
|
fusion_bench/dataset/__init__.py,sha256=OJiYmcqz0Vm5O7mE4PB5QFJeL_KjrsseQTRsQATGTm4,1050
|
|
16
17
|
fusion_bench/dataset/clip_dataset.py,sha256=XLpCOiXlLEP3DffAlBn4P2PpUenbEFl-Yk9MNy6nbbI,2790
|
|
17
|
-
fusion_bench/dataset/fer2013.py,sha256=
|
|
18
|
+
fusion_bench/dataset/fer2013.py,sha256=Lub_xVhHfqaiPprvOsDVspJNioh1FjSrkhn3gL_UXDA,404
|
|
18
19
|
fusion_bench/dataset/gpt2_glue.py,sha256=Qq1ZkEIQsTjj8tImvkZDNlduocSYwlEfVrDReZqDWdw,8761
|
|
19
20
|
fusion_bench/dataset/gsm8k.py,sha256=CmANZ0A89PfPwVu_myKhXk1D9IwypOpjH3iqDo1KxcQ,2233
|
|
20
21
|
fusion_bench/dataset/image_dataset.py,sha256=MSZE_UESyRRQDwnkm2KpyIARUg9SWcwqnH4fDNstzS4,1870
|
|
@@ -40,7 +41,7 @@ fusion_bench/dataset/llama/stanford_shp.py,sha256=6ueXKnFXIBBobacU1h5WxGLZrSOtBk
|
|
|
40
41
|
fusion_bench/dataset/llama/ultrachat.py,sha256=Go7WvrDAYnm184fdazHGRYLbSY6Xd7jrESyQeUJtOww,1736
|
|
41
42
|
fusion_bench/dataset/llama/wikitext.py,sha256=9ZHR-nMfXRumd3o-PIj3n7B83YlVeqpGkZ2zJs2B-9Y,2883
|
|
42
43
|
fusion_bench/dataset/llama/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
43
|
-
fusion_bench/method/__init__.py,sha256=
|
|
44
|
+
fusion_bench/method/__init__.py,sha256=py1hn-gRqwzESwS5KvDapclyUvIW42r0nDsuINgFBB4,6601
|
|
44
45
|
fusion_bench/method/base_algorithm.py,sha256=5dutGZfPqNhO8F8FOlo3UFR91TZu2Xj7O0pTB40JvWo,1135
|
|
45
46
|
fusion_bench/method/dummy.py,sha256=hb1y6LR_geRZ5eRgGwt5zJUcHYorCeIbs5i76CvurUc,1031
|
|
46
47
|
fusion_bench/method/ensemble.py,sha256=rGxvJTeorfcBuE_e0XO-0-MAc9un7ZCC46ikKGuAcN4,3077
|
|
@@ -62,14 +63,16 @@ fusion_bench/method/adamerging/utils.py,sha256=Yq8ovlpLJY-5MkSmpoB-_EMYG8cr6eyO-
|
|
|
62
63
|
fusion_bench/method/analysis/__init__.py,sha256=EQzOCShS0hF958drq1yg2oSVsS0hvBznPxtTAWB9SGY,122
|
|
63
64
|
fusion_bench/method/analysis/task_vector_cos_similarity.py,sha256=pL-XsWTo258yZTEsER_6KXS7JePneVNEHN_nv8Db0qo,5468
|
|
64
65
|
fusion_bench/method/analysis/task_vector_violin_plot.py,sha256=ie8hPl6QsVz9MQ6C2OEpzIBxQnmVKNf1FPc5bThmQGM,7606
|
|
65
|
-
fusion_bench/method/classification/__init__.py,sha256=
|
|
66
|
-
fusion_bench/method/classification/clip_finetune.py,sha256=
|
|
66
|
+
fusion_bench/method/classification/__init__.py,sha256=emB06UOMDHK5pfQ1WuvLG9Fm0aEEtZxSjpVw8fVE0fM,167
|
|
67
|
+
fusion_bench/method/classification/clip_finetune.py,sha256=DlV1isp8vz6jwXNYQ6zbblAoUfnssL-WBpDeaXI5BVw,15727
|
|
68
|
+
fusion_bench/method/classification/continual_clip_finetune.py,sha256=OLhZKS-6aCnafevZkZYcNMKTWDDj3DATB27eZl_i8EY,11530
|
|
67
69
|
fusion_bench/method/concrete_subspace/__init__.py,sha256=yjadcpquHZbeZYsbfYhe2JlX46kObfiWJRsIoVcOEg4,223
|
|
68
70
|
fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py,sha256=90_0HkOIl0XQG89xMa0UiBhrwfV2YqfLxlS04AouR3o,24755
|
|
69
71
|
fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py,sha256=Nx-3AiAeIt5zmcC21Ta2_-4cAQg9hOWvThurXNZzA-w,10580
|
|
70
|
-
fusion_bench/method/dare/__init__.py,sha256=
|
|
72
|
+
fusion_bench/method/dare/__init__.py,sha256=63Xwkawyl_Ooy4xFxoDlP6wf-rgEWNqPuWTT9-6Ku5o,156
|
|
71
73
|
fusion_bench/method/dare/simple_average.py,sha256=jR08PokPIr5PWSZbGVOp3IApgKvxAIovg3vnB2KiTwk,906
|
|
72
|
-
fusion_bench/method/dare/task_arithmetic.py,sha256=
|
|
74
|
+
fusion_bench/method/dare/task_arithmetic.py,sha256=Seno_2BhuogdRxXOni8alnHG-fdW15_OWoAvMoBoJj0,2780
|
|
75
|
+
fusion_bench/method/dare/ties_merging.py,sha256=aAIMdIpsBs0vnSKGhqDTFKEChBTmcvczt9JmK_Dr4D4,3424
|
|
73
76
|
fusion_bench/method/dare/utils.py,sha256=TSZMZidnwqVHG36A0UI9Wz_rXNvojXnww7_E7-YfeRI,2888
|
|
74
77
|
fusion_bench/method/dawe/__init__.py,sha256=JrhtX-qAHymU8z44QtFMxtM5Qx5iH1Kxo5cptH0KNgo,83
|
|
75
78
|
fusion_bench/method/dawe/dawe_for_clip.py,sha256=bF4U0_skxyPR-5RCdGQCgudqhC1Hj2x62w_xUibFg1c,9828
|
|
@@ -82,6 +85,9 @@ fusion_bench/method/fisher_merging/__init__.py,sha256=KWsjrtxKkPYwcUA5rB_6UNIqve
|
|
|
82
85
|
fusion_bench/method/fisher_merging/clip_fisher_merging.py,sha256=QCutGqjkfW3OWETPZsCChqLRAhvfJp4QKD9TGSpTyV0,7635
|
|
83
86
|
fusion_bench/method/fisher_merging/fisher_merging.py,sha256=CPU-tJiDv9FCIBYl7Pn0zA5cdRB1Md5kWchRDlJgly0,20456
|
|
84
87
|
fusion_bench/method/fisher_merging/gpt2_fisher_merging.py,sha256=LZmz41jZ5dSsAHxfOUpr3u2rlCgUPTDR7xMsIlQM-jc,7576
|
|
88
|
+
fusion_bench/method/isotropic_merging/__init__.py,sha256=Bg12OiltvZLMmZm066quvtG0LOWSVqI5RggYeaMDGFA,585
|
|
89
|
+
fusion_bench/method/isotropic_merging/iso.py,sha256=GILofZQiTcOnJRQ28RmzOjqkso5Xih9WuFuB2JDWA_M,3773
|
|
90
|
+
fusion_bench/method/isotropic_merging/iso_utils.py,sha256=7L8PYUIJROwHJQmhFY-tdEhkLAnzVKXr-ae55FQ1QSo,6928
|
|
85
91
|
fusion_bench/method/linear/__init__.py,sha256=ChfkoOEAb-rUKwpowFPel-a1hRfS8gCrbnWD-jlRbe4,283
|
|
86
92
|
fusion_bench/method/linear/expo.py,sha256=LCHTWlsPm1Mjhrq0mfpWLVC7skkI9ZksGduy3TxULoU,3939
|
|
87
93
|
fusion_bench/method/linear/linear_interpolation.py,sha256=IONw9BPiRJouY8bE9Abfyz7qVI_1B1n8KGZa0f7Pza8,2157
|
|
@@ -96,6 +102,12 @@ fusion_bench/method/lm_finetune/peftfinetune_sft.py,sha256=klZ_IDr5-1xoYvyVZwug9
|
|
|
96
102
|
fusion_bench/method/mixture_of_experts/__init__.py,sha256=r95iu1-3tgIUP7sWuAbLuqV7xexNYMYPZkM4_8egfp8,198
|
|
97
103
|
fusion_bench/method/mixture_of_experts/mixtral_merging.py,sha256=-n1CLP1o08VyMSfaTq42kRutbw-cFDSCWHTu0iNh6ok,4237
|
|
98
104
|
fusion_bench/method/mixture_of_experts/mixtral_upcycling.py,sha256=tQYAeS8MLFEfH3zDFfNZrML7lRnpGLN-HquQvjPtHNw,11208
|
|
105
|
+
fusion_bench/method/opcm/__init__.py,sha256=0QcltOnjIYV1XEPDEagChLixLAhjiBnYwfWK00am29k,202
|
|
106
|
+
fusion_bench/method/opcm/opcm.py,sha256=USPPMFFVQ9UbcGvvK1573tgkO1kgcrhA5jzKdbNTy9g,10693
|
|
107
|
+
fusion_bench/method/opcm/task_arithmetic.py,sha256=SNuuSyzHqvOT_e3i0z0MHNWaMP6xnDdkI9c2t1OcxO4,4328
|
|
108
|
+
fusion_bench/method/opcm/ties_merging.py,sha256=38ogIysnRfePhB9SAfr1BPwtHyM8gEdhU2td_yTiB2g,6080
|
|
109
|
+
fusion_bench/method/opcm/utils.py,sha256=_q7yy3ENNFUh1qUd5J5DThRL4J1tIxEcknCO2AKmeYM,2102
|
|
110
|
+
fusion_bench/method/opcm/weight_average.py,sha256=JfQoIU5J1jvrNKpO9k_t4Zj0y8PtteIfyoSQWx1yg2k,4379
|
|
99
111
|
fusion_bench/method/pruning/__init__.py,sha256=3gtmay2bkdIAEGjpAhbY2ztMZOZLKhiJcKV3mCe2H5w,252
|
|
100
112
|
fusion_bench/method/pruning/llama_magnitude_prune.py,sha256=40Gmy665S9XqIw027En6E5IlomOIcKECIRje7NDkH00,6300
|
|
101
113
|
fusion_bench/method/pruning/llama_random_prune.py,sha256=EW7zfE-1a5VlPPrQ5xO1k1aqFcpPUfs5eSO_a4M1K90,4566
|
|
@@ -124,7 +136,7 @@ fusion_bench/method/regmean/clip_regmean.py,sha256=xhT7dYSCg9sPLL5ZUCCtcA-Ypw4PB
|
|
|
124
136
|
fusion_bench/method/regmean/gpt2_regmean.py,sha256=p2D3E8YAZsltsI6GM474UWNqPZfBqihLZ93ZLUpOJ_c,5565
|
|
125
137
|
fusion_bench/method/regmean/regmean.py,sha256=NTozStNkMV7RLyxj1TvzPkHjiFPynGiWgQITs8J9CiA,16210
|
|
126
138
|
fusion_bench/method/slerp/__init__.py,sha256=Wgl9gg01Xou6jyZeBRD98kRnB_dAADDaPqRTHoONx9o,59
|
|
127
|
-
fusion_bench/method/slerp/slerp.py,sha256=
|
|
139
|
+
fusion_bench/method/slerp/slerp.py,sha256=2_n10REnRoV5DuwCC0bDX8RM3MLL4Q_5rZiU0hICw2w,3406
|
|
128
140
|
fusion_bench/method/slerp/slerp_utils.py,sha256=vksRo6n7FqY7By9aqbwTL4XV3BjcU_GrUl_r85Kpfjc,3504
|
|
129
141
|
fusion_bench/method/smile_upscaling/__init__.py,sha256=CbJugcuQ7AcoPGFRF7TdxUztYTi3Ii9bnA6Msj8QH0A,149
|
|
130
142
|
fusion_bench/method/smile_upscaling/singular_projection_merging.py,sha256=0neZS9oZnl64wu1xb9ruGB7lbhYXyy4zj8l3E1QYRGQ,6670
|
|
@@ -142,13 +154,13 @@ fusion_bench/method/tall_mask/utils.py,sha256=Wlp8WcPwR_lCaBIZ9rgG6ewLfSzz3G7kPk
|
|
|
142
154
|
fusion_bench/method/task_arithmetic/__init__.py,sha256=pSx_NV5Ra_6UXpyYWCi6ANQoAnEtymZt_X1dDN9wT4Y,96
|
|
143
155
|
fusion_bench/method/task_arithmetic/task_arithmetic.py,sha256=1D0uuNtqyA1VS35jh6AnEVsX72HnT02THyerck_lmso,5441
|
|
144
156
|
fusion_bench/method/task_singular_vector/TSVC.py,sha256=yn4SrZNvtA6PoGYJmbmtNeDyDbGnRCgfZ7ZCg914AZU,410
|
|
145
|
-
fusion_bench/method/task_singular_vector/TSVM.py,sha256=
|
|
157
|
+
fusion_bench/method/task_singular_vector/TSVM.py,sha256=2MqeJazsZNBTKghrtZDqXE2XoO_BShK60n3SEMjV74k,2787
|
|
146
158
|
fusion_bench/method/task_singular_vector/__init__.py,sha256=WMucyl9pu_Ev2kcdrfT4moqMMbzD7hHQVFME5Su5jMA,298
|
|
147
159
|
fusion_bench/method/task_singular_vector/utils/TSVC_utils.py,sha256=FytKbal48EW6iGIA-2zV7QSVbYTVflXr4Mr56q0W75k,2286
|
|
148
|
-
fusion_bench/method/task_singular_vector/utils/TSVM_utils.py,sha256=
|
|
160
|
+
fusion_bench/method/task_singular_vector/utils/TSVM_utils.py,sha256=dsTMQ15zFJ1MPqDOt2TJ01O9Bwq_klyG9xL9hRD2aI0,27521
|
|
149
161
|
fusion_bench/method/task_singular_vector/utils/__init__.py,sha256=Pgthb9Ld1x0Qis1wKWottwgzlBcyuzByFZCMIoI6Fys,240
|
|
150
162
|
fusion_bench/method/ties_merging/__init__.py,sha256=9u9teBbdILbupr9jbwk-qCXSzssCssC5FUV2BfpyZM4,67
|
|
151
|
-
fusion_bench/method/ties_merging/ties_merging.py,sha256=
|
|
163
|
+
fusion_bench/method/ties_merging/ties_merging.py,sha256=rQGYr1HoZLbgwgfsfpIqln0tcoXj9s2J985FtRWO2dA,5502
|
|
152
164
|
fusion_bench/method/ties_merging/ties_merging_utils.py,sha256=EZyltS9hUM8NmcvXjAqhBpj-ucMlMtR95082kPDsJPU,10296
|
|
153
165
|
fusion_bench/method/trust_region/__init__.py,sha256=4ao0E-jTlmTQPArbFWD_dFn_4yve3urNIuSMT8JtRIM,91
|
|
154
166
|
fusion_bench/method/trust_region/clip_task_arithmetic.py,sha256=SWP7sRMiXzkDZ3KdNht3zqjaTcAtB4wpnnd8KYbcKZI,7441
|
|
@@ -160,6 +172,7 @@ fusion_bench/method/weighted_average/__init__.py,sha256=bLxIuuB72hH05J_Spz4MZbiL
|
|
|
160
172
|
fusion_bench/method/weighted_average/llama.py,sha256=BgJKZ15aqjFuNidOqAoGc74rpw3YRDnJ6gYOQJhe6tc,4161
|
|
161
173
|
fusion_bench/method/weighted_average/weighted_average.py,sha256=E4byEA2VfXozu7S_gnYVvwI3qg8AFWaSeNRHGbs2Tno,3340
|
|
162
174
|
fusion_bench/metrics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
175
|
+
fusion_bench/metrics/continual_learning/backward_transfer.py,sha256=3e_eMN9eXZaGorankaPIQ-WfOHpW-bA1EywH6LDInWk,555
|
|
163
176
|
fusion_bench/metrics/nyuv2/__init__.py,sha256=OjIB2vNcEoFrT-b8hqdcCgEgc2uCx3TyKUYS3aoRNNU,282
|
|
164
177
|
fusion_bench/metrics/nyuv2/depth.py,sha256=oKc8NUZd0yAsk7-f78CbOzyuqmFpBhVFA8GOOdaNP7c,1548
|
|
165
178
|
fusion_bench/metrics/nyuv2/loss.py,sha256=oBrkU8cDTczjIKixHjUGLJ_rghx0Vw59OL9DB-kZT3M,914
|
|
@@ -171,7 +184,7 @@ fusion_bench/metrics/text_to_image_generation/aesthetic_scorer.py,sha256=-ZaD84E
|
|
|
171
184
|
fusion_bench/metrics/text_to_image_generation/compressibility.py,sha256=x4dNTFnAN4naChBDZBO-jUghnHAyobRVOupctKYRg1w,1656
|
|
172
185
|
fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py,sha256=aSWzl8k7z80Cirg5qdfkPsp3sMFEv_PjA1NJv3PPWXY,3115
|
|
173
186
|
fusion_bench/mixins/__init__.py,sha256=AsUNvrHdNd6xht7-dfuVipmJuRfMNFlkgG-fn3ojt1U,892
|
|
174
|
-
fusion_bench/mixins/clip_classification.py,sha256=
|
|
187
|
+
fusion_bench/mixins/clip_classification.py,sha256=2Q20bEfRcRx9cg79ubCVpsey3TtpWa8jxk-N_JZVueY,10162
|
|
175
188
|
fusion_bench/mixins/fabric_training.py,sha256=ZmycEhCaNCgVi5oM9m0q6msxgk3quowmFvDAcvskFrg,13017
|
|
176
189
|
fusion_bench/mixins/lightning_fabric.py,sha256=6S1-rV6ItNQDSu7GM4qB99s8rnNXdO4PZDiQI4w0-DU,6593
|
|
177
190
|
fusion_bench/mixins/rich_live.py,sha256=j7wNgrgwfdpl6nCXZGF_2DLtNq2aqCb_52Qhe9QSltc,495
|
|
@@ -251,23 +264,23 @@ fusion_bench/optim/lr_scheduler/utils/__init__.py,sha256=GfZk9VYL3cFE1Qy2xQpGc1G
|
|
|
251
264
|
fusion_bench/optim/lr_scheduler/utils/visualization.py,sha256=Ea1n9ElNizAe0iUnjynyfteuZunv2-UBMN_NfEU2imA,3490
|
|
252
265
|
fusion_bench/programs/__init__.py,sha256=oGoRp2TMI6ELxyfkeTg2h27hZJEDz9x31AsmvwvNvJw,508
|
|
253
266
|
fusion_bench/programs/base_program.py,sha256=0dX_KcMWASo53pr-ldzfUBWIjEXy6oeDWZBrfc7FIk8,195
|
|
254
|
-
fusion_bench/programs/fabric_fusion_program.py,sha256=
|
|
267
|
+
fusion_bench/programs/fabric_fusion_program.py,sha256=WOA9a2hxAKq0aykT4FLwHAyaFTo1XkYLU8fpiyOSX0o,12885
|
|
255
268
|
fusion_bench/scripts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
256
|
-
fusion_bench/scripts/cli.py,sha256=
|
|
269
|
+
fusion_bench/scripts/cli.py,sha256=hw32XtmixFxYXwgAY7iRBMzma_XQjdf_FxPiXKL6dIc,1154
|
|
257
270
|
fusion_bench/scripts/imgui.py,sha256=r9Glbfbwu3JCsX9TKQFwcHarvwA_G7ff0jWBUPW1S1U,7613
|
|
258
271
|
fusion_bench/scripts/nyuv2_mtl_train.py,sha256=hB_P_4DIT83CGOXoyyaBnh9fYnxTJtvAPbKa3_arF6E,3603
|
|
259
272
|
fusion_bench/scripts/webui.py,sha256=ryA-2leSnHcYA88tTAYzJGDhiljbi0vl1Fibejzndlw,14398
|
|
260
273
|
fusion_bench/scripts/clip/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
261
274
|
fusion_bench/scripts/clip/convert_checkpoint.py,sha256=zncgRAhInFpJDSHIm3GO4F6BzgsdAQVj3LLmV7g-JiQ,1221
|
|
262
275
|
fusion_bench/taskpool/__init__.py,sha256=_qaYgzYnvrJDrZ2DjKXMvOFbelsLrujCKa_gP3UQBBg,1094
|
|
263
|
-
fusion_bench/taskpool/base_pool.py,sha256=
|
|
276
|
+
fusion_bench/taskpool/base_pool.py,sha256=Cbe3ZgJ34DWSDZeZEjlgqR0b84aM1i68D9-vomaooo8,852
|
|
264
277
|
fusion_bench/taskpool/dummy.py,sha256=Di9JZO3XyDYn6wAGukrJMTnkS_NaxGTeQYo_3j1JD3Y,1675
|
|
265
278
|
fusion_bench/taskpool/gpt2_text_classification.py,sha256=S4YyrcJhD4JOgvHF-AVG-gENgVGl-wpQZr1SbiThM04,4886
|
|
266
279
|
fusion_bench/taskpool/nyuv2_taskpool.py,sha256=Y-TI-rzh9udCjX3FJ11ZbIG7CGrjDccGc-Ch1Ug6cRY,2059
|
|
267
280
|
fusion_bench/taskpool/clip_vision/__init__.py,sha256=4xGO7rRbRpXF-I34A3WEMU4vydgfdtvXQ57ThaFcpmE,214
|
|
268
281
|
fusion_bench/taskpool/clip_vision/clip_rankone_moe_taskpool.py,sha256=JKbRrGaRYztgZ-P0U767HISe40UpDVQ7fn6Tf2rrug0,4891
|
|
269
282
|
fusion_bench/taskpool/clip_vision/clip_sparse_wemoe_taskpool.py,sha256=hVDTtg-oXqRFmAE2wZPFpk_kvtdk_wS-2-ev2ujEJBs,5390
|
|
270
|
-
fusion_bench/taskpool/clip_vision/taskpool.py,sha256=
|
|
283
|
+
fusion_bench/taskpool/clip_vision/taskpool.py,sha256=f6PlUlkeVOZr_S1jYP5g1t4dit1CSzL6m6llPSF9aro,14990
|
|
271
284
|
fusion_bench/taskpool/llama/__init__.py,sha256=iB4ESMgnsl0m-z0YtRdPZiwGGv96-86R8pbSnkdet8Q,57
|
|
272
285
|
fusion_bench/taskpool/llama/reward_model.py,sha256=ZpRSX4esBAuE0MdTjPHjqS2TnvGb6P8arOGxBeXnq6Y,5028
|
|
273
286
|
fusion_bench/taskpool/llama/test_generation.py,sha256=kJ_5GruG12FsuJHDh_S7pbQgwEojTqhGpA_wVNH5KPc,6675
|
|
@@ -307,27 +320,33 @@ fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py,sha256=-B1wqVGp3wZ
|
|
|
307
320
|
fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py,sha256=sVihXHbqwi8IlDpiIxzvmDv-Ob7WKvi23GIRYbBUKOc,1833
|
|
308
321
|
fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py,sha256=GhRmGmcJGF4oVgZQarsBtx8GNKrNEZUkrillNz3iBuY,13183
|
|
309
322
|
fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py,sha256=mKMTXIr5o-BqS_Hvv1bbMvvjQLLeKNVw7BKS9qgQ8Dw,1890
|
|
310
|
-
fusion_bench/utils/__init__.py,sha256=
|
|
323
|
+
fusion_bench/utils/__init__.py,sha256=fogKvcbYQx2nhj4-NWeeUg0xWUKA30lVJBxJpoPdFA0,398
|
|
311
324
|
fusion_bench/utils/auto.py,sha256=uACQLE62_kNyhl4BGduvcbyeTE61qXpIJx3Ccl8kh68,920
|
|
312
325
|
fusion_bench/utils/cache_utils.py,sha256=rU8x4-RFUtaCZWKd4Kft_7xgPTr1bpXnqUDMkrIdpj8,1653
|
|
313
326
|
fusion_bench/utils/data.py,sha256=51nbgOnayyerLBUGHrlm9iilGjhJsBkXKKGXOKgLRW8,6104
|
|
314
327
|
fusion_bench/utils/devices.py,sha256=72HeUVVlVGTt97JA7KFG3D8BM8VHqR-y1nkr9Bm-PRE,7578
|
|
328
|
+
fusion_bench/utils/dict.py,sha256=ZCK0CRRT_B1Z18WY_GOYcmth7k5x9Jn1k7XhAVWRu98,1379
|
|
315
329
|
fusion_bench/utils/dtype.py,sha256=kYoEGqsXitnwOU3W7ivqhQ0OjdI7MGu1VsyMJS4cSyQ,4299
|
|
330
|
+
fusion_bench/utils/expr.py,sha256=zwHNrtIbOMnIChU-0ZI5qLbDva8zvHbizL-4F2TwM14,2386
|
|
331
|
+
fusion_bench/utils/fabric.py,sha256=X2B_QPT2kqDPceQo3tp4XYAKbBpIs07w94Je_h2_81w,355
|
|
316
332
|
fusion_bench/utils/functools.py,sha256=7_tYJ2WD88_2DDuOOj5aZz3cYuslYH5tsVyIgCeLtmk,1318
|
|
317
333
|
fusion_bench/utils/hydra_utils.py,sha256=TklUDKDEZlg4keI-TEZiqh4gFjr9-61Rt1RMlqkoSGk,1174
|
|
318
|
-
fusion_bench/utils/instantiate.py,sha256=
|
|
319
|
-
fusion_bench/utils/json.py,sha256=
|
|
334
|
+
fusion_bench/utils/instantiate.py,sha256=8DFPFECJRWsJ8vKMWItR_vm19q5ClMP7bDL9y44TbWk,17134
|
|
335
|
+
fusion_bench/utils/json.py,sha256=sVCqbm9mmyHybiui-O57KFt_ULrjLtN2wipSo6VDvqE,2533
|
|
320
336
|
fusion_bench/utils/lazy_imports.py,sha256=v5l9cpHXPMaz1IVBmB5oOqefYr9vA3XvP340xT7Wy18,2796
|
|
321
337
|
fusion_bench/utils/misc.py,sha256=liZPUnORPus45tZ9bOuyMJj3TshP6lOPxTVroshjmjc,385
|
|
322
338
|
fusion_bench/utils/packages.py,sha256=DBmq7t02V0gCE8W05gaZwJnaz0NUrH7K75tRh4kwgyU,1833
|
|
323
|
-
fusion_bench/utils/parameters.py,sha256=
|
|
324
|
-
fusion_bench/utils/path.py,sha256=
|
|
339
|
+
fusion_bench/utils/parameters.py,sha256=ZQG3AGo6B0DmbX13LQFJEESLUipaIqnp9hoWhr0t8-Y,10803
|
|
340
|
+
fusion_bench/utils/path.py,sha256=hRA1CPHNnTYBUmzbftH77sHvn4aTuybEK5Tth1skP-k,531
|
|
325
341
|
fusion_bench/utils/pylogger.py,sha256=a5tHfpEFbsdzw0vhQxt4BJ6CfTXaxyuwzoDFhyNy4KI,2468
|
|
326
|
-
fusion_bench/utils/rich_utils.py,sha256=
|
|
342
|
+
fusion_bench/utils/rich_utils.py,sha256=B8DhAYuVp23pG6ZnnYrUhcL-ikHZoQeTNqlM7u4pwwU,5786
|
|
343
|
+
fusion_bench/utils/set.py,sha256=_43ZvGKJ_BK9sUslsSNhi7xEfuAQuyj3vViImnGpnCY,134
|
|
327
344
|
fusion_bench/utils/state_dict_arithmetic.py,sha256=dVPBkO8Te9_VANPbetV59ORAQTw7D3css_-d0lYgK4k,9062
|
|
345
|
+
fusion_bench/utils/tensorboard.py,sha256=VTEN-uoYBmfhCEJOOXCCZpJe2ErZg0VKcTGyfWZJkSM,1673
|
|
328
346
|
fusion_bench/utils/timer.py,sha256=RC2hP8JqaibdL0FnRyUCBRf4m7CXyfn5tE16zBWZ7hg,1338
|
|
329
347
|
fusion_bench/utils/type.py,sha256=Jz--BmTAzQkxcXXZfGiQLzLR0IPktrFGdjiWhkE93Qg,567
|
|
330
348
|
fusion_bench/utils/plot/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
349
|
+
fusion_bench/utils/plot/color_data.py,sha256=5QO2tlf-9bCKywsIZJXxl6klWb8EntXFilTas_8je5c,48260
|
|
331
350
|
fusion_bench/utils/plot/token.py,sha256=QGmL_qX8drmWnN_VNLD_0YjKc1o_qahJE-svXVor8dU,1634
|
|
332
351
|
fusion_bench/utils/plot/token_notebook.py,sha256=bsntXf46Zz_RavTxNiB9c3-KvHw7LFwyLeG0MIwOwF4,3739
|
|
333
352
|
fusion_bench/utils/strenum/__init__.py,sha256=id9ORi1uXrDxhbmVxitJ1KDwLS4H3AAwFpaK5h1cQzw,8531
|
|
@@ -436,7 +455,7 @@ fusion_bench_config/hydra/default.yaml,sha256=TT0RaUwYgfB7pKpbHgEbmuCVTB2fx2eXxv
|
|
|
436
455
|
fusion_bench_config/hydra/help/fusion_bench_help.yaml,sha256=v8s891Cr5wyxBXGDn_VBBwwRmb0JXOL874Sl-zNoCWA,1880
|
|
437
456
|
fusion_bench_config/hydra/job_logging/rich_logging.yaml,sha256=_dYGeFTCqaPrRowLXBNMXwzYhw8ns1TkQFfALwK1aCw,441
|
|
438
457
|
fusion_bench_config/method/adamerging.yaml,sha256=fBG7jBBepygKpCbM3fmUeVAr2zzx0g8C21rGGfnEPkA,730
|
|
439
|
-
fusion_bench_config/method/clip_finetune.yaml,sha256=
|
|
458
|
+
fusion_bench_config/method/clip_finetune.yaml,sha256=yWjcdKYaKvy53sGaygg2ElAjb9-YFCyCGE1s9aB_dPM,677
|
|
440
459
|
fusion_bench_config/method/depth_upscaling.yaml,sha256=tLU1DdSoV4StGcG7EFpf_3RGPiSL2Dfqr0txASAAwDY,623
|
|
441
460
|
fusion_bench_config/method/dummy.yaml,sha256=5qs6OuIfriKOH7FgqvcMXMUoRLmXDZmjA4irpAsc5xo,45
|
|
442
461
|
fusion_bench_config/method/mixtral_moe_merging.yaml,sha256=AdVhXD6Crw-B3QyNpP4ToHRSg-EeSCIGtazA7lQvPOU,148
|
|
@@ -453,11 +472,14 @@ fusion_bench_config/method/adamerging/layer_wise_gpt2.yaml,sha256=MsyTLP6-ad4tS-
|
|
|
453
472
|
fusion_bench_config/method/adamerging/llama_sft.yaml,sha256=GNTNElki6Lsu5QvQxzu_sQ8fmxR-Zb60c-pD-gq2umA,1024
|
|
454
473
|
fusion_bench_config/method/analysis/task_vector_cos_similarity.yaml,sha256=5eeJmJpbHdOOz20RyFcUJDCib_VG3CznvNm77_F2iNQ,140
|
|
455
474
|
fusion_bench_config/method/analysis/task_vector_violin_plot.yaml,sha256=A8I51WRBTpI8-1LjP-pZVqJQ0K-OpVSMraT0AmT88_A,135
|
|
475
|
+
fusion_bench_config/method/classification/clip_continual_finetune.yaml,sha256=NNSgKqtAUifbGNNQCFigyGkiMmYS3r99e37gmCd-JsY,792
|
|
476
|
+
fusion_bench_config/method/classification/clip_finetune.yaml,sha256=yWjcdKYaKvy53sGaygg2ElAjb9-YFCyCGE1s9aB_dPM,677
|
|
456
477
|
fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml,sha256=XsHzr_5NoUZs0Us3eVwP3lUYXYvyJwGEEG9aDI_Z0rU,740
|
|
457
478
|
fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml,sha256=eNoqcY1iMbs0Y5kKi_ya3rmQQMHqU7ht3EU7G_xmwN0,746
|
|
458
479
|
fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml,sha256=WgTJj28FlVjR0_mCGJC5B8aJa9yezI3QusoXXHOrFoU,739
|
|
459
480
|
fusion_bench_config/method/dare/simple_average.yaml,sha256=oTFSCHul86NTjTtJYK5pNr3tuxW7XxNI-y6fL9Yo4VI,113
|
|
460
481
|
fusion_bench_config/method/dare/task_arithmetic.yaml,sha256=Cvsam89yquamn_GkITT6q8qFKN_Yb5nv8p-XgvnVrgU,134
|
|
482
|
+
fusion_bench_config/method/dare/ties_merging.yaml,sha256=50mPiRkzLN7gxaIs56sPWkAUSvqvdxjQJ8eVl1yUGOg,418
|
|
461
483
|
fusion_bench_config/method/dawe/dawe_for_clip.yaml,sha256=8-Z_kwwGCy1AO4brW-R_pe8oJ0yqoD4WCLI9ZtJ4KOo,1026
|
|
462
484
|
fusion_bench_config/method/ensemble/max_model_predictor.yaml,sha256=fsWuNJwr1ohVB2aJ5L2fsiDLztm5GieE9JS99w--two,56
|
|
463
485
|
fusion_bench_config/method/ensemble/simple_ensemble.yaml,sha256=bw9FabjhQYNbttsiMgTVd-Z4KIowf050Uy97vKtm2ys,55
|
|
@@ -465,6 +487,8 @@ fusion_bench_config/method/ensemble/weighted_ensemble.yaml,sha256=U_wQXtogtgiqOT
|
|
|
465
487
|
fusion_bench_config/method/fisher_merging/clip_fisher_merging.yaml,sha256=rl7kfVvdo2pG-DnglQUbjzkyBqnq1FpfoSDSjFtdLwk,633
|
|
466
488
|
fusion_bench_config/method/fisher_merging/fisher_merging.yaml,sha256=B1wrv9mhaOID4KcAUEMZNxlvY3tR3Q3UGualFslvx-Y,475
|
|
467
489
|
fusion_bench_config/method/fisher_merging/gpt2_fisher_merging.yaml,sha256=AE7XZqRDj4__J_ipEcjPs7qTB2J3xLQyFRlq1W4iHFE,563
|
|
490
|
+
fusion_bench_config/method/isotropic_merging/iso_c.yaml,sha256=Lh_OtTaUJ08--h85fUr2asF85xLe1NMCK8fVAhHOzdQ,82
|
|
491
|
+
fusion_bench_config/method/isotropic_merging/iso_cts.yaml,sha256=x5vZo__kO8njl4_gFdXnOt15X_qFLv6-diSWHOR4clw,111
|
|
468
492
|
fusion_bench_config/method/linear/expo.yaml,sha256=St3NW6cKVRV3vCn8y0gxQ8k66VTdtsLTEWQTbO9wQ0Y,420
|
|
469
493
|
fusion_bench_config/method/linear/linear_interpolation.yaml,sha256=IQgltk5REITSx8xLuLP11ByPbuMgy7dHz_BrxIgwOas,67
|
|
470
494
|
fusion_bench_config/method/linear/llama_expo.yaml,sha256=SEsC-l5gugY0vlsQkTJqzVgWJnMjFzWuTz814UKbFeM,624
|
|
@@ -476,6 +500,10 @@ fusion_bench_config/method/linear/weighted_average_for_llama.yaml,sha256=r8BlNqz
|
|
|
476
500
|
fusion_bench_config/method/lm_finetune/bradley_terry_rm.yaml,sha256=em0Lnodl9bg8dos9MODMXjKtxWCXwQArjLT2z4TC3Q0,1352
|
|
477
501
|
fusion_bench_config/method/lm_finetune/fullfinetune_sft.yaml,sha256=edj3juaYos2I9oQ8J6NKQNcNwqwcQGD74ZMosDsB5SY,1341
|
|
478
502
|
fusion_bench_config/method/lm_finetune/peftfinetune_sft.yaml,sha256=9S-qsWUIALRwWd_gzNF1bwIuPPGP1MmqTpdQ53cwZmc,1628
|
|
503
|
+
fusion_bench_config/method/opcm/opcm.yaml,sha256=FnkudkvzLT9nYSwPkmT36TGwpM0_oFUlyroN-Oesm2c,332
|
|
504
|
+
fusion_bench_config/method/opcm/task_arithmetic.yaml,sha256=q2DnV3DmIqr9YyuShDYaIuI92tkcNEtCrfcRpECFris,328
|
|
505
|
+
fusion_bench_config/method/opcm/ties_merging.yaml,sha256=llXE1Kp9fx2veik_XUGETmiD3LcVUha0n7SDJ6AOm_A,543
|
|
506
|
+
fusion_bench_config/method/opcm/weight_average.yaml,sha256=vQla5o6wwwLZN_3AOA5o82zN7oiLRRmimpeD6aenwVI,305
|
|
479
507
|
fusion_bench_config/method/pruning/llama_magnitude_pruning.yaml,sha256=Px8LU_UtDz-YHDFfqQ7scEPOproiFOaudKVshrhCTgc,483
|
|
480
508
|
fusion_bench_config/method/pruning/llama_random_pruning.yaml,sha256=0RiZS8d42PXZzwncPG8zcbnyYJ9vtfr2sOSqS8oDyT4,325
|
|
481
509
|
fusion_bench_config/method/pruning/llama_wanda_pruning.yaml,sha256=qKe5yIRsmK2KUyYENENWlw1qlGet9TpDhR-E_uO7vAw,501
|
|
@@ -492,7 +520,7 @@ fusion_bench_config/method/sparselo_pruning/llama_iterative_sparselo.yaml,sha256
|
|
|
492
520
|
fusion_bench_config/method/sparselo_pruning/llama_pcp_sparselo.yaml,sha256=w1OWb38nW08K_hvrRMsCwmRxHWLGQfSSXg5nTiYaP8E,635
|
|
493
521
|
fusion_bench_config/method/sparselo_pruning/llama_sparselo.yaml,sha256=J6vYIwqzh95-B3ekDias3FnCrVr4sig4zxpWyvz8hZ0,613
|
|
494
522
|
fusion_bench_config/method/surgery/adamerging_surgery.yaml,sha256=Ne9JlJFgsRYcygBNCOBSN1ygBcLkE6I-8yusfTxyg-Y,826
|
|
495
|
-
fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml,sha256=
|
|
523
|
+
fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml,sha256=CLONjN9TXQ0OQwZHaje0q3WJWxR3LD1b5q5KrWJfZIA,169
|
|
496
524
|
fusion_bench_config/method/trust_region/clip_task_arithmetic.yaml,sha256=mK09Ohsvj0Q6suj5qJM4DyCzRy192QBt4wjHS6W29IY,197
|
|
497
525
|
fusion_bench_config/method/wemoe/sparse_weight_ensembling_moe.yaml,sha256=jiAco7M1XO0aekHFZKLKlXL_jRoCA8bgGD44Z7iB208,1001
|
|
498
526
|
fusion_bench_config/method/wemoe/weight_ensembling_moe.yaml,sha256=OEv5yhyUCe5lXeT2PyXC49yrHXEM7i8SZDw6IQRDtAE,620
|
|
@@ -633,6 +661,7 @@ fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustne
|
|
|
633
661
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml,sha256=SBTyUX3wJwzdCTvZsW14FqaQP5r_nHPvusggGzP9P4o,148
|
|
634
662
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml,sha256=3dymOGjBsEGzqCvzfDGkfImDNcCS0twJ07XpCrrTGcs,393
|
|
635
663
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_svhn_and_mnist.yaml,sha256=fYthV8iwRvF-b4-OCIFW1Rud-BVoLx4Oo3DzVszfqek,175
|
|
664
|
+
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml,sha256=n60FIiq_VeoDDB-SwkpR3tYiS5r6XJVE8aLA2UubMn0,483
|
|
636
665
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8.yaml,sha256=-Tt_YggxkuIGT4_q5FR16zPvW2wWhGJ5LL8omxvHjvw,380
|
|
637
666
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8_model_only.yaml,sha256=PrDQr04UnhAciDrdtUutx-prMxF1Cs4jrEar7uJ-1Es,238
|
|
638
667
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14.yaml,sha256=TyF7CKXpBOiDoLtDVvZuBzPI9gEJo_c99j3Gwkl3FWw,510
|
|
@@ -695,9 +724,9 @@ fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397
|
|
|
695
724
|
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml,sha256=2AqMiNCRRunLIrssHvFzu1lUzOaQn8uOHM9yjrQq-_A,109
|
|
696
725
|
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml,sha256=iQMj2VpDTe_D8OfCo94w5Ud2MON-EGa0DzVr6UmphrA,436
|
|
697
726
|
fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml,sha256=i5Bn8bLl2cgqvrgtIGmoovUfSMehk_m-6C2wwcx5JMU,435
|
|
698
|
-
fusion_bench-0.2.
|
|
699
|
-
fusion_bench-0.2.
|
|
700
|
-
fusion_bench-0.2.
|
|
701
|
-
fusion_bench-0.2.
|
|
702
|
-
fusion_bench-0.2.
|
|
703
|
-
fusion_bench-0.2.
|
|
727
|
+
fusion_bench-0.2.10.dist-info/LICENSE,sha256=nhnOJlw4CPuPVE0qvkGmxfFgHmKi-6nzXvTu8t0NUdg,1066
|
|
728
|
+
fusion_bench-0.2.10.dist-info/METADATA,sha256=kBYozBf6hgA-7ebsn7znqJdhCz4H0dJSv2jVIEkBvyA,16780
|
|
729
|
+
fusion_bench-0.2.10.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
730
|
+
fusion_bench-0.2.10.dist-info/entry_points.txt,sha256=iUQ8MCJvda7HP4vYh2n1Teoapb4G9PBVYZkAfcc5SHU,116
|
|
731
|
+
fusion_bench-0.2.10.dist-info/top_level.txt,sha256=BuO4TL6iHL_2yPBUX9-LlIrHRczA_BNMIFwweK0PQEI,13
|
|
732
|
+
fusion_bench-0.2.10.dist-info/RECORD,,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
_target_: fusion_bench.method.ContinualImageClassificationFineTuningForCLIP
|
|
2
|
+
|
|
3
|
+
seed: 42
|
|
4
|
+
# shuffle the order of the tasks
|
|
5
|
+
shuffle_order: true
|
|
6
|
+
learning_rate: 1e-5
|
|
7
|
+
weight_decay: 0
|
|
8
|
+
# number of training steps on each task
|
|
9
|
+
num_steps: 4000
|
|
10
|
+
batch_size: 128
|
|
11
|
+
num_workers: 16
|
|
12
|
+
save_interval: 500
|
|
13
|
+
# if `state_dict_load_path` is not null, the training will be resumed from the state_dict_path
|
|
14
|
+
state_dict_load_path: null
|
|
15
|
+
# if `state_dict_save_path` is not null, the state_dict will be saved to the path after training
|
|
16
|
+
state_dict_save_path: null
|
|
17
|
+
# if `skip_training` is true, use with `state_dict_load_path` to skip training and only evaluate
|
|
18
|
+
skip_training: false
|
|
19
|
+
# === LoRA ===
|
|
20
|
+
use_lora: false
|
|
21
|
+
lora_config:
|
|
22
|
+
r: 16
|
|
23
|
+
lora_alpha: 32
|
|
24
|
+
target_modules:
|
|
25
|
+
- q_proj
|
|
26
|
+
- v_proj
|
|
27
|
+
lora_dropout: 0.1
|
|
28
|
+
bias: none
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: clip_finetune
|
|
2
|
+
seed: 42
|
|
3
|
+
learning_rate: 1e-5
|
|
4
|
+
weight_decay: 0
|
|
5
|
+
num_steps: 4000
|
|
6
|
+
batch_size: 128
|
|
7
|
+
num_workers: 16
|
|
8
|
+
save_interval: 500
|
|
9
|
+
# if `state_dict_load_path` is not null, the training will be resumed from the state_dict_path
|
|
10
|
+
state_dict_load_path: null
|
|
11
|
+
# if `state_dict_save_path` is not null, the state_dict will be saved to the path after training
|
|
12
|
+
state_dict_save_path: null
|
|
13
|
+
# if `skip_training` is true, use with `state_dict_load_path` to skip training and only evaluate
|
|
14
|
+
skip_training: false
|
|
15
|
+
# === LoRA ===
|
|
16
|
+
use_lora: false
|
|
17
|
+
lora_config:
|
|
18
|
+
r: 16
|
|
19
|
+
lora_alpha: 32
|
|
20
|
+
target_modules:
|
|
21
|
+
- q_proj
|
|
22
|
+
- v_proj
|
|
23
|
+
lora_dropout: 0.1
|
|
24
|
+
bias: none
|
|
25
|
+
# === L-LoRA ===
|
|
26
|
+
use_l_lora: false
|
|
@@ -3,8 +3,8 @@ seed: 42
|
|
|
3
3
|
learning_rate: 1e-5
|
|
4
4
|
weight_decay: 0
|
|
5
5
|
num_steps: 4000
|
|
6
|
-
batch_size:
|
|
7
|
-
num_workers:
|
|
6
|
+
batch_size: 128
|
|
7
|
+
num_workers: 16
|
|
8
8
|
save_interval: 500
|
|
9
9
|
# if `state_dict_load_path` is not null, the training will be resumed from the state_dict_path
|
|
10
10
|
state_dict_load_path: null
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
_target_: fusion_bench.method.dare.DareTiesMerging
|
|
2
|
+
|
|
3
|
+
# === DARE parameters ===
|
|
4
|
+
sparsity_ratio: 0.5
|
|
5
|
+
only_on_linear_weights: false
|
|
6
|
+
rescale: true
|
|
7
|
+
|
|
8
|
+
# === Ties merging parameters ===
|
|
9
|
+
# Scaling factor $\lambda$
|
|
10
|
+
scaling_factor: 0.5
|
|
11
|
+
threshold: 20
|
|
12
|
+
# List of keys to remove from the state dict, default is empty
|
|
13
|
+
remove_keys: []
|
|
14
|
+
# Function to merge the models, default is sum. Options are 'sum', 'mean', and 'max'
|
|
15
|
+
merge_func: sum
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
_target_: fusion_bench.method.opcm.opcm.OPCMForCLIP
|
|
2
|
+
|
|
3
|
+
# shuffle the order of the models
|
|
4
|
+
shuffle_order: true
|
|
5
|
+
# the scaling factor for the SVD projection
|
|
6
|
+
alpha: 0.5
|
|
7
|
+
# the random seed to use
|
|
8
|
+
seed: null
|
|
9
|
+
# save the merged model on every step
|
|
10
|
+
save_on_every_step: true
|
|
11
|
+
# evaluate the merged model on every step
|
|
12
|
+
evaluate_on_every_step: true
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
_target_: fusion_bench.method.opcm.task_arithmetic.ContinualTaskArithmeticForCLIP
|
|
2
|
+
|
|
3
|
+
scaling_factor: 0.3
|
|
4
|
+
|
|
5
|
+
# shuffle the order of the models
|
|
6
|
+
shuffle_order: true
|
|
7
|
+
# the random seed to use
|
|
8
|
+
seed: null
|
|
9
|
+
# save the merged model on every step
|
|
10
|
+
save_on_every_step: true
|
|
11
|
+
# evaluate the merged model on every step
|
|
12
|
+
evaluate_on_every_step: true
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
_target_: fusion_bench.method.opcm.ties_merging.ContinualTiesMergingForCLIP
|
|
2
|
+
|
|
3
|
+
# Scaling factor $\lambda$
|
|
4
|
+
scaling_factor: 0.5
|
|
5
|
+
threshold: 20
|
|
6
|
+
# List of keys to remove from the state dict, default is empty
|
|
7
|
+
remove_keys: []
|
|
8
|
+
# Function to merge the models, default is sum. Options are 'sum', 'mean', and 'max'
|
|
9
|
+
merge_func: sum
|
|
10
|
+
|
|
11
|
+
# shuffle the order of the models
|
|
12
|
+
shuffle_order: true
|
|
13
|
+
# the random seed to use
|
|
14
|
+
seed: null
|
|
15
|
+
# save the merged model on every step
|
|
16
|
+
save_on_every_step: true
|
|
17
|
+
# evaluate the merged model on every step
|
|
18
|
+
evaluate_on_every_step: true
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
_target_: fusion_bench.method.opcm.weight_average.ContinualWeightAverageForCLIP
|
|
2
|
+
|
|
3
|
+
# shuffle the order of the models
|
|
4
|
+
shuffle_order: true
|
|
5
|
+
# the random seed to use
|
|
6
|
+
seed: null
|
|
7
|
+
# save the merged model on every step
|
|
8
|
+
save_on_every_step: true
|
|
9
|
+
# evaluate the merged model on every step
|
|
10
|
+
evaluate_on_every_step: true
|
fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
defaults:
|
|
2
|
+
- _self_
|
|
3
|
+
- /dataset/image_classification/train@train_datasets:
|
|
4
|
+
- tiny-imagenet
|
|
5
|
+
|
|
6
|
+
_target_: fusion_bench.modelpool.CLIPVisionModelPool
|
|
7
|
+
_recursive_: false
|
|
8
|
+
|
|
9
|
+
models:
|
|
10
|
+
_pretrained_: openai/clip-vit-base-patch32
|
|
11
|
+
model_1: tanganke/clip-vit-base-patch32_sun397
|
|
12
|
+
model_2: tanganke/clip-vit-base-patch32_stanford-cars
|
|
13
|
+
|
|
14
|
+
train_datasets: ???
|
|
15
|
+
|
|
16
|
+
processor:
|
|
17
|
+
_target_: transformers.CLIPProcessor.from_pretrained
|
|
18
|
+
pretrained_model_name_or_path: openai/clip-vit-base-patch32
|
|
File without changes
|
|
File without changes
|
|
File without changes
|