fusion-bench 0.2.11__tar.gz → 0.2.12__tar.gz

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.
Files changed (754) hide show
  1. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/PKG-INFO +15 -2
  2. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/README.md +12 -0
  3. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/method/__init__.py +1 -1
  4. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/fer2013.py +0 -1
  5. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/__init__.py +2 -2
  6. {fusion_bench-0.2.11/fusion_bench/method/DOGE_TA → fusion_bench-0.2.12/fusion_bench/method/adamerging}/clip_layer_wise_adamerging.py +1 -1
  7. fusion_bench-0.2.12/fusion_bench/method/doge_ta/__init__.py +2 -0
  8. {fusion_bench-0.2.11/fusion_bench/method/adamerging → fusion_bench-0.2.12/fusion_bench/method/doge_ta}/clip_layer_wise_adamerging.py +1 -1
  9. fusion_bench-0.2.11/fusion_bench/method/DOGE_TA/DOGE_TA.py → fusion_bench-0.2.12/fusion_bench/method/doge_ta/doge_ta.py +1 -1
  10. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/opcm/opcm.py +93 -84
  11. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/opcm/task_arithmetic.py +35 -21
  12. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/opcm/ties_merging.py +71 -52
  13. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/wrappers/layer_wise_fusion.py +1 -46
  14. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/wrappers/layer_wise_fusion_doge_ta.py +4 -119
  15. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench.egg-info/PKG-INFO +15 -2
  16. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench.egg-info/SOURCES.txt +6 -5
  17. fusion_bench-0.2.12/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16_tta.yaml +68 -0
  18. fusion_bench-0.2.11/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16_tta.yaml → fusion_bench-0.2.12/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_tta.yaml +1 -1
  19. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/pyproject.toml +1 -1
  20. fusion_bench-0.2.11/fusion_bench/method/DOGE_TA/__init__.py +0 -2
  21. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/LICENSE +0 -0
  22. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/__init__.py +0 -0
  23. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/__main__.py +0 -0
  24. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/__init__.py +0 -0
  25. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/method/base_algorithm.py +0 -0
  26. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/modelpool/AutoModelForSeq2SeqLM.py +0 -0
  27. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/modelpool/__init__.py +0 -0
  28. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/modelpool/base_pool.py +0 -0
  29. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/modelpool/huggingface_clip_vision.py +0 -0
  30. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/taskpool/__init__.py +0 -0
  31. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/taskpool/base_pool.py +0 -0
  32. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/taskpool/clip_image_classification.py +0 -0
  33. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/compat/taskpool/flan_t5_glue_text_generation.py +0 -0
  34. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/constants/__init__.py +0 -0
  35. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/constants/paths.py +0 -0
  36. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/__init__.py +0 -0
  37. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/arc_agi/__init__.py +0 -0
  38. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/arc_agi/arc.py +0 -0
  39. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/arc_agi/arc_agi.py +0 -0
  40. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/arc_agi/augmenters.py +0 -0
  41. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/arc_agi/messagers.py +0 -0
  42. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/arc_agi/np_cache.py +0 -0
  43. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/arc_agi/preprocess.py +0 -0
  44. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/arc_agi/representers.py +0 -0
  45. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/clip_dataset.py +0 -0
  46. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/gpt2_glue.py +0 -0
  47. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/gsm8k.py +0 -0
  48. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/image_dataset.py +0 -0
  49. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/imdb.py +0 -0
  50. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/__init__.py +0 -0
  51. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/alpaca.py +0 -0
  52. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/collate.py +0 -0
  53. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/metamathqa.py +0 -0
  54. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/openai.py +0 -0
  55. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/preference_700k.py +0 -0
  56. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/sharegpt.py +0 -0
  57. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/squad.py +0 -0
  58. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/stanford_shp.py +0 -0
  59. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/ultrachat.py +0 -0
  60. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/utils/__init__.py +0 -0
  61. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/llama/wikitext.py +0 -0
  62. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/dataset/nyuv2.py +0 -0
  63. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/ada_svd/__init__.py +0 -0
  64. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/ada_svd/clip_vision.py +0 -0
  65. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/__init__.py +0 -0
  66. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/clip_task_wise_adamerging.py +0 -0
  67. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/entropy_loss.py +0 -0
  68. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py +0 -0
  69. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py +0 -0
  70. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/layer_wise_adamerging.py +0 -0
  71. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/llama_adamerging.py +0 -0
  72. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/min_norm_solvers.py +0 -0
  73. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/task_wise_adamerging.py +0 -0
  74. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/adamerging/utils.py +0 -0
  75. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/analysis/__init__.py +0 -0
  76. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/analysis/task_vector_cos_similarity.py +0 -0
  77. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/analysis/task_vector_violin_plot.py +0 -0
  78. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/base_algorithm.py +0 -0
  79. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/classification/__init__.py +0 -0
  80. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/classification/clip_finetune.py +0 -0
  81. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/classification/continual_clip_finetune.py +0 -0
  82. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/concrete_subspace/__init__.py +0 -0
  83. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py +0 -0
  84. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py +0 -0
  85. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/concrete_subspace/clip_post_defense.py +0 -0
  86. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/concrete_subspace/clip_safe_concrete_adamerging.py +0 -0
  87. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dare/__init__.py +0 -0
  88. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dare/simple_average.py +0 -0
  89. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dare/task_arithmetic.py +0 -0
  90. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dare/ties_merging.py +0 -0
  91. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dare/utils.py +0 -0
  92. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dawe/__init__.py +0 -0
  93. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dawe/dawe_for_clip.py +0 -0
  94. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dawe/warppers/__init__.py +0 -0
  95. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dawe/warppers/dawe_model.py +0 -0
  96. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/depth_upscaling/__init__.py +0 -0
  97. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/depth_upscaling/depth_upscaling.py +0 -0
  98. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py +0 -0
  99. {fusion_bench-0.2.11/fusion_bench/method/DOGE_TA → fusion_bench-0.2.12/fusion_bench/method/doge_ta}/layer_wise_adamerging.py +0 -0
  100. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/dummy.py +0 -0
  101. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/ensemble.py +0 -0
  102. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/fisher_merging/__init__.py +0 -0
  103. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/fisher_merging/clip_fisher_merging.py +0 -0
  104. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/fisher_merging/fisher_merging.py +0 -0
  105. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/fisher_merging/gpt2_fisher_merging.py +0 -0
  106. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/isotropic_merging/__init__.py +0 -0
  107. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/isotropic_merging/iso.py +0 -0
  108. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/isotropic_merging/iso_utils.py +0 -0
  109. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/linear/__init__.py +0 -0
  110. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/linear/expo.py +0 -0
  111. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/linear/linear_interpolation.py +0 -0
  112. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/linear/llama_expo.py +0 -0
  113. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/linear/simple_average_for_llama.py +0 -0
  114. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/linear/task_arithmetic_for_llama.py +0 -0
  115. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/lm_finetune/__init__.py +0 -0
  116. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/lm_finetune/bradley_terry_rm.py +0 -0
  117. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/lm_finetune/causal_lm_pretrain.py +0 -0
  118. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/lm_finetune/fullfinetune_sft.py +0 -0
  119. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/lm_finetune/peftfinetune_sft.py +0 -0
  120. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/mixture_of_experts/__init__.py +0 -0
  121. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/mixture_of_experts/mixtral_merging.py +0 -0
  122. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/mixture_of_experts/mixtral_upcycling.py +0 -0
  123. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/model_recombination.py +0 -0
  124. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/opcm/__init__.py +0 -0
  125. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/opcm/utils.py +0 -0
  126. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/opcm/weight_average.py +0 -0
  127. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/__init__.py +0 -0
  128. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/llama_magnitude_prune.py +0 -0
  129. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/llama_random_prune.py +0 -0
  130. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/llama_wanda_prune.py +0 -0
  131. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/magnitude_diff_pruning.py +0 -0
  132. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/prune_utils.py +0 -0
  133. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/wanda_utils/__init__.py +0 -0
  134. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/wanda_utils/ablate.py +0 -0
  135. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/wanda_utils/data.py +0 -0
  136. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/wanda_utils/eval.py +0 -0
  137. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/wanda_utils/layerwrapper.py +0 -0
  138. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/wanda_utils/prune.py +0 -0
  139. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/wanda_utils/prune_opt.py +0 -0
  140. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pruning/wanda_utils/sparsegpt.py +0 -0
  141. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pwe_moe/__init__.py +0 -0
  142. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pwe_moe/clip_pwe_moe.py +0 -0
  143. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pwe_moe/module.py +0 -0
  144. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pwe_moe/phn/__init__.py +0 -0
  145. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pwe_moe/phn/solvers.py +0 -0
  146. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/pwe_moe/utils.py +0 -0
  147. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/rankone_moe/__init__.py +0 -0
  148. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/rankone_moe/clip_rankone_moe.py +0 -0
  149. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/rankone_moe/rankone_moe.py +0 -0
  150. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/regmean/__init__.py +0 -0
  151. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/regmean/clip_regmean.py +0 -0
  152. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/regmean/gpt2_regmean.py +0 -0
  153. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/regmean/regmean.py +0 -0
  154. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/simple_average.py +0 -0
  155. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/slerp/__init__.py +0 -0
  156. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/slerp/slerp.py +0 -0
  157. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/slerp/slerp_utils.py +0 -0
  158. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/smile_upscaling/__init__.py +0 -0
  159. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/smile_upscaling/singular_projection_merging.py +0 -0
  160. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/smile_upscaling/smile_mistral_upscaling.py +0 -0
  161. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/smile_upscaling/smile_upscaling.py +0 -0
  162. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/sparse_we_moe/__init__.py +0 -0
  163. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/sparse_we_moe/sparse_clip_we_moe.py +0 -0
  164. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/sparse_we_moe/sparse_we_moe.py +0 -0
  165. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/sparselo/__init__.py +0 -0
  166. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/sparselo/sparselo.py +0 -0
  167. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/surgery/__init__.py +0 -0
  168. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/surgery/clip_layer_wise_adamerging_surgery.py +0 -0
  169. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/tall_mask/__init__.py +0 -0
  170. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/tall_mask/utils.py +0 -0
  171. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/task_arithmetic/__init__.py +0 -0
  172. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/task_arithmetic/task_arithmetic.py +0 -0
  173. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/task_singular_vector/TSVC.py +0 -0
  174. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/task_singular_vector/TSVM.py +0 -0
  175. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/task_singular_vector/__init__.py +0 -0
  176. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/task_singular_vector/utils/TSVC_utils.py +0 -0
  177. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +0 -0
  178. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/task_singular_vector/utils/__init__.py +0 -0
  179. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/ties_merging/__init__.py +0 -0
  180. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/ties_merging/ties_merging.py +0 -0
  181. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/ties_merging/ties_merging_utils.py +0 -0
  182. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/trust_region/__init__.py +0 -0
  183. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/trust_region/clip_task_arithmetic.py +0 -0
  184. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/trust_region/utils.py +0 -0
  185. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/we_moe/__init__.py +0 -0
  186. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/we_moe/clip_we_moe.py +0 -0
  187. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/we_moe/we_moe.py +0 -0
  188. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/weighted_average/__init__.py +0 -0
  189. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/weighted_average/llama.py +0 -0
  190. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/method/weighted_average/weighted_average.py +0 -0
  191. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/__init__.py +0 -0
  192. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/continual_learning/backward_transfer.py +0 -0
  193. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/nyuv2/__init__.py +0 -0
  194. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/nyuv2/depth.py +0 -0
  195. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/nyuv2/loss.py +0 -0
  196. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/nyuv2/noise.py +0 -0
  197. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/nyuv2/normal.py +0 -0
  198. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/nyuv2/segmentation.py +0 -0
  199. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/text_to_image_generation/__init__.py +0 -0
  200. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/text_to_image_generation/aesthetic_scorer.py +0 -0
  201. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/text_to_image_generation/compressibility.py +0 -0
  202. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py +0 -0
  203. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/__init__.py +0 -0
  204. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/clip_classification.py +0 -0
  205. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/fabric_training.py +0 -0
  206. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/lightning_fabric.py +0 -0
  207. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/optim/__init__.py +0 -0
  208. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/optim/adamw_with_warmup.py +0 -0
  209. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/rich_live.py +0 -0
  210. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/serialization.py +0 -0
  211. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/mixins/simple_profiler.py +0 -0
  212. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/PeftModelForSeq2SeqLM.py +0 -0
  213. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/__init__.py +0 -0
  214. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/base_pool.py +0 -0
  215. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/causal_lm/__init__.py +0 -0
  216. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/causal_lm/causal_lm.py +0 -0
  217. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/clip_vision/__init__.py +0 -0
  218. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/clip_vision/modelpool.py +0 -0
  219. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/huggingface_automodel.py +0 -0
  220. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/huggingface_gpt2_classification.py +0 -0
  221. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/nyuv2_modelpool.py +0 -0
  222. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/seq2seq_lm/__init__.py +0 -0
  223. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/seq2seq_lm/modelpool.py +0 -0
  224. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/seq_classification_lm/__init__.py +0 -0
  225. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/seq_classification_lm/reward_model.py +0 -0
  226. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/modelpool/seq_classification_lm/seq_classification_lm.py +0 -0
  227. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/__init__.py +0 -0
  228. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/chat_templates/__init__.py +0 -0
  229. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/chat_templates/llama_3_Instruct.py +0 -0
  230. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/chat_templates/load_tokenizer.py +0 -0
  231. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/hf_clip.py +0 -0
  232. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/linearized/__init__.py +0 -0
  233. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/linearized/linearized_model_utils.py +0 -0
  234. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/linearized/vision_model.py +0 -0
  235. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/__init__.py +0 -0
  236. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/model_utils/__init__.py +0 -0
  237. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/model_utils/embedding.py +0 -0
  238. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/model_utils/liger_kernel.py +0 -0
  239. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/model_utils/misc.py +0 -0
  240. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/model_utils/mod.py +0 -0
  241. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/model_utils/visual.py +0 -0
  242. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/patcher.py +0 -0
  243. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/llama/tokenizer_loader.py +0 -0
  244. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/masks/__init__.py +0 -0
  245. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/masks/mask_model.py +0 -0
  246. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_losparse_llama/__init__.py +0 -0
  247. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_losparse_llama/configuration_losparse_llama.py +0 -0
  248. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_losparse_llama/losparse_linear.py +0 -0
  249. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_losparse_llama/modeling_losparse_llama.py +0 -0
  250. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_losparse_llama/register.py +0 -0
  251. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_losparse_llama/utils.py +0 -0
  252. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_smile_mistral/__init__.py +0 -0
  253. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_smile_mistral/configuration_smile_mistral.py +0 -0
  254. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_smile_mistral/modeling_smile_mistral.py +0 -0
  255. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/modeling_smile_mistral/register.py +0 -0
  256. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/nyuv2/__init__.py +0 -0
  257. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/nyuv2/aspp.py +0 -0
  258. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/nyuv2/lightning_module.py +0 -0
  259. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/nyuv2/resnet.py +0 -0
  260. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/nyuv2/resnet_dilated.py +0 -0
  261. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/parameter_dict.py +0 -0
  262. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/rankone_moe.py +0 -0
  263. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/separate_io.py +0 -0
  264. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/smile_moe/__init__.py +0 -0
  265. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/smile_moe/linear.py +0 -0
  266. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/sparse_we_moe.py +0 -0
  267. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/surgery/__init__.py +0 -0
  268. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/surgery/surgerymodelwrapper.py +0 -0
  269. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/utils.py +0 -0
  270. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/we_moe.py +0 -0
  271. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/wrappers/__init__.py +0 -0
  272. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/wrappers/ensemble.py +0 -0
  273. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/models/wrappers/task_wise_fusion.py +0 -0
  274. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/optim/__init__.py +0 -0
  275. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/optim/exception.py +0 -0
  276. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/optim/lr_scheduler/__init__.py +0 -0
  277. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/optim/lr_scheduler/linear_warmup.py +0 -0
  278. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/optim/lr_scheduler/utils/__init__.py +0 -0
  279. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/optim/lr_scheduler/utils/visualization.py +0 -0
  280. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/optim/mezo.py +0 -0
  281. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/programs/__init__.py +0 -0
  282. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/programs/base_program.py +0 -0
  283. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/programs/fabric_fusion_program.py +0 -0
  284. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/scripts/__init__.py +0 -0
  285. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/scripts/cli.py +0 -0
  286. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/scripts/clip/__init__.py +0 -0
  287. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/scripts/clip/convert_checkpoint.py +0 -0
  288. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/scripts/imgui.py +0 -0
  289. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/scripts/nyuv2_mtl_train.py +0 -0
  290. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/scripts/webui.py +0 -0
  291. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/__init__.py +0 -0
  292. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/base_pool.py +0 -0
  293. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/clip_vision/__init__.py +0 -0
  294. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/clip_vision/clip_rankone_moe_taskpool.py +0 -0
  295. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/clip_vision/clip_sparse_wemoe_taskpool.py +0 -0
  296. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/clip_vision/taskpool.py +0 -0
  297. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/dummy.py +0 -0
  298. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/gpt2_text_classification.py +0 -0
  299. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/llama/__init__.py +0 -0
  300. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/llama/reward_model.py +0 -0
  301. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/llama/test_generation.py +0 -0
  302. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/taskpool/nyuv2_taskpool.py +0 -0
  303. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/__init__.py +0 -0
  304. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/base_task.py +0 -0
  305. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/classification.py +0 -0
  306. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/__init__.py +0 -0
  307. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/cifar10.py +0 -0
  308. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/cifar100.py +0 -0
  309. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/clip_dataset.py +0 -0
  310. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/cub_200_2011.py +0 -0
  311. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/dtd.py +0 -0
  312. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/emnist_letters.py +0 -0
  313. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/emnist_mnist.py +0 -0
  314. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/eurosat.py +0 -0
  315. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/fashion_mnist.py +0 -0
  316. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/fer2013.py +0 -0
  317. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/flower102.py +0 -0
  318. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/food101.py +0 -0
  319. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/gtsrb.py +0 -0
  320. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/imagenet.py +0 -0
  321. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/kmnist.py +0 -0
  322. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/mnist.py +0 -0
  323. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/mongo_leaf_disease.py +0 -0
  324. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/oxford_iiit_pet.py +0 -0
  325. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/pcam.py +0 -0
  326. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/rendered_sst2.py +0 -0
  327. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/resisc45.py +0 -0
  328. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/stanford_cars.py +0 -0
  329. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/stl10.py +0 -0
  330. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/sun397.py +0 -0
  331. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/svhn.py +0 -0
  332. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/clip_classification/tiny_imagenet.py +0 -0
  333. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/flan_t5_text_generation/__init__.py +0 -0
  334. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/flan_t5_text_generation/datasets_preprocess.py +0 -0
  335. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py +0 -0
  336. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py +0 -0
  337. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py +0 -0
  338. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py +0 -0
  339. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/__init__.py +0 -0
  340. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/auto.py +0 -0
  341. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/cache_utils.py +0 -0
  342. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/data.py +0 -0
  343. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/devices.py +0 -0
  344. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/dict.py +0 -0
  345. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/dtype.py +0 -0
  346. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/expr.py +0 -0
  347. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/fabric.py +0 -0
  348. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/functools.py +0 -0
  349. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/hydra_utils.py +0 -0
  350. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/instantiate.py +0 -0
  351. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/json.py +0 -0
  352. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/lazy_imports.py +0 -0
  353. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/misc.py +0 -0
  354. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/packages.py +0 -0
  355. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/parameters.py +0 -0
  356. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/path.py +0 -0
  357. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/plot/__init__.py +0 -0
  358. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/plot/color_data.py +0 -0
  359. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/plot/token.py +0 -0
  360. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/plot/token_notebook.py +0 -0
  361. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/pylogger.py +0 -0
  362. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/rich_utils.py +0 -0
  363. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/set.py +0 -0
  364. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/state_dict_arithmetic.py +0 -0
  365. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/strenum/__init__.py +0 -0
  366. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/strenum/_name_mangler.py +0 -0
  367. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/strenum/_version.py +0 -0
  368. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/tensorboard.py +0 -0
  369. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/timer.py +0 -0
  370. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench/utils/type.py +0 -0
  371. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench.egg-info/dependency_links.txt +0 -0
  372. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench.egg-info/entry_points.txt +0 -0
  373. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench.egg-info/requires.txt +0 -0
  374. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench.egg-info/top_level.txt +0 -0
  375. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/README.md +0 -0
  376. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  377. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/README.md +0 -0
  378. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/TALL14.yaml +0 -0
  379. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/TALL20.yaml +0 -0
  380. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/cifar10.yaml +0 -0
  381. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/cifar100.yaml +0 -0
  382. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/cub-200-2011.yaml +0 -0
  383. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/dtd.yaml +0 -0
  384. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/emnist_letters.yaml +0 -0
  385. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/emnist_mnist.yaml +0 -0
  386. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/eurosat.yaml +0 -0
  387. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/fashion_mnist.yaml +0 -0
  388. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/fer2013.yaml +0 -0
  389. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/food101.yaml +0 -0
  390. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/gtsrb.yaml +0 -0
  391. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/kmnist.yaml +0 -0
  392. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/mango-leaf-disease.yaml +0 -0
  393. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/mnist.yaml +0 -0
  394. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/oxford-iiit-pet.yaml +0 -0
  395. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/oxford_flowers102.yaml +0 -0
  396. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/pcam.yaml +0 -0
  397. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/rendered-sst2.yaml +0 -0
  398. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/resisc45.yaml +0 -0
  399. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/stanford-cars.yaml +0 -0
  400. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/stl10.yaml +0 -0
  401. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/sun397.yaml +0 -0
  402. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/svhn.yaml +0 -0
  403. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/the_eight_tasks.yaml +0 -0
  404. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/test/tiny-imagenet.yaml +0 -0
  405. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/TALL14.yaml +0 -0
  406. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/TALL20.yaml +0 -0
  407. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/cifar10.yaml +0 -0
  408. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/cifar100.yaml +0 -0
  409. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/cub-200-2011.yaml +0 -0
  410. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/dtd.yaml +0 -0
  411. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/emnist_letters.yaml +0 -0
  412. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/emnist_mnist.yaml +0 -0
  413. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/eurosat.yaml +0 -0
  414. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/fashion_mnist.yaml +0 -0
  415. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/fer2013.yaml +0 -0
  416. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/food101.yaml +0 -0
  417. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/gtsrb.yaml +0 -0
  418. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/kmnist.yaml +0 -0
  419. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/mango-leaf-disease.yaml +0 -0
  420. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/mnist.yaml +0 -0
  421. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/oxford-iiit-pet.yaml +0 -0
  422. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/oxford_flowers102.yaml +0 -0
  423. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/pcam.yaml +0 -0
  424. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/rendered-sst2.yaml +0 -0
  425. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/resisc45.yaml +0 -0
  426. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/stanford-cars.yaml +0 -0
  427. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/stl10.yaml +0 -0
  428. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/sun397.yaml +0 -0
  429. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/svhn.yaml +0 -0
  430. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/the_eight_tasks.yaml +0 -0
  431. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/train/tiny-imagenet.yaml +0 -0
  432. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/dtd.yaml +0 -0
  433. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/eurosat.yaml +0 -0
  434. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/gtsrb.yaml +0 -0
  435. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/mnist.yaml +0 -0
  436. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/resisc45.yaml +0 -0
  437. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/stanford-cars.yaml +0 -0
  438. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/sun397.yaml +0 -0
  439. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/svhn.yaml +0 -0
  440. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/image_classification/val/the_eight_tasks.yaml +0 -0
  441. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/llm_sft/alpaca_cleaned.yaml +0 -0
  442. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/llm_sft/ultrachat_200k.yaml +0 -0
  443. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/question_answering/search_qa.yaml +0 -0
  444. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/question_answering/test/search_qa.yaml +0 -0
  445. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/question_answering/train/MetaMathQA.yaml +0 -0
  446. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/question_answering/train/search_qa.yaml +0 -0
  447. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/question_answering/val/search_qa.yaml +0 -0
  448. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/summarization/test/xsum.yaml +0 -0
  449. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/summarization/train/xsum.yaml +0 -0
  450. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/summarization/val/xsum.yaml +0 -0
  451. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/summarization/xsum.yaml +0 -0
  452. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/text_generation/test/gsm-hard.yaml +0 -0
  453. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/text_generation/test/gsm8k.yaml +0 -0
  454. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/text_generation/test/gsm8k_question_label.yaml +0 -0
  455. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/text_generation/train/CodeAlpaca-20k.yaml +0 -0
  456. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/text_generation/train/gsm8k.yaml +0 -0
  457. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/dataset/text_generation/train/gsm8k_question_label.yaml +0 -0
  458. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/auto.yaml +0 -0
  459. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/llama_ddp.yaml +0 -0
  460. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/llama_fsdp.yaml +0 -0
  461. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/llama_peft_fsdp.yaml +0 -0
  462. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/loggers/csv_logger.yaml +0 -0
  463. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/loggers/tensorboard_logger.yaml +0 -0
  464. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/loggers/wandb_logger.yaml +0 -0
  465. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/strategy/deepspeed.yaml +0 -0
  466. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/strategy/llama_fsdp.yaml +0 -0
  467. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric/strategy/llama_peft_fsdp.yaml +0 -0
  468. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/fabric_model_fusion.yaml +0 -0
  469. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/hydra/default.yaml +0 -0
  470. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/hydra/help/fusion_bench_help.yaml +0 -0
  471. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/hydra/job_logging/rich_logging.yaml +0 -0
  472. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/llama_full_finetune.yaml +0 -0
  473. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/llama_magnitude_pruning.yaml +0 -0
  474. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/llama_model_fusion.yaml +0 -0
  475. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/ada_svd/clip_vision.yaml +0 -0
  476. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/adamerging/clip.yaml +0 -0
  477. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/adamerging/layer_wise_flan_t5.yaml +0 -0
  478. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/adamerging/layer_wise_gpt2.yaml +0 -0
  479. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/adamerging/llama_sft.yaml +0 -0
  480. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/adamerging.yaml +0 -0
  481. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/analysis/task_vector_cos_similarity.yaml +0 -0
  482. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/analysis/task_vector_violin_plot.yaml +0 -0
  483. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/classification/clip_continual_finetune.yaml +0 -0
  484. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/classification/clip_finetune.yaml +0 -0
  485. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/clip_finetune.yaml +0 -0
  486. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml +0 -0
  487. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml +0 -0
  488. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml +0 -0
  489. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/concrete_subspace/clip_post_defense_AWM.yaml +0 -0
  490. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/concrete_subspace/clip_post_defense_SAU.yaml +0 -0
  491. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/concrete_subspace/clip_safe_concrete_layer_wise_adamerging.yaml +0 -0
  492. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/concrete_subspace/clip_safe_concrete_task_arithmetic.yaml +0 -0
  493. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/dare/simple_average.yaml +0 -0
  494. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/dare/task_arithmetic.yaml +0 -0
  495. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/dare/ties_merging.yaml +0 -0
  496. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/dawe/dawe_for_clip.yaml +0 -0
  497. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/depth_upscaling.yaml +0 -0
  498. /fusion_bench-0.2.11/fusion_bench_config/method/DOGE_TA/DOGE_TA.yaml → /fusion_bench-0.2.12/fusion_bench_config/method/doge_ta/doge_ta.yaml +0 -0
  499. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/dummy.yaml +0 -0
  500. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/ensemble/max_model_predictor.yaml +0 -0
  501. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/ensemble/simple_ensemble.yaml +0 -0
  502. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/ensemble/weighted_ensemble.yaml +0 -0
  503. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/fisher_merging/clip_fisher_merging.yaml +0 -0
  504. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/fisher_merging/fisher_merging.yaml +0 -0
  505. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/fisher_merging/gpt2_fisher_merging.yaml +0 -0
  506. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/isotropic_merging/iso_c.yaml +0 -0
  507. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/isotropic_merging/iso_cts.yaml +0 -0
  508. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/linear/expo.yaml +0 -0
  509. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/linear/linear_interpolation.yaml +0 -0
  510. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/linear/llama_expo.yaml +0 -0
  511. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/linear/llama_expo_with_dare.yaml +0 -0
  512. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/linear/simple_average_for_llama.yaml +0 -0
  513. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/linear/task_arithmetic_for_llama.yaml +0 -0
  514. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/linear/weighted_average.yaml +0 -0
  515. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/linear/weighted_average_for_llama.yaml +0 -0
  516. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/lm_finetune/bradley_terry_rm.yaml +0 -0
  517. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/lm_finetune/fullfinetune_sft.yaml +0 -0
  518. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/lm_finetune/peftfinetune_sft.yaml +0 -0
  519. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/mixtral_moe_merging.yaml +0 -0
  520. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/mixtral_moe_upscaling.yaml +0 -0
  521. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/model_recombination.yaml +0 -0
  522. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/opcm/opcm.yaml +0 -0
  523. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/opcm/task_arithmetic.yaml +0 -0
  524. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/opcm/ties_merging.yaml +0 -0
  525. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/opcm/weight_average.yaml +0 -0
  526. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/pruning/llama_magnitude_pruning.yaml +0 -0
  527. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/pruning/llama_random_pruning.yaml +0 -0
  528. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/pruning/llama_wanda_pruning.yaml +0 -0
  529. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/pruning/magnitude_diff_pruning.yaml +0 -0
  530. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/pwe_moe_ls_for_clip.yaml +0 -0
  531. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/rankone_moe/rankone_moe.yaml +0 -0
  532. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/regmean/clip_regmean.yaml +0 -0
  533. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/regmean/gpt2_regmean.yaml +0 -0
  534. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/regmean/regmean.yaml +0 -0
  535. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/simple_average.yaml +0 -0
  536. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/slerp/slerp.yaml +0 -0
  537. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/smile_upscaling/singular_projection_merging.yaml +0 -0
  538. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/smile_upscaling/smile_mistral_upscaling.yaml +0 -0
  539. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/smile_upscaling/smile_upscaling.yaml +0 -0
  540. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/sparselo_pruning/llama_iterative_sparselo.yaml +0 -0
  541. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/sparselo_pruning/llama_pcp_sparselo.yaml +0 -0
  542. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/sparselo_pruning/llama_sparselo.yaml +0 -0
  543. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/surgery/adamerging_surgery.yaml +0 -0
  544. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/task_arithmetic.yaml +0 -0
  545. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +0 -0
  546. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/ties_merging.yaml +0 -0
  547. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/trust_region/clip_task_arithmetic.yaml +0 -0
  548. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/wemoe/sparse_weight_ensembling_moe.yaml +0 -0
  549. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/method/wemoe/weight_ensembling_moe.yaml +0 -0
  550. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/README.md +0 -0
  551. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16.yaml +0 -0
  552. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL14.yaml +0 -0
  553. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL20.yaml +0 -0
  554. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar10.yaml +0 -0
  555. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar100.yaml +0 -0
  556. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_dtd.yaml +0 -0
  557. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eight_tasks.yaml +0 -0
  558. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_emnist_letters.yaml +0 -0
  559. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eurosat.yaml +0 -0
  560. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fashion_mnist.yaml +0 -0
  561. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fer2013.yaml +0 -0
  562. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_food101.yaml +0 -0
  563. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_gtsrb.yaml +0 -0
  564. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_kmnist.yaml +0 -0
  565. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_mnist.yaml +0 -0
  566. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford-iiit-pet.yaml +0 -0
  567. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford_flowers102.yaml +0 -0
  568. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_pcam.yaml +0 -0
  569. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_rendered-sst2.yaml +0 -0
  570. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_resisc45.yaml +0 -0
  571. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stanford-cars.yaml +0 -0
  572. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stl10.yaml +0 -0
  573. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_sun397.yaml +0 -0
  574. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_svhn.yaml +0 -0
  575. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32.yaml +0 -0
  576. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL14.yaml +0 -0
  577. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL20.yaml +0 -0
  578. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar10.yaml +0 -0
  579. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar100.yaml +0 -0
  580. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_dtd.yaml +0 -0
  581. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eight_tasks.yaml +0 -0
  582. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_emnist_letters.yaml +0 -0
  583. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eurosat.yaml +0 -0
  584. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fashion_mnist.yaml +0 -0
  585. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fer2013.yaml +0 -0
  586. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_food101.yaml +0 -0
  587. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_gtsrb.yaml +0 -0
  588. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_kmnist.yaml +0 -0
  589. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_mnist.yaml +0 -0
  590. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford-iiit-pet.yaml +0 -0
  591. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford_flowers102.yaml +0 -0
  592. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_pcam.yaml +0 -0
  593. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_rendered-sst2.yaml +0 -0
  594. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_resisc45.yaml +0 -0
  595. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stanford-cars.yaml +0 -0
  596. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stl10.yaml +0 -0
  597. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_sun397.yaml +0 -0
  598. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_svhn.yaml +0 -0
  599. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14.yaml +0 -0
  600. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL14.yaml +0 -0
  601. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL20.yaml +0 -0
  602. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar10.yaml +0 -0
  603. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar100.yaml +0 -0
  604. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_dtd.yaml +0 -0
  605. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eight_tasks.yaml +0 -0
  606. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_emnist_letters.yaml +0 -0
  607. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eurosat.yaml +0 -0
  608. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fashion_mnist.yaml +0 -0
  609. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fer2013.yaml +0 -0
  610. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_food101.yaml +0 -0
  611. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_gtsrb.yaml +0 -0
  612. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_kmnist.yaml +0 -0
  613. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_mnist.yaml +0 -0
  614. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford-iiit-pet.yaml +0 -0
  615. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford_flowers102.yaml +0 -0
  616. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_pcam.yaml +0 -0
  617. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_rendered-sst2.yaml +0 -0
  618. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_resisc45.yaml +0 -0
  619. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stanford-cars.yaml +0 -0
  620. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stl10.yaml +0 -0
  621. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_sun397.yaml +0 -0
  622. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_svhn.yaml +0 -0
  623. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/download_TALL20_models.sh +0 -0
  624. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/clip-vit/generate_vit_model_config.sh +0 -0
  625. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base.yaml +0 -0
  626. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola.yaml +0 -0
  627. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola_lora-16.yaml +0 -0
  628. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli.yaml +0 -0
  629. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli_lora-16.yaml +0 -0
  630. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc.yaml +0 -0
  631. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc_lora-16.yaml +0 -0
  632. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli.yaml +0 -0
  633. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli_lora-16.yaml +0 -0
  634. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp.yaml +0 -0
  635. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp_lora-16.yaml +0 -0
  636. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte.yaml +0 -0
  637. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte_lora-16.yaml +0 -0
  638. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2.yaml +0 -0
  639. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2_lora-16.yaml +0 -0
  640. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb.yaml +0 -0
  641. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb_lora-16.yaml +0 -0
  642. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large.yaml +0 -0
  643. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-cola_lora-16.yaml +0 -0
  644. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mnli_lora-16.yaml +0 -0
  645. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mrpc_lora-16.yaml +0 -0
  646. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qnli_lora-16.yaml +0 -0
  647. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qqp_lora-16.yaml +0 -0
  648. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-rte_lora-16.yaml +0 -0
  649. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-sst2_lora-16.yaml +0 -0
  650. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-stsb_lora-16.yaml +0 -0
  651. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/model/flan-t5/generate_flan-t5.sh +0 -0
  652. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/_template.yaml +0 -0
  653. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8.yaml +0 -0
  654. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_lora.yaml +0 -0
  655. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_model_only.yaml +0 -0
  656. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14.yaml +0 -0
  657. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14_model_only.yaml +0 -0
  658. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20.yaml +0 -0
  659. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20_model_only.yaml +0 -0
  660. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual.yaml +0 -0
  661. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual_lora.yaml +0 -0
  662. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8.yaml +0 -0
  663. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_control_task.yaml +0 -0
  664. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only.yaml +0 -0
  665. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14.yaml +0 -0
  666. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14_model_only.yaml +0 -0
  667. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20.yaml +0 -0
  668. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20_model_only.yaml +0 -0
  669. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp1.yaml +0 -0
  670. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp2.yaml +0 -0
  671. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml +0 -0
  672. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_mtl.yaml +0 -0
  673. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
  674. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  675. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml +0 -0
  676. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml +0 -0
  677. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
  678. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_two_tasks_control_task.yaml +0 -0
  679. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8.yaml +0 -0
  680. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8_model_only.yaml +0 -0
  681. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14.yaml +0 -0
  682. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14_model_only.yaml +0 -0
  683. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20.yaml +0 -0
  684. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20_model_only.yaml +0 -0
  685. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_individual.yaml +0 -0
  686. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CausalLMPool/llama_alpaca_cleaned.yaml +0 -0
  687. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CausalLMPool/llama_codealpaca.yaml +0 -0
  688. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CausalLMPool/llama_for_causallm.yaml +0 -0
  689. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CausalLMPool/llama_metamathqa.yaml +0 -0
  690. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CausalLMPool/llama_ultrachat.yaml +0 -0
  691. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CausalLMPool/simle_mixtral_exp_v4.yaml +0 -0
  692. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/CausalLMPool/single_llama_model.yaml +0 -0
  693. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/Seq2SeqLMPool/_template.yaml +0 -0
  694. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue.yaml +0 -0
  695. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16.yaml +0 -0
  696. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_individual.yaml +0 -0
  697. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-large_glue_lora16.yaml +0 -0
  698. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/SeqenceClassificationModelPool/llama_preference700k.yaml +0 -0
  699. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/SeqenceClassificationModelPool/single_reward_model.yaml +0 -0
  700. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/automodelpool.yaml +0 -0
  701. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/gpt-2_glue.yaml +0 -0
  702. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/mixtral_moe_merging.yaml +0 -0
  703. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/mixtral_moe_upscaling.yaml +0 -0
  704. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/nyuv2_modelpool.yaml +0 -0
  705. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/smile_mistral_exp_v1.yaml +0 -0
  706. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/smile_mistral_exp_v2.yaml +0 -0
  707. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/smile_mistral_exp_v3.yaml +0 -0
  708. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/modelpool/smile_mistral_exp_v4.yaml +0 -0
  709. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/nyuv2_config.yaml +0 -0
  710. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/nyuv2_mtl_train.yaml +0 -0
  711. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/_template.yaml +0 -0
  712. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  713. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8.yaml +0 -0
  714. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_B16.yaml +0 -0
  715. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_L14.yaml +0 -0
  716. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_val.yaml +0 -0
  717. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_with_control_task.yaml +0 -0
  718. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL14.yaml +0 -0
  719. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL20.yaml +0 -0
  720. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar10.yaml +0 -0
  721. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar100.yaml +0 -0
  722. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_dtd.yaml +0 -0
  723. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_emnist_letters.yaml +0 -0
  724. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_eurosat.yaml +0 -0
  725. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fashion_mnist.yaml +0 -0
  726. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fer2013.yaml +0 -0
  727. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_food101.yaml +0 -0
  728. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_gtsrb.yaml +0 -0
  729. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_kmnist.yaml +0 -0
  730. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_mnist.yaml +0 -0
  731. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford-iiit-pet.yaml +0 -0
  732. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102.yaml +0 -0
  733. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102_val.yaml +0 -0
  734. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_pcam.yaml +0 -0
  735. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_rendered-sst2.yaml +0 -0
  736. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_resisc45.yaml +0 -0
  737. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stanford-cars.yaml +0 -0
  738. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stl10.yaml +0 -0
  739. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397.yaml +0 -0
  740. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml +0 -0
  741. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml +0 -0
  742. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml +0 -0
  743. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
  744. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  745. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
  746. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/dummy.yaml +0 -0
  747. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/flan-t5_glue_text_generation.yaml +0 -0
  748. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/gpt-2_glue.yaml +0 -0
  749. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/nyuv2_taskpool.yaml +0 -0
  750. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/fusion_bench_config/taskpool/reward_model_evaluation.yaml +0 -0
  751. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/setup.cfg +0 -0
  752. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/tests/test_depth_upscaling.py +0 -0
  753. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/tests/test_simple_average.py +0 -0
  754. {fusion_bench-0.2.11 → fusion_bench-0.2.12}/tests/test_weighed_ensemble.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: fusion_bench
3
- Version: 0.2.11
3
+ Version: 0.2.12
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
@@ -45,6 +45,7 @@ Requires-Dist: rich
45
45
  Requires-Dist: scipy
46
46
  Requires-Dist: h5py
47
47
  Requires-Dist: pytest
48
+ Dynamic: license-file
48
49
 
49
50
  <div align='center'>
50
51
 
@@ -69,6 +70,18 @@ FusionBench is a benchmark suite designed to evaluate the performance of various
69
70
 
70
71
  Projects based on FusionBench and news from the community (descending order of date):
71
72
 
73
+ <details>
74
+ <summary>Hao Mark Chen, et al. FW-Merging: Scaling Model Merging with Frank-Wolfe Optimization. Mar 2025. https://arxiv.org/abs/2503.12649</summary>
75
+
76
+ Model merging has emerged as a promising approach for multi-task learning (MTL), offering a data-efficient alternative to conventional fine-tuning. However, with the rapid development of the open-source AI ecosystem and the increasing availability of fine-tuned foundation models, existing model merging methods face two key limitations: (i) They are primarily designed for in-house fine-tuned models, making them less adaptable to diverse model sources with partially unknown model and task information, (ii) They struggle to scale effectively when merging numerous model checkpoints. To address these challenges, we formulate model merging as a constrained optimization problem and introduce a novel approach: Frank-Wolfe Merging (FW-Merging). Inspired by Frank-Wolfe optimization, our approach iteratively selects the most relevant model in the pool to minimize a linear approximation of the objective function and then executes a local merging similar to the Frank-Wolfe update. The objective function is designed to capture the desired behavior of the target-merged model, while the fine-tuned candidate models define the constraint set. More importantly, FW-Merging serves as an orthogonal technique for existing merging methods, seamlessly integrating with them to further enhance accuracy performance. Our experiments show that FW-Merging scales across diverse model sources, remaining stable with 16 irrelevant models and improving by 15.3% with 16 relevant models on 20 CV tasks, while maintaining constant memory overhead, unlike the linear overhead of data-informed merging methods. Compared with the state-of-the-art approaches, FW-Merging surpasses the data-free merging method by 32.8% and outperforms the data-informed Adamerging by 8.39% when merging 20 ViT models.
77
+ </details>
78
+
79
+ <details>
80
+ <summary>Daniel Marczak, et al. No Task Left Behind: Isotropic Model Merging with Common and Task-Specific Subspaces. Feb 2025. https://arxiv.org/abs/2502.04959</summary>
81
+
82
+ Model merging integrates the weights of multiple task-specific models into a single multi-task model. Despite recent interest in the problem, a significant performance gap between the combined and single-task models remains. In this paper, we investigate the key characteristics of task matrices -- weight update matrices applied to a pre-trained model -- that enable effective merging. We show that alignment between singular components of task-specific and merged matrices strongly correlates with performance improvement over the pre-trained model. Based on this, we propose an isotropic merging framework that flattens the singular value spectrum of task matrices, enhances alignment, and reduces the performance gap. Additionally, we incorporate both common and task-specific subspaces to further improve alignment and performance. Our proposed approach achieves state-of-the-art performance across multiple scenarios, including various sets of tasks and model scales. This work advances the understanding of model merging dynamics, offering an effective methodology to merge models without requiring additional training.
83
+ </details>
84
+
72
85
  <details>
73
86
  <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
87
 
@@ -21,6 +21,18 @@ FusionBench is a benchmark suite designed to evaluate the performance of various
21
21
 
22
22
  Projects based on FusionBench and news from the community (descending order of date):
23
23
 
24
+ <details>
25
+ <summary>Hao Mark Chen, et al. FW-Merging: Scaling Model Merging with Frank-Wolfe Optimization. Mar 2025. https://arxiv.org/abs/2503.12649</summary>
26
+
27
+ Model merging has emerged as a promising approach for multi-task learning (MTL), offering a data-efficient alternative to conventional fine-tuning. However, with the rapid development of the open-source AI ecosystem and the increasing availability of fine-tuned foundation models, existing model merging methods face two key limitations: (i) They are primarily designed for in-house fine-tuned models, making them less adaptable to diverse model sources with partially unknown model and task information, (ii) They struggle to scale effectively when merging numerous model checkpoints. To address these challenges, we formulate model merging as a constrained optimization problem and introduce a novel approach: Frank-Wolfe Merging (FW-Merging). Inspired by Frank-Wolfe optimization, our approach iteratively selects the most relevant model in the pool to minimize a linear approximation of the objective function and then executes a local merging similar to the Frank-Wolfe update. The objective function is designed to capture the desired behavior of the target-merged model, while the fine-tuned candidate models define the constraint set. More importantly, FW-Merging serves as an orthogonal technique for existing merging methods, seamlessly integrating with them to further enhance accuracy performance. Our experiments show that FW-Merging scales across diverse model sources, remaining stable with 16 irrelevant models and improving by 15.3% with 16 relevant models on 20 CV tasks, while maintaining constant memory overhead, unlike the linear overhead of data-informed merging methods. Compared with the state-of-the-art approaches, FW-Merging surpasses the data-free merging method by 32.8% and outperforms the data-informed Adamerging by 8.39% when merging 20 ViT models.
28
+ </details>
29
+
30
+ <details>
31
+ <summary>Daniel Marczak, et al. No Task Left Behind: Isotropic Model Merging with Common and Task-Specific Subspaces. Feb 2025. https://arxiv.org/abs/2502.04959</summary>
32
+
33
+ Model merging integrates the weights of multiple task-specific models into a single multi-task model. Despite recent interest in the problem, a significant performance gap between the combined and single-task models remains. In this paper, we investigate the key characteristics of task matrices -- weight update matrices applied to a pre-trained model -- that enable effective merging. We show that alignment between singular components of task-specific and merged matrices strongly correlates with performance improvement over the pre-trained model. Based on this, we propose an isotropic merging framework that flattens the singular value spectrum of task matrices, enhances alignment, and reduces the performance gap. Additionally, we incorporate both common and task-specific subspaces to further improve alignment and performance. Our proposed approach achieves state-of-the-art performance across multiple scenarios, including various sets of tasks and model scales. This work advances the understanding of model merging dynamics, offering an effective methodology to merge models without requiring additional training.
34
+ </details>
35
+
24
36
  <details>
25
37
  <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>
26
38
 
@@ -20,7 +20,7 @@ class AlgorithmFactory:
20
20
  # model merging methods
21
21
  "clip_task_wise_adamerging": ".adamerging.clip_task_wise_adamerging.CLIPTaskWiseAdaMergingAlgorithm",
22
22
  "clip_layer_wise_adamerging": ".adamerging.clip_layer_wise_adamerging.CLIPLayerWiseAdaMergingAlgorithm",
23
- "clip_layer_wise_adamerging_doge_ta": ".DOGE_TA.clip_layer_wise_adamerging.CLIPLayerWiseAdaMergingAlgorithm",
23
+ "clip_layer_wise_adamerging_doge_ta": ".doge_ta.clip_layer_wise_adamerging.CLIPLayerWiseAdaMergingAlgorithm",
24
24
  "singular_projection_merging": "fusion_bench.method.smile_upscaling.singular_projection_merging.SingularProjectionMergingAlgorithm",
25
25
  "clip_layer_wise_adamerging_surgery": ".surgery.clip_layer_wise_adamerging_surgery.CLIPLayerWiseAdaMergingSurgeryAlgorithm",
26
26
  # plug-and-play model merging methods
@@ -7,7 +7,6 @@ def load_fer2013(path: str = "clip-benchmark/wds_fer2013", split: str = "train")
7
7
  dataset = dataset.rename_columns({"jpg": "image", "cls": "label"})
8
8
  return dataset
9
9
 
10
-
11
10
  if __name__ == "__main__":
12
11
  dataset = load_fer2013(split="test")
13
12
  print(dataset)
@@ -53,7 +53,7 @@ _import_structure = {
53
53
  "PWEMoExactParetoOptimalForCLIP",
54
54
  ],
55
55
  "ada_svd": ["AdaSVDMergingForCLIPVisionModel"],
56
- "DOGE_TA": ["DOGE_TA_Algorithm"],
56
+ "doge_ta": ["DOGE_TA_Algorithm"],
57
57
  "task_singular_vector": ["TaskSingularVectorMerging"],
58
58
  "isotropic_merging": [
59
59
  "ISO_C_Merge", # alias
@@ -128,7 +128,7 @@ if TYPE_CHECKING:
128
128
  from .dare import DareSimpleAverage, DareTaskArithmetic, DareTiesMerging
129
129
  from .dawe import DataAdaptiveWeightEnsemblingForCLIP
130
130
  from .depth_upscaling import DepthUpscalingAlgorithm, DepthUpscalingForLlama
131
- from .DOGE_TA import DOGE_TA_Algorithm
131
+ from .doge_ta import DOGE_TA_Algorithm
132
132
  from .dummy import DummyAlgorithm
133
133
  from .ensemble import (
134
134
  MaxModelPredictorAlgorithm,
@@ -9,7 +9,7 @@ fusion_bench \
9
9
  modelpool=clip-vit-base-patch32_TA8 \
10
10
  taskpool=clip-vit-classification_TA8 \
11
11
  fabric.loggers.root_dir=outputs/logs/ViT-B-32 \
12
- fabric.loggers.name=clip_layer_wise_adamerging_adam
12
+ fabric.loggers.name=clip_layer_wise_adamerging_adamerging
13
13
  ```
14
14
  """
15
15
 
@@ -0,0 +1,2 @@
1
+ # flake8: noqa F401
2
+ from .doge_ta import DOGE_TA_Algorithm
@@ -9,7 +9,7 @@ fusion_bench \
9
9
  modelpool=clip-vit-base-patch32_TA8 \
10
10
  taskpool=clip-vit-classification_TA8 \
11
11
  fabric.loggers.root_dir=outputs/logs/ViT-B-32 \
12
- fabric.loggers.name=clip_layer_wise_adamerging_adam
12
+ fabric.loggers.name=clip_layer_wise_adamerging_adamerging
13
13
  ```
14
14
  """
15
15
 
@@ -7,7 +7,7 @@ Example Usage:
7
7
 
8
8
  ```bash
9
9
  fusion_bench \
10
- method=DOGE_TA/DOGE_TA \
10
+ method=doge_ta/doge_ta \
11
11
  modelpool=CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only \
12
12
  taskpool=CLIPVisionModelTaskPool/clip-vit-classification_TA8
13
13
 
@@ -15,7 +15,7 @@ from tqdm.auto import tqdm
15
15
  from transformers import CLIPVisionModel
16
16
 
17
17
  from fusion_bench import BaseAlgorithm, BaseModelPool
18
- from fusion_bench.mixins import LightningFabricMixin
18
+ from fusion_bench.mixins import LightningFabricMixin, SimpleProfilerMixin
19
19
  from fusion_bench.taskpool import CLIPVisionModelTaskPool
20
20
  from fusion_bench.utils import instantiate
21
21
  from fusion_bench.utils.json import load_from_json, save_to_json
@@ -31,6 +31,7 @@ if TYPE_CHECKING:
31
31
  class OPCMForCLIP(
32
32
  BaseAlgorithm,
33
33
  LightningFabricMixin,
34
+ SimpleProfilerMixin,
34
35
  ):
35
36
  def __init__(
36
37
  self,
@@ -64,7 +65,8 @@ class OPCMForCLIP(
64
65
  L.seed_everything(self.seed)
65
66
  accelerator = self.fabric.device
66
67
 
67
- pretrained_model = modelpool.load_pretrained_model()
68
+ with self.profile("loading model"):
69
+ pretrained_model = modelpool.load_pretrained_model()
68
70
 
69
71
  model_names = modelpool.model_names
70
72
  if self.shuffle_order:
@@ -83,15 +85,17 @@ class OPCMForCLIP(
83
85
  )
84
86
 
85
87
  # get the average model
86
- merged_model = modelpool.load_model(model_names[0])
88
+ with self.profile("loading model"):
89
+ merged_model = modelpool.load_model(model_names[0])
87
90
 
88
91
  if self.evaluate_on_every_step:
89
- self.taskpool._is_setup = False
90
- self.taskpool._test_datasets = DictConfig(
91
- {model_names[0]: self._test_datasets[model_names[0]]}
92
- )
93
- report = self.taskpool.evaluate(deepcopy(merged_model))
94
- save_to_json(report, Path(self.log_dir) / "report_0.json")
92
+ with self.profile("evaluating model"):
93
+ self.taskpool._is_setup = False
94
+ self.taskpool._test_datasets = DictConfig(
95
+ {model_names[0]: self._test_datasets[model_names[0]]}
96
+ )
97
+ report = self.taskpool.evaluate(deepcopy(merged_model))
98
+ save_to_json(report, Path(self.log_dir) / "report_0.json")
95
99
 
96
100
  self.avg_task_vector_norm = get_task_vector_norm(merged_model, pretrained_model)
97
101
  self.all_task_vector_norm = [self.avg_task_vector_norm]
@@ -113,90 +117,95 @@ class OPCMForCLIP(
113
117
  enumerate(model_names[1:]), desc="Processing models"
114
118
  ):
115
119
  model_idx += 1
116
- task_model = modelpool.load_model(model_name)
120
+ with self.profile("loading model"):
121
+ task_model = modelpool.load_model(model_name)
117
122
 
118
- self.all_task_vector_norm.append(
119
- get_task_vector_norm(task_model, pretrained_model)
120
- )
121
- self.avg_task_vector_norm = np.mean(self.all_task_vector_norm)
122
- self.fabric.log(
123
- "model/task_vector_norm", self.all_task_vector_norm[-1], step=model_idx
124
- )
125
- self.fabric.log(
126
- "model/avg_task_vector_norm", self.avg_task_vector_norm, step=model_idx
127
- )
123
+ with self.profile("merging model"):
124
+ self.all_task_vector_norm.append(
125
+ get_task_vector_norm(task_model, pretrained_model)
126
+ )
127
+ self.avg_task_vector_norm = np.mean(self.all_task_vector_norm)
128
+ self.fabric.log(
129
+ "model/task_vector_norm", self.all_task_vector_norm[-1], step=model_idx
130
+ )
131
+ self.fabric.log(
132
+ "model/avg_task_vector_norm", self.avg_task_vector_norm, step=model_idx
133
+ )
128
134
 
129
- self.lambda_t = 1 # temporary value
130
-
131
- for module_name, module in tqdm(
132
- list(merged_model.named_modules()),
133
- desc=f"Processing {model_name}",
134
- leave=False,
135
- ):
136
- if not is_leaf_module(module):
137
- continue
138
-
139
- if isinstance(module, nn.Linear):
140
- module.weight.data = self.merge_linear_weights(
141
- module.weight,
142
- pretrained_model.get_submodule(module_name).weight,
143
- task_model.get_submodule(module_name).weight,
144
- param_name=".".join([module_name, "weight"]),
145
- alpha=self.alpha,
146
- accelerator=accelerator,
147
- )
148
- if module.bias is not None:
149
- module.bias.data = self.merge_other_parameters(
150
- module.bias,
151
- pretrained_model.get_submodule(module_name).bias,
152
- task_model.get_submodule(module_name).bias,
153
- param_name=".".join([module_name, "bias"]),
135
+ self.lambda_t = 1 # temporary value
136
+
137
+ for module_name, module in tqdm(
138
+ list(merged_model.named_modules()),
139
+ desc=f"Processing {model_name}",
140
+ leave=False,
141
+ ):
142
+ if not is_leaf_module(module):
143
+ continue
144
+
145
+ if isinstance(module, nn.Linear):
146
+ module.weight.data = self.merge_linear_weights(
147
+ module.weight,
148
+ pretrained_model.get_submodule(module_name).weight,
149
+ task_model.get_submodule(module_name).weight,
150
+ param_name=".".join([module_name, "weight"]),
151
+ alpha=self.alpha,
154
152
  accelerator=accelerator,
155
153
  )
156
- else:
157
- for param_name, param in module.named_parameters():
158
- param.data = self.merge_other_parameters(
159
- merged_W=param,
160
- pretrained_W=pretrained_model.get_submodule(
161
- module_name
162
- ).get_parameter(param_name),
163
- task_W=task_model.get_submodule(module_name).get_parameter(
164
- param_name
165
- ),
166
- param_name=".".join([module_name, param_name]),
167
- accelerator=accelerator,
168
- )
169
-
170
- task_vector_norm = get_task_vector_norm(merged_model, pretrained_model)
171
- self.lambda_t *= task_vector_norm / self.avg_task_vector_norm
172
- for param_name, param in merged_model.named_parameters():
173
- param.data = pretrained_model.get_parameter(param_name) + (
174
- param - pretrained_model.get_parameter(param_name)
175
- ) * (self.avg_task_vector_norm / task_vector_norm)
176
- self.fabric.log("model/lambda_t", self.lambda_t, step=model_idx)
177
- self.fabric.log(
178
- "empirical/lambda_t", np.sqrt(model_idx + 1), step=model_idx
179
- )
180
- self.previous_lambda_t = self.lambda_t
181
- self.lambda_t = None
154
+ if module.bias is not None:
155
+ module.bias.data = self.merge_other_parameters(
156
+ module.bias,
157
+ pretrained_model.get_submodule(module_name).bias,
158
+ task_model.get_submodule(module_name).bias,
159
+ param_name=".".join([module_name, "bias"]),
160
+ accelerator=accelerator,
161
+ )
162
+ else:
163
+ for param_name, param in module.named_parameters():
164
+ param.data = self.merge_other_parameters(
165
+ merged_W=param,
166
+ pretrained_W=pretrained_model.get_submodule(
167
+ module_name
168
+ ).get_parameter(param_name),
169
+ task_W=task_model.get_submodule(module_name).get_parameter(
170
+ param_name
171
+ ),
172
+ param_name=".".join([module_name, param_name]),
173
+ accelerator=accelerator,
174
+ )
175
+
176
+ task_vector_norm = get_task_vector_norm(merged_model, pretrained_model)
177
+ self.lambda_t *= task_vector_norm / self.avg_task_vector_norm
178
+ for param_name, param in merged_model.named_parameters():
179
+ param.data = pretrained_model.get_parameter(param_name) + (
180
+ param - pretrained_model.get_parameter(param_name)
181
+ ) * (self.avg_task_vector_norm / task_vector_norm)
182
+ self.fabric.log("model/lambda_t", self.lambda_t, step=model_idx)
183
+ self.fabric.log(
184
+ "empirical/lambda_t", np.sqrt(model_idx + 1), step=model_idx
185
+ )
186
+ self.previous_lambda_t = self.lambda_t
187
+ self.lambda_t = None
182
188
 
183
- self.fabric.log(
184
- "model/merged_task_vector_norm",
185
- get_task_vector_norm(merged_model, pretrained_model),
186
- step=model_idx,
187
- )
189
+ self.fabric.log(
190
+ "model/merged_task_vector_norm",
191
+ get_task_vector_norm(merged_model, pretrained_model),
192
+ step=model_idx,
193
+ )
188
194
 
189
195
  if self.save_on_every_step:
190
- self.save_merged_model(merged_model, model_idx)
196
+ with self.profile("saving model"):
197
+ self.save_merged_model(merged_model, model_idx)
191
198
 
192
199
  if self.evaluate_on_every_step:
193
- self.taskpool._is_setup = False
194
- self.taskpool._test_datasets = DictConfig(
195
- {n: self._test_datasets[n] for n in model_names[: model_idx + 1]}
196
- )
197
- report = self.taskpool.evaluate(deepcopy(merged_model))
198
- save_to_json(report, Path(self.log_dir) / f"report_{model_idx}.json")
200
+ with self.profile("evaluating model"):
201
+ self.taskpool._is_setup = False
202
+ self.taskpool._test_datasets = DictConfig(
203
+ {n: self._test_datasets[n] for n in model_names[: model_idx + 1]}
204
+ )
205
+ report = self.taskpool.evaluate(deepcopy(merged_model))
206
+ save_to_json(report, Path(self.log_dir) / f"report_{model_idx}.json")
199
207
 
208
+ self.print_profile_summary()
200
209
  return merged_model
201
210
 
202
211
  def save_merged_model(self, merged_model: CLIPVisionModel, step: int):
@@ -227,7 +236,7 @@ class OPCMForCLIP(
227
236
  split_rank = (s.cumsum(dim=0) / s.sum() > alpha).float().argmax().item()
228
237
 
229
238
  projected_task_tv = u.T @ task_tv @ v
230
- projected_task_tv.diag().fill_(0)
239
+ projected_task_tv.diagonal().fill_(0)
231
240
 
232
241
  projected_task_tv[:split_rank, :split_rank] = 0
233
242
 
@@ -15,7 +15,7 @@ from tqdm.auto import tqdm
15
15
  from transformers import CLIPVisionModel
16
16
 
17
17
  from fusion_bench import BaseAlgorithm, BaseModelPool
18
- from fusion_bench.mixins import LightningFabricMixin
18
+ from fusion_bench.mixins import LightningFabricMixin, SimpleProfilerMixin
19
19
  from fusion_bench.taskpool import CLIPVisionModelTaskPool
20
20
  from fusion_bench.utils.json import load_from_json, save_to_json
21
21
  from fusion_bench.utils.state_dict_arithmetic import state_dict_add, state_dict_sub
@@ -24,7 +24,11 @@ if TYPE_CHECKING:
24
24
  from torch.utils.tensorboard import SummaryWriter
25
25
 
26
26
 
27
- class ContinualTaskArithmeticForCLIP(BaseAlgorithm, LightningFabricMixin):
27
+ class ContinualTaskArithmeticForCLIP(
28
+ BaseAlgorithm,
29
+ LightningFabricMixin,
30
+ SimpleProfilerMixin,
31
+ ):
28
32
  def __init__(
29
33
  self,
30
34
  scaling_factor: float,
@@ -79,32 +83,42 @@ class ContinualTaskArithmeticForCLIP(BaseAlgorithm, LightningFabricMixin):
79
83
  for model_idx, model_name in tqdm(
80
84
  enumerate(model_names), desc="Processing models"
81
85
  ):
82
- task_model = modelpool.load_model(model_name)
86
+ with self.profile("loading model"):
87
+ task_model = modelpool.load_model(model_name)
83
88
 
84
- for param_name, param in task_model.named_parameters():
85
- if not param.requires_grad:
86
- continue
89
+ with self.profile("merging model"):
90
+ for param_name, param in task_model.named_parameters():
91
+ if not param.requires_grad:
92
+ continue
87
93
 
88
- task_param = param
89
- merged_param = merged_model.get_parameter(param_name)
90
- pretrained_param = pretrained_model.get_parameter(param_name)
94
+ task_param = param
95
+ merged_param = merged_model.get_parameter(param_name)
96
+ pretrained_param = pretrained_model.get_parameter(param_name)
91
97
 
92
- new_param = merged_param + self.scaling_factor * (
93
- task_param - pretrained_param
94
- )
95
- merged_model.get_parameter(param_name).data = new_param
98
+ new_param = merged_param + self.scaling_factor * (
99
+ task_param - pretrained_param
100
+ )
101
+ merged_model.get_parameter(param_name).data = new_param
96
102
 
97
103
  if self.save_on_every_step:
98
- self.save_merged_model(merged_model, model_idx)
104
+ with self.profile("saving model"):
105
+ self.save_merged_model(merged_model, model_idx)
99
106
 
100
107
  if self.evaluate_on_every_step:
101
- self.taskpool._is_setup = False
102
- self.taskpool._test_datasets = DictConfig(
103
- {n: self._test_datasets[n] for n in model_names[: model_idx + 1]}
104
- )
105
- report = self.taskpool.evaluate(deepcopy(merged_model))
106
- save_to_json(report, Path(self.log_dir) / f"report_{model_idx}.json")
107
-
108
+ with self.profile("evaluating model"):
109
+ self.taskpool._is_setup = False
110
+ self.taskpool._test_datasets = DictConfig(
111
+ {
112
+ n: self._test_datasets[n]
113
+ for n in model_names[: model_idx + 1]
114
+ }
115
+ )
116
+ report = self.taskpool.evaluate(deepcopy(merged_model))
117
+ save_to_json(
118
+ report, Path(self.log_dir) / f"report_{model_idx}.json"
119
+ )
120
+
121
+ self.print_profile_summary()
108
122
  return merged_model
109
123
 
110
124
  def save_merged_model(self, merged_model: CLIPVisionModel, step: int):
@@ -20,7 +20,7 @@ from fusion_bench.method.ties_merging.ties_merging_utils import (
20
20
  ties_merging,
21
21
  vector_to_state_dict,
22
22
  )
23
- from fusion_bench.mixins import LightningFabricMixin
23
+ from fusion_bench.mixins import LightningFabricMixin, SimpleProfilerMixin
24
24
  from fusion_bench.taskpool import CLIPVisionModelTaskPool
25
25
  from fusion_bench.utils.json import load_from_json, save_to_json
26
26
  from fusion_bench.utils.state_dict_arithmetic import state_dict_add, state_dict_sub
@@ -29,7 +29,11 @@ if TYPE_CHECKING:
29
29
  from torch.utils.tensorboard import SummaryWriter
30
30
 
31
31
 
32
- class ContinualTiesMergingForCLIP(BaseAlgorithm, LightningFabricMixin):
32
+ class ContinualTiesMergingForCLIP(
33
+ BaseAlgorithm,
34
+ LightningFabricMixin,
35
+ SimpleProfilerMixin,
36
+ ):
33
37
  def __init__(
34
38
  self,
35
39
  scaling_factor: float,
@@ -84,68 +88,83 @@ class ContinualTiesMergingForCLIP(BaseAlgorithm, LightningFabricMixin):
84
88
  )
85
89
 
86
90
  # get the average model
87
- pretrained_model = modelpool.load_pretrained_model()
91
+ with self.profile("loading model"):
92
+ pretrained_model = modelpool.load_pretrained_model()
88
93
  merged_model = deepcopy(pretrained_model)
89
94
 
90
95
  for model_idx, model_name in tqdm(
91
96
  enumerate(model_names), desc="Processing models"
92
97
  ):
93
- task_model = modelpool.load_model(model_name)
98
+ with self.profile("loading model"):
99
+ task_model = modelpool.load_model(model_name)
94
100
 
95
- task_vector = state_dict_sub(
96
- task_model.state_dict(),
97
- pretrained_model.state_dict(),
98
- )
99
- if model_idx == 0:
100
- # if is the first model, the merged task vector is equal to the task vector
101
- ties_merging_state_dict = task_vector
102
- else:
103
- # if is not the first model, we need to merge the task vector with the previous merged task vector
104
- merged_tv = state_dict_sub(
105
- merged_model.state_dict(),
101
+ with self.profile("merging model"):
102
+ task_vector = state_dict_sub(
103
+ task_model.state_dict(),
106
104
  pretrained_model.state_dict(),
107
105
  )
108
- tv_flat_checks = torch.vstack(
109
- [
110
- state_dict_to_vector(merged_tv, remove_keys=self.remove_keys),
111
- state_dict_to_vector(task_vector, remove_keys=self.remove_keys),
112
- ]
113
- )
114
- # perform the TIES merging
115
- ties_merging_tv = ties_merging(
116
- tv_flat_checks,
117
- reset_thresh=self.threshold,
118
- merge_func=self.merge_func,
119
- )
120
- # convert the merged task vector back to a state dict
121
- ties_merging_state_dict = vector_to_state_dict(
122
- ties_merging_tv,
123
- merged_model.state_dict(),
124
- remove_keys=self.remove_keys,
125
- )
126
-
127
- for param_name, param in task_model.named_parameters():
128
- if not param.requires_grad:
129
- continue
130
-
131
- merged_param = merged_model.get_parameter(param_name)
132
- new_param = (
133
- merged_param
134
- + self.scaling_factor * ties_merging_state_dict[param_name]
135
- )
136
- merged_model.get_parameter(param_name).data = new_param
106
+ if model_idx == 0:
107
+ # if is the first model, the merged task vector is equal to the task vector
108
+ ties_merging_state_dict = task_vector
109
+ else:
110
+ # if is not the first model, we need to merge the task vector with the previous merged task vector
111
+ merged_tv = state_dict_sub(
112
+ merged_model.state_dict(),
113
+ pretrained_model.state_dict(),
114
+ )
115
+ tv_flat_checks = torch.vstack(
116
+ [
117
+ state_dict_to_vector(
118
+ merged_tv, remove_keys=self.remove_keys
119
+ ),
120
+ state_dict_to_vector(
121
+ task_vector, remove_keys=self.remove_keys
122
+ ),
123
+ ]
124
+ )
125
+ # perform the TIES merging
126
+ ties_merging_tv = ties_merging(
127
+ tv_flat_checks,
128
+ reset_thresh=self.threshold,
129
+ merge_func=self.merge_func,
130
+ )
131
+ # convert the merged task vector back to a state dict
132
+ ties_merging_state_dict = vector_to_state_dict(
133
+ ties_merging_tv,
134
+ merged_model.state_dict(),
135
+ remove_keys=self.remove_keys,
136
+ )
137
+
138
+ for param_name, param in task_model.named_parameters():
139
+ if not param.requires_grad:
140
+ continue
141
+
142
+ merged_param = merged_model.get_parameter(param_name)
143
+ new_param = (
144
+ merged_param
145
+ + self.scaling_factor * ties_merging_state_dict[param_name]
146
+ )
147
+ merged_model.get_parameter(param_name).data = new_param
137
148
 
138
149
  if self.save_on_every_step:
139
- self.save_merged_model(merged_model, model_idx)
150
+ with self.profile("saving model"):
151
+ self.save_merged_model(merged_model, model_idx)
140
152
 
141
153
  if self.evaluate_on_every_step:
142
- self.taskpool._is_setup = False
143
- self.taskpool._test_datasets = DictConfig(
144
- {n: self._test_datasets[n] for n in model_names[: model_idx + 1]}
145
- )
146
- report = self.taskpool.evaluate(deepcopy(merged_model))
147
- save_to_json(report, Path(self.log_dir) / f"report_{model_idx}.json")
148
-
154
+ with self.profile("evaluating model"):
155
+ self.taskpool._is_setup = False
156
+ self.taskpool._test_datasets = DictConfig(
157
+ {
158
+ n: self._test_datasets[n]
159
+ for n in model_names[: model_idx + 1]
160
+ }
161
+ )
162
+ report = self.taskpool.evaluate(deepcopy(merged_model))
163
+ save_to_json(
164
+ report, Path(self.log_dir) / f"report_{model_idx}.json"
165
+ )
166
+
167
+ self.print_profile_summary()
149
168
  return merged_model
150
169
 
151
170
  def save_merged_model(self, merged_model: CLIPVisionModel, step: int):