fusion-bench 0.2.6__tar.gz → 0.2.8__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 (746) hide show
  1. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/PKG-INFO +1 -1
  2. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/method/__init__.py +1 -0
  3. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/method/base_algorithm.py +7 -1
  4. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/modelpool/__init__.py +1 -1
  5. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/taskpool/__init__.py +1 -1
  6. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/arc_agi/arc.py +5 -0
  7. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/arc_agi/preprocess.py +1 -1
  8. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/clip_dataset.py +3 -0
  9. fusion_bench-0.2.8/fusion_bench/dataset/fer2013.py +12 -0
  10. fusion_bench-0.2.8/fusion_bench/dataset/llama/__init__.py +1 -0
  11. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/llama/alpaca.py +93 -3
  12. fusion_bench-0.2.8/fusion_bench/dataset/llama/collate.py +120 -0
  13. fusion_bench-0.2.8/fusion_bench/dataset/llama/metamathqa.py +50 -0
  14. fusion_bench-0.2.8/fusion_bench/dataset/llama/preference_700k.py +70 -0
  15. fusion_bench-0.2.8/fusion_bench/dataset/llama/stanford_shp.py +90 -0
  16. fusion_bench-0.2.8/fusion_bench/dataset/llama/ultrachat.py +58 -0
  17. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/__init__.py +3 -1
  18. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/layer_wise_adamerging.py +11 -4
  19. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/min_norm_solvers.py +4 -4
  20. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/classification/clip_finetune.py +10 -13
  21. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/linear/expo.py +39 -0
  22. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/lm_finetune/__init__.py +1 -0
  23. fusion_bench-0.2.8/fusion_bench/method/lm_finetune/bradley_terry_rm.py +432 -0
  24. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/lm_finetune/fullfinetune_sft.py +90 -160
  25. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/lm_finetune/peftfinetune_sft.py +49 -139
  26. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/llama_magnitude_prune.py +2 -2
  27. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/llama_random_prune.py +2 -2
  28. fusion_bench-0.2.8/fusion_bench/method/surgery/__init__.py +1 -0
  29. fusion_bench-0.2.8/fusion_bench/method/surgery/clip_layer_wise_adamerging_surgery.py +157 -0
  30. fusion_bench-0.2.8/fusion_bench/method/tall_mask/utils.py +234 -0
  31. fusion_bench-0.2.8/fusion_bench/method/task_singular_vector/TSVC.py +16 -0
  32. fusion_bench-0.2.8/fusion_bench/method/task_singular_vector/TSVM.py +63 -0
  33. fusion_bench-0.2.8/fusion_bench/method/task_singular_vector/__init__.py +9 -0
  34. fusion_bench-0.2.8/fusion_bench/method/task_singular_vector/utils/TSVC_utils.py +50 -0
  35. fusion_bench-0.2.8/fusion_bench/method/task_singular_vector/utils/TSVM_utils.py +642 -0
  36. fusion_bench-0.2.8/fusion_bench/method/task_singular_vector/utils/__init__.py +7 -0
  37. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/ties_merging/ties_merging_utils.py +7 -2
  38. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/mixins/__init__.py +2 -0
  39. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/mixins/clip_classification.py +64 -11
  40. fusion_bench-0.2.8/fusion_bench/mixins/fabric_training.py +320 -0
  41. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/mixins/lightning_fabric.py +12 -1
  42. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/__init__.py +2 -0
  43. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/base_pool.py +0 -1
  44. fusion_bench-0.2.8/fusion_bench/modelpool/causal_lm/__init__.py +2 -0
  45. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/causal_lm/causal_lm.py +21 -22
  46. fusion_bench-0.2.8/fusion_bench/modelpool/clip_vision/modelpool.py +145 -0
  47. fusion_bench-0.2.8/fusion_bench/modelpool/seq_classification_lm/__init__.py +2 -0
  48. fusion_bench-0.2.8/fusion_bench/modelpool/seq_classification_lm/reward_model.py +15 -0
  49. fusion_bench-0.2.8/fusion_bench/modelpool/seq_classification_lm/seq_classification_lm.py +98 -0
  50. fusion_bench-0.2.8/fusion_bench/models/chat_templates/__init__.py +1 -0
  51. fusion_bench-0.2.8/fusion_bench/models/chat_templates/llama_3_Instruct.py +1 -0
  52. fusion_bench-0.2.8/fusion_bench/models/chat_templates/load_tokenizer.py +43 -0
  53. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/hf_clip.py +50 -9
  54. fusion_bench-0.2.8/fusion_bench/models/surgery/__init__.py +1 -0
  55. fusion_bench-0.2.8/fusion_bench/models/surgery/surgerymodelwrapper.py +158 -0
  56. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/utils.py +8 -0
  57. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/wrappers/layer_wise_fusion.py +14 -5
  58. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/wrappers/task_wise_fusion.py +5 -5
  59. fusion_bench-0.2.8/fusion_bench/optim/__init__.py +2 -0
  60. fusion_bench-0.2.8/fusion_bench/optim/exception.py +47 -0
  61. fusion_bench-0.2.8/fusion_bench/optim/lr_scheduler/__init__.py +1 -0
  62. fusion_bench-0.2.8/fusion_bench/optim/lr_scheduler/linear_warmup.py +222 -0
  63. fusion_bench-0.2.8/fusion_bench/optim/lr_scheduler/utils/__init__.py +1 -0
  64. fusion_bench-0.2.8/fusion_bench/optim/lr_scheduler/utils/visualization.py +119 -0
  65. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/optim/mezo.py +0 -2
  66. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/programs/fabric_fusion_program.py +12 -5
  67. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/scripts/cli.py +0 -0
  68. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/clip_vision/taskpool.py +43 -6
  69. fusion_bench-0.2.8/fusion_bench/taskpool/llama/reward_model.py +157 -0
  70. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/nyuv2_taskpool.py +2 -0
  71. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/__init__.py +13 -45
  72. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/clip_dataset.py +1 -0
  73. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/cub_200_2011.py +208 -0
  74. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/emnist_letters.py +31 -0
  75. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/emnist_mnist.py +5 -0
  76. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/fashion_mnist.py +18 -0
  77. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/fer2013.py +18 -0
  78. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/food101.py +105 -0
  79. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/kmnist.py +17 -0
  80. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/mongo_leaf_disease.py +19 -0
  81. fusion_bench-0.2.8/fusion_bench/tasks/clip_classification/pcam.py +5 -0
  82. fusion_bench-0.2.8/fusion_bench/utils/hydra_utils.py +28 -0
  83. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/parameters.py +12 -3
  84. fusion_bench-0.2.8/fusion_bench/utils/plot/__init__.py +0 -0
  85. fusion_bench-0.2.8/fusion_bench/utils/plot/token.py +52 -0
  86. fusion_bench-0.2.8/fusion_bench/utils/plot/token_notebook.py +127 -0
  87. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/type.py +14 -3
  88. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench.egg-info/PKG-INFO +1 -1
  89. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench.egg-info/SOURCES.txt +174 -1
  90. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/clip-vit-base-patch32_robustness_corrupted.yaml +1 -1
  91. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/README.md +6 -0
  92. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/TALL14.yaml +20 -0
  93. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/TALL20.yaml +28 -0
  94. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/cifar10.yaml +1 -1
  95. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/cifar100.yaml +1 -1
  96. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/cub-200-2011.yaml +4 -0
  97. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/emnist_letters.yaml +5 -0
  98. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/emnist_mnist.yaml +4 -0
  99. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/fashion_mnist.yaml +4 -0
  100. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/fer2013.yaml +3 -0
  101. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/food101.yaml +4 -0
  102. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/kmnist.yaml +4 -0
  103. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/mango-leaf-disease.yaml +4 -0
  104. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/oxford-iiit-pet.yaml +4 -0
  105. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/oxford_flowers102.yaml +4 -0
  106. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/pcam.yaml +4 -0
  107. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/rendered-sst2.yaml +4 -0
  108. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/test/stl10.yaml +4 -0
  109. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/TALL14.yaml +20 -0
  110. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/TALL20.yaml +28 -0
  111. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/cifar10.yaml +1 -1
  112. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/cifar100.yaml +1 -1
  113. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/cub-200-2011.yaml +4 -0
  114. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/emnist_letters.yaml +4 -0
  115. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/emnist_mnist.yaml +4 -0
  116. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/fashion_mnist.yaml +4 -0
  117. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/fer2013.yaml +3 -0
  118. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/food101.yaml +4 -0
  119. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/kmnist.yaml +4 -0
  120. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/mango-leaf-disease.yaml +4 -0
  121. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/oxford-iiit-pet.yaml +4 -0
  122. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/oxford_flowers102.yaml +4 -0
  123. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/pcam.yaml +4 -0
  124. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/rendered-sst2.yaml +4 -0
  125. fusion_bench-0.2.8/fusion_bench_config/dataset/image_classification/train/stl10.yaml +4 -0
  126. fusion_bench-0.2.8/fusion_bench_config/dataset/llm_sft/alpaca_cleaned.yaml +6 -0
  127. fusion_bench-0.2.8/fusion_bench_config/dataset/llm_sft/ultrachat_200k.yaml +3 -0
  128. fusion_bench-0.2.8/fusion_bench_config/fabric/llama_peft_fsdp.yaml +16 -0
  129. fusion_bench-0.2.8/fusion_bench_config/fabric/loggers/wandb_logger.yaml +2 -0
  130. fusion_bench-0.2.8/fusion_bench_config/fabric/strategy/deepspeed.yaml +10 -0
  131. fusion_bench-0.2.8/fusion_bench_config/fabric/strategy/llama_peft_fsdp.yaml +9 -0
  132. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/fabric_model_fusion.yaml +1 -1
  133. fusion_bench-0.2.8/fusion_bench_config/llama_full_finetune.yaml +19 -0
  134. fusion_bench-0.2.8/fusion_bench_config/method/lm_finetune/bradley_terry_rm.yaml +47 -0
  135. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/lm_finetune/fullfinetune_sft.yaml +11 -4
  136. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/lm_finetune/peftfinetune_sft.yaml +4 -2
  137. fusion_bench-0.2.8/fusion_bench_config/method/surgery/adamerging_surgery.yaml +27 -0
  138. fusion_bench-0.2.8/fusion_bench_config/method/task_singular_vector/TaskSingularVectorMerging.yaml +2 -0
  139. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/README.md +38 -0
  140. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16.yaml +1 -0
  141. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL14.yaml +22 -0
  142. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_TALL20.yaml +29 -0
  143. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar10.yaml +1 -0
  144. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_cifar100.yaml +1 -0
  145. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_dtd.yaml +1 -0
  146. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_emnist_letters.yaml +1 -0
  147. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eurosat.yaml +1 -0
  148. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fashion_mnist.yaml +1 -0
  149. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_fer2013.yaml +1 -0
  150. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_food101.yaml +1 -0
  151. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_gtsrb.yaml +1 -0
  152. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_kmnist.yaml +1 -0
  153. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_mnist.yaml +1 -0
  154. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford-iiit-pet.yaml +1 -0
  155. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_oxford_flowers102.yaml +1 -0
  156. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_pcam.yaml +1 -0
  157. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_rendered-sst2.yaml +1 -0
  158. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_resisc45.yaml +1 -0
  159. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stanford-cars.yaml +1 -0
  160. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stl10.yaml +1 -0
  161. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_sun397.yaml +1 -0
  162. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_svhn.yaml +1 -0
  163. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32.yaml +1 -0
  164. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL14.yaml +22 -0
  165. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_TALL20.yaml +29 -0
  166. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar10.yaml +1 -0
  167. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_cifar100.yaml +1 -0
  168. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_dtd.yaml +1 -0
  169. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eight_tasks.yaml +1 -0
  170. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_emnist_letters.yaml +1 -0
  171. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eurosat.yaml +1 -0
  172. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fashion_mnist.yaml +1 -0
  173. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_fer2013.yaml +1 -0
  174. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_food101.yaml +1 -0
  175. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_gtsrb.yaml +1 -0
  176. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_kmnist.yaml +1 -0
  177. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_mnist.yaml +1 -0
  178. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford-iiit-pet.yaml +1 -0
  179. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_oxford_flowers102.yaml +1 -0
  180. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_pcam.yaml +1 -0
  181. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_rendered-sst2.yaml +1 -0
  182. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_resisc45.yaml +1 -0
  183. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stanford-cars.yaml +1 -0
  184. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stl10.yaml +1 -0
  185. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_sun397.yaml +1 -0
  186. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_svhn.yaml +1 -0
  187. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14.yaml +1 -0
  188. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL14.yaml +22 -0
  189. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_TALL20.yaml +29 -0
  190. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar10.yaml +1 -0
  191. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_cifar100.yaml +1 -0
  192. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_dtd.yaml +1 -0
  193. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_emnist_letters.yaml +1 -0
  194. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eurosat.yaml +1 -0
  195. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fashion_mnist.yaml +1 -0
  196. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_fer2013.yaml +1 -0
  197. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_food101.yaml +1 -0
  198. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_gtsrb.yaml +1 -0
  199. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_kmnist.yaml +1 -0
  200. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_mnist.yaml +1 -0
  201. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford-iiit-pet.yaml +1 -0
  202. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_oxford_flowers102.yaml +1 -0
  203. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_pcam.yaml +1 -0
  204. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_rendered-sst2.yaml +1 -0
  205. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_resisc45.yaml +1 -0
  206. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stanford-cars.yaml +1 -0
  207. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stl10.yaml +1 -0
  208. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_sun397.yaml +1 -0
  209. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_svhn.yaml +1 -0
  210. fusion_bench-0.2.8/fusion_bench_config/model/clip-vit/download_TALL20_models.sh +6 -0
  211. fusion_bench-0.2.6/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual.yaml → fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_model_only.yaml +1 -2
  212. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14.yaml +11 -0
  213. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL14_model_only.yaml +9 -0
  214. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20.yaml +11 -0
  215. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TALL20_model_only.yaml +9 -0
  216. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual.yaml +19 -0
  217. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14.yaml +8 -0
  218. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL14_model_only.yaml +6 -0
  219. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20.yaml +8 -0
  220. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TALL20_model_only.yaml +6 -0
  221. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml +13 -0
  222. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_task_projection.yaml +15 -0
  223. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14.yaml +11 -0
  224. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL14_model_only.yaml +9 -0
  225. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20.yaml +11 -0
  226. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TALL20_model_only.yaml +9 -0
  227. fusion_bench-0.2.8/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_individual.yaml +19 -0
  228. fusion_bench-0.2.8/fusion_bench_config/modelpool/CausalLMPool/llama_alpaca_cleaned.yaml +21 -0
  229. fusion_bench-0.2.8/fusion_bench_config/modelpool/CausalLMPool/llama_codealpaca.yaml +21 -0
  230. fusion_bench-0.2.8/fusion_bench_config/modelpool/CausalLMPool/llama_metamathqa.yaml +19 -0
  231. fusion_bench-0.2.8/fusion_bench_config/modelpool/CausalLMPool/llama_ultrachat.yaml +18 -0
  232. fusion_bench-0.2.8/fusion_bench_config/modelpool/SeqenceClassificationModelPool/llama_preference700k.yaml +23 -0
  233. fusion_bench-0.2.8/fusion_bench_config/modelpool/SeqenceClassificationModelPool/single_reward_model.yaml +14 -0
  234. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/nyuv2_config.yaml +5 -1
  235. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL14.yaml +19 -0
  236. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TALL20.yaml +26 -0
  237. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar10.yaml +3 -0
  238. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_cifar100.yaml +3 -0
  239. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_dtd.yaml +3 -0
  240. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_emnist_letters.yaml +3 -0
  241. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_eurosat.yaml +3 -0
  242. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fashion_mnist.yaml +3 -0
  243. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_fer2013.yaml +3 -0
  244. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_food101.yaml +3 -0
  245. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_gtsrb.yaml +3 -0
  246. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_kmnist.yaml +3 -0
  247. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_mnist.yaml +3 -0
  248. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford-iiit-pet.yaml +3 -0
  249. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102.yaml +3 -0
  250. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_oxford_flowers102_val.yaml +3 -0
  251. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_pcam.yaml +3 -0
  252. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_rendered-sst2.yaml +3 -0
  253. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_resisc45.yaml +3 -0
  254. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stanford-cars.yaml +3 -0
  255. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_stl10.yaml +3 -0
  256. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_sun397.yaml +3 -0
  257. fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-single-task_svhn.yaml +3 -0
  258. fusion_bench-0.2.8/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_corrupted.yaml +27 -0
  259. fusion_bench-0.2.8/fusion_bench_config/taskpool/reward_model_evaluation.yaml +18 -0
  260. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/pyproject.toml +1 -1
  261. fusion_bench-0.2.6/fusion_bench/dataset/llama/collate.py +0 -60
  262. fusion_bench-0.2.6/fusion_bench/modelpool/causal_lm/__init__.py +0 -2
  263. fusion_bench-0.2.6/fusion_bench/modelpool/clip_vision/modelpool.py +0 -61
  264. fusion_bench-0.2.6/fusion_bench/tasks/clip_classification/clip_dataset.py +0 -16
  265. fusion_bench-0.2.6/fusion_bench/utils/hydra_utils.py +0 -6
  266. fusion_bench-0.2.6/fusion_bench_config/llama_weighted_average.yaml +0 -26
  267. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16.yaml +0 -3
  268. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_dtd.yaml +0 -3
  269. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eurosat.yaml +0 -3
  270. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_gtsrb.yaml +0 -3
  271. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_mnist.yaml +0 -3
  272. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_resisc45.yaml +0 -3
  273. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_stanford-cars.yaml +0 -3
  274. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_sun397.yaml +0 -3
  275. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_svhn.yaml +0 -3
  276. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32.yaml +0 -3
  277. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_dtd.yaml +0 -3
  278. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_eurosat.yaml +0 -3
  279. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_gtsrb.yaml +0 -3
  280. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_mnist.yaml +0 -3
  281. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_resisc45.yaml +0 -3
  282. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_stanford-cars.yaml +0 -3
  283. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_sun397.yaml +0 -3
  284. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-base-patch32_svhn.yaml +0 -3
  285. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14.yaml +0 -3
  286. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_dtd.yaml +0 -3
  287. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eurosat.yaml +0 -3
  288. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_gtsrb.yaml +0 -3
  289. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_mnist.yaml +0 -3
  290. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_resisc45.yaml +0 -3
  291. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_stanford-cars.yaml +0 -3
  292. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_sun397.yaml +0 -3
  293. fusion_bench-0.2.6/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_svhn.yaml +0 -3
  294. fusion_bench-0.2.6/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_individual.yaml +0 -7
  295. fusion_bench-0.2.6/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_individual.yaml +0 -7
  296. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/LICENSE +0 -0
  297. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/README.md +0 -0
  298. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/__init__.py +0 -0
  299. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/__init__.py +0 -0
  300. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/modelpool/AutoModelForSeq2SeqLM.py +0 -0
  301. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/modelpool/base_pool.py +0 -0
  302. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/modelpool/huggingface_clip_vision.py +0 -0
  303. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/taskpool/base_pool.py +0 -0
  304. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/taskpool/clip_image_classification.py +0 -0
  305. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/compat/taskpool/flan_t5_glue_text_generation.py +0 -0
  306. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/constants/__init__.py +0 -0
  307. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/constants/paths.py +0 -0
  308. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/__init__.py +0 -0
  309. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/arc_agi/__init__.py +0 -0
  310. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/arc_agi/arc_agi.py +0 -0
  311. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/arc_agi/augmenters.py +0 -0
  312. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/arc_agi/messagers.py +0 -0
  313. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/arc_agi/np_cache.py +0 -0
  314. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/arc_agi/representers.py +0 -0
  315. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/gpt2_glue.py +0 -0
  316. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/gsm8k.py +0 -0
  317. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/image_dataset.py +0 -0
  318. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/imdb.py +0 -0
  319. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/llama/openai.py +0 -0
  320. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/llama/sharegpt.py +0 -0
  321. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/llama/squad.py +0 -0
  322. {fusion_bench-0.2.6/fusion_bench/dataset/llama → fusion_bench-0.2.8/fusion_bench/dataset/llama/utils}/__init__.py +0 -0
  323. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/llama/wikitext.py +0 -0
  324. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/dataset/nyuv2.py +0 -0
  325. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/ada_svd/__init__.py +0 -0
  326. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/ada_svd/clip_vision.py +0 -0
  327. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/__init__.py +0 -0
  328. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/clip_layer_wise_adamerging.py +0 -0
  329. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/clip_task_wise_adamerging.py +0 -0
  330. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/entropy_loss.py +0 -0
  331. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/flan_t5_layer_wise_adamerging.py +0 -0
  332. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/gpt2_layer_wise_adamerging.py +0 -0
  333. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/llama_adamerging.py +0 -0
  334. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/task_wise_adamerging.py +0 -0
  335. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/adamerging/utils.py +0 -0
  336. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/analysis/__init__.py +0 -0
  337. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/analysis/task_vector_cos_similarity.py +0 -0
  338. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/analysis/task_vector_violin_plot.py +0 -0
  339. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/base_algorithm.py +0 -0
  340. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/classification/__init__.py +0 -0
  341. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/concrete_subspace/__init__.py +0 -0
  342. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/concrete_subspace/clip_concrete_adamerging.py +0 -0
  343. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/concrete_subspace/clip_concrete_task_arithmetic.py +0 -0
  344. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dare/__init__.py +0 -0
  345. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dare/simple_average.py +0 -0
  346. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dare/task_arithmetic.py +0 -0
  347. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dare/utils.py +0 -0
  348. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dawe/__init__.py +0 -0
  349. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dawe/dawe_for_clip.py +0 -0
  350. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dawe/warppers/__init__.py +0 -0
  351. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dawe/warppers/dawe_model.py +0 -0
  352. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/depth_upscaling/__init__.py +0 -0
  353. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/depth_upscaling/depth_upscaling.py +0 -0
  354. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/depth_upscaling/depth_upscaling_for_llama.py +0 -0
  355. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/dummy.py +0 -0
  356. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/ensemble.py +0 -0
  357. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/fisher_merging/__init__.py +0 -0
  358. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/fisher_merging/clip_fisher_merging.py +0 -0
  359. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/fisher_merging/fisher_merging.py +0 -0
  360. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/fisher_merging/gpt2_fisher_merging.py +0 -0
  361. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/linear/__init__.py +0 -0
  362. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/linear/linear_interpolation.py +0 -0
  363. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/linear/llama_expo.py +0 -0
  364. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/linear/simple_average_for_llama.py +0 -0
  365. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/linear/task_arithmetic_for_llama.py +0 -0
  366. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/lm_finetune/causal_lm_pretrain.py +0 -0
  367. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/mixture_of_experts/__init__.py +0 -0
  368. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/mixture_of_experts/mixtral_merging.py +0 -0
  369. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/mixture_of_experts/mixtral_upcycling.py +0 -0
  370. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/model_recombination.py +0 -0
  371. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/__init__.py +0 -0
  372. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/llama_wanda_prune.py +0 -0
  373. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/magnitude_diff_pruning.py +0 -0
  374. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/prune_utils.py +0 -0
  375. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/wanda_utils/__init__.py +0 -0
  376. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/wanda_utils/ablate.py +0 -0
  377. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/wanda_utils/data.py +0 -0
  378. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/wanda_utils/eval.py +0 -0
  379. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/wanda_utils/layerwrapper.py +0 -0
  380. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/wanda_utils/prune.py +0 -0
  381. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/wanda_utils/prune_opt.py +0 -0
  382. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pruning/wanda_utils/sparsegpt.py +0 -0
  383. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pwe_moe/__init__.py +0 -0
  384. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pwe_moe/clip_pwe_moe.py +0 -0
  385. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pwe_moe/module.py +0 -0
  386. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pwe_moe/phn/__init__.py +0 -0
  387. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pwe_moe/phn/solvers.py +0 -0
  388. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/pwe_moe/utils.py +0 -0
  389. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/rankone_moe/__init__.py +0 -0
  390. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/rankone_moe/clip_rankone_moe.py +0 -0
  391. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/rankone_moe/rankone_moe.py +0 -0
  392. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/regmean/__init__.py +0 -0
  393. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/regmean/clip_regmean.py +0 -0
  394. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/regmean/gpt2_regmean.py +0 -0
  395. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/regmean/regmean.py +0 -0
  396. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/simple_average.py +0 -0
  397. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/slerp/__init__.py +0 -0
  398. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/slerp/slerp.py +0 -0
  399. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/slerp/slerp_utils.py +0 -0
  400. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/smile_upscaling/__init__.py +0 -0
  401. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/smile_upscaling/singular_projection_merging.py +0 -0
  402. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/smile_upscaling/smile_mistral_upscaling.py +0 -0
  403. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/smile_upscaling/smile_upscaling.py +0 -0
  404. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/sparse_we_moe/__init__.py +0 -0
  405. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/sparse_we_moe/sparse_clip_we_moe.py +0 -0
  406. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/sparse_we_moe/sparse_we_moe.py +0 -0
  407. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/sparselo/__init__.py +0 -0
  408. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/sparselo/sparselo.py +0 -0
  409. {fusion_bench-0.2.6/fusion_bench/metrics → fusion_bench-0.2.8/fusion_bench/method/tall_mask}/__init__.py +0 -0
  410. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/task_arithmetic/__init__.py +0 -0
  411. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/task_arithmetic/task_arithmetic.py +0 -0
  412. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/ties_merging/__init__.py +0 -0
  413. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/ties_merging/ties_merging.py +0 -0
  414. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/trust_region/__init__.py +0 -0
  415. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/trust_region/clip_task_arithmetic.py +0 -0
  416. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/trust_region/utils.py +0 -0
  417. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/we_moe/__init__.py +0 -0
  418. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/we_moe/clip_we_moe.py +0 -0
  419. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/we_moe/we_moe.py +0 -0
  420. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/weighted_average/__init__.py +0 -0
  421. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/weighted_average/llama.py +0 -0
  422. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/method/weighted_average/weighted_average.py +0 -0
  423. {fusion_bench-0.2.6/fusion_bench/mixins/optim → fusion_bench-0.2.8/fusion_bench/metrics}/__init__.py +0 -0
  424. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/nyuv2/__init__.py +0 -0
  425. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/nyuv2/depth.py +0 -0
  426. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/nyuv2/loss.py +0 -0
  427. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/nyuv2/noise.py +0 -0
  428. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/nyuv2/normal.py +0 -0
  429. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/nyuv2/segmentation.py +0 -0
  430. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/text_to_image_generation/__init__.py +0 -0
  431. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/text_to_image_generation/aesthetic_scorer.py +0 -0
  432. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/text_to_image_generation/compressibility.py +0 -0
  433. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/metrics/text_to_image_generation/pickscore_scorer.py +0 -0
  434. {fusion_bench-0.2.6/fusion_bench/models/linearized → fusion_bench-0.2.8/fusion_bench/mixins/optim}/__init__.py +0 -0
  435. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/mixins/optim/adamw_with_warmup.py +0 -0
  436. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/mixins/rich_live.py +0 -0
  437. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/mixins/serialization.py +0 -0
  438. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/mixins/simple_profiler.py +0 -0
  439. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/PeftModelForSeq2SeqLM.py +0 -0
  440. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/clip_vision/__init__.py +0 -0
  441. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/huggingface_automodel.py +0 -0
  442. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/huggingface_gpt2_classification.py +0 -0
  443. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/nyuv2_modelpool.py +0 -0
  444. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/seq2seq_lm/__init__.py +0 -0
  445. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/modelpool/seq2seq_lm/modelpool.py +0 -0
  446. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/__init__.py +0 -0
  447. {fusion_bench-0.2.6/fusion_bench/models/llama/model_utils → fusion_bench-0.2.8/fusion_bench/models/linearized}/__init__.py +0 -0
  448. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/linearized/linearized_model_utils.py +0 -0
  449. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/linearized/vision_model.py +0 -0
  450. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/llama/__init__.py +0 -0
  451. {fusion_bench-0.2.6/fusion_bench/models/nyuv2 → fusion_bench-0.2.8/fusion_bench/models/llama/model_utils}/__init__.py +0 -0
  452. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/llama/model_utils/embedding.py +0 -0
  453. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/llama/model_utils/liger_kernel.py +0 -0
  454. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/llama/model_utils/misc.py +0 -0
  455. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/llama/model_utils/mod.py +0 -0
  456. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/llama/model_utils/visual.py +0 -0
  457. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/llama/patcher.py +0 -0
  458. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/llama/tokenizer_loader.py +0 -0
  459. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/masks/__init__.py +0 -0
  460. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/masks/mask_model.py +0 -0
  461. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_losparse_llama/__init__.py +0 -0
  462. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_losparse_llama/configuration_losparse_llama.py +0 -0
  463. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_losparse_llama/losparse_linear.py +0 -0
  464. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_losparse_llama/modeling_losparse_llama.py +0 -0
  465. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_losparse_llama/register.py +0 -0
  466. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_losparse_llama/utils.py +0 -0
  467. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_smile_mistral/__init__.py +0 -0
  468. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_smile_mistral/configuration_smile_mistral.py +0 -0
  469. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_smile_mistral/modeling_smile_mistral.py +0 -0
  470. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/modeling_smile_mistral/register.py +0 -0
  471. {fusion_bench-0.2.6/fusion_bench/models/smile_moe → fusion_bench-0.2.8/fusion_bench/models/nyuv2}/__init__.py +0 -0
  472. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/nyuv2/aspp.py +0 -0
  473. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/nyuv2/lightning_module.py +0 -0
  474. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/nyuv2/resnet.py +0 -0
  475. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/nyuv2/resnet_dilated.py +0 -0
  476. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/parameter_dict.py +0 -0
  477. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/rankone_moe.py +0 -0
  478. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/separate_io.py +0 -0
  479. {fusion_bench-0.2.6/fusion_bench/models/wrappers → fusion_bench-0.2.8/fusion_bench/models/smile_moe}/__init__.py +0 -0
  480. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/smile_moe/linear.py +0 -0
  481. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/sparse_we_moe.py +0 -0
  482. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/we_moe.py +0 -0
  483. {fusion_bench-0.2.6/fusion_bench/optim → fusion_bench-0.2.8/fusion_bench/models/wrappers}/__init__.py +0 -0
  484. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/models/wrappers/ensemble.py +0 -0
  485. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/programs/__init__.py +0 -0
  486. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/programs/base_program.py +0 -0
  487. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/scripts/__init__.py +0 -0
  488. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/scripts/clip/__init__.py +0 -0
  489. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/scripts/clip/convert_checkpoint.py +0 -0
  490. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/scripts/imgui.py +0 -0
  491. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/scripts/nyuv2_mtl_train.py +0 -0
  492. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/scripts/webui.py +0 -0
  493. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/__init__.py +0 -0
  494. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/base_pool.py +0 -0
  495. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/clip_vision/__init__.py +0 -0
  496. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/clip_vision/clip_rankone_moe_taskpool.py +0 -0
  497. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/clip_vision/clip_sparse_wemoe_taskpool.py +0 -0
  498. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/dummy.py +0 -0
  499. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/gpt2_text_classification.py +0 -0
  500. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/llama/__init__.py +0 -0
  501. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/taskpool/llama/test_generation.py +0 -0
  502. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/__init__.py +0 -0
  503. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/base_task.py +0 -0
  504. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/classification.py +0 -0
  505. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/cifar10.py +0 -0
  506. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/cifar100.py +0 -0
  507. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/dtd.py +0 -0
  508. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/eurosat.py +0 -0
  509. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/flower102.py +0 -0
  510. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/gtsrb.py +0 -0
  511. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/imagenet.py +0 -0
  512. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/mnist.py +0 -0
  513. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/oxford_iiit_pet.py +0 -0
  514. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/rendered_sst2.py +0 -0
  515. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/resisc45.py +0 -0
  516. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/stanford_cars.py +0 -0
  517. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/stl10.py +0 -0
  518. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/sun397.py +0 -0
  519. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/svhn.py +0 -0
  520. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/clip_classification/tiny_imagenet.py +0 -0
  521. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/flan_t5_text_generation/__init__.py +0 -0
  522. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/flan_t5_text_generation/datasets_preprocess.py +0 -0
  523. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/flan_t5_text_generation/glue_evaluation.py +0 -0
  524. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/flan_t5_text_generation/glue_load_dataset.py +0 -0
  525. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/flan_t5_text_generation/glue_preprocessors.py +0 -0
  526. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/tasks/flan_t5_text_generation/glue_prompt_templates.py +0 -0
  527. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/__init__.py +0 -0
  528. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/auto.py +0 -0
  529. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/cache_utils.py +0 -0
  530. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/data.py +0 -0
  531. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/devices.py +0 -0
  532. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/dtype.py +0 -0
  533. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/functools.py +0 -0
  534. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/instantiate.py +0 -0
  535. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/json.py +0 -0
  536. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/lazy_imports.py +0 -0
  537. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/misc.py +0 -0
  538. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/packages.py +0 -0
  539. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/path.py +0 -0
  540. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/pylogger.py +0 -0
  541. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/rich_utils.py +0 -0
  542. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/state_dict_arithmetic.py +0 -0
  543. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/strenum/__init__.py +0 -0
  544. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/strenum/_name_mangler.py +0 -0
  545. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/strenum/_version.py +0 -0
  546. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench/utils/timer.py +0 -0
  547. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench.egg-info/dependency_links.txt +0 -0
  548. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench.egg-info/entry_points.txt +0 -0
  549. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench.egg-info/requires.txt +0 -0
  550. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench.egg-info/top_level.txt +0 -0
  551. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/README.md +0 -0
  552. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/dtd.yaml +0 -0
  553. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/eurosat.yaml +0 -0
  554. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/gtsrb.yaml +0 -0
  555. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/mnist.yaml +0 -0
  556. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/resisc45.yaml +0 -0
  557. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/stanford-cars.yaml +0 -0
  558. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/sun397.yaml +0 -0
  559. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/svhn.yaml +0 -0
  560. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/the_eight_tasks.yaml +0 -0
  561. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/test/tiny-imagenet.yaml +0 -0
  562. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/dtd.yaml +0 -0
  563. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/eurosat.yaml +0 -0
  564. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/gtsrb.yaml +0 -0
  565. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/mnist.yaml +0 -0
  566. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/resisc45.yaml +0 -0
  567. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/stanford-cars.yaml +0 -0
  568. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/sun397.yaml +0 -0
  569. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/svhn.yaml +0 -0
  570. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/the_eight_tasks.yaml +0 -0
  571. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/train/tiny-imagenet.yaml +0 -0
  572. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/dtd.yaml +0 -0
  573. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/eurosat.yaml +0 -0
  574. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/gtsrb.yaml +0 -0
  575. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/mnist.yaml +0 -0
  576. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/resisc45.yaml +0 -0
  577. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/stanford-cars.yaml +0 -0
  578. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/sun397.yaml +0 -0
  579. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/svhn.yaml +0 -0
  580. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/image_classification/val/the_eight_tasks.yaml +0 -0
  581. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/question_answering/search_qa.yaml +0 -0
  582. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/question_answering/test/search_qa.yaml +0 -0
  583. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/question_answering/train/MetaMathQA.yaml +0 -0
  584. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/question_answering/train/search_qa.yaml +0 -0
  585. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/question_answering/val/search_qa.yaml +0 -0
  586. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/summarization/test/xsum.yaml +0 -0
  587. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/summarization/train/xsum.yaml +0 -0
  588. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/summarization/val/xsum.yaml +0 -0
  589. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/summarization/xsum.yaml +0 -0
  590. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/text_generation/test/gsm-hard.yaml +0 -0
  591. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/text_generation/test/gsm8k.yaml +0 -0
  592. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/text_generation/test/gsm8k_question_label.yaml +0 -0
  593. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/text_generation/train/CodeAlpaca-20k.yaml +0 -0
  594. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/text_generation/train/gsm8k.yaml +0 -0
  595. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/dataset/text_generation/train/gsm8k_question_label.yaml +0 -0
  596. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/fabric/auto.yaml +0 -0
  597. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/fabric/llama_ddp.yaml +0 -0
  598. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/fabric/llama_fsdp.yaml +0 -0
  599. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/fabric/loggers/csv_logger.yaml +0 -0
  600. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/fabric/loggers/tensorboard_logger.yaml +0 -0
  601. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/fabric/strategy/llama_fsdp.yaml +0 -0
  602. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/hydra/default.yaml +0 -0
  603. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/hydra/help/fusion_bench_help.yaml +0 -0
  604. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/hydra/job_logging/rich_logging.yaml +0 -0
  605. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/llama_magnitude_pruning.yaml +0 -0
  606. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/llama_model_fusion.yaml +0 -0
  607. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/ada_svd/clip_vision.yaml +0 -0
  608. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/adamerging/clip.yaml +0 -0
  609. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/adamerging/layer_wise_flan_t5.yaml +0 -0
  610. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/adamerging/layer_wise_gpt2.yaml +0 -0
  611. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/adamerging/llama_sft.yaml +0 -0
  612. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/adamerging.yaml +0 -0
  613. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/analysis/task_vector_cos_similarity.yaml +0 -0
  614. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/analysis/task_vector_violin_plot.yaml +0 -0
  615. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/clip_finetune.yaml +0 -0
  616. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/concrete_subspace/clip_concrete_layer_wise_adamerging.yaml +0 -0
  617. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_arithmetic.yaml +0 -0
  618. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/concrete_subspace/clip_concrete_task_wise_adamerging.yaml +0 -0
  619. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/dare/simple_average.yaml +0 -0
  620. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/dare/task_arithmetic.yaml +0 -0
  621. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/dawe/dawe_for_clip.yaml +0 -0
  622. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/depth_upscaling.yaml +0 -0
  623. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/dummy.yaml +0 -0
  624. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/ensemble/max_model_predictor.yaml +0 -0
  625. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/ensemble/simple_ensemble.yaml +0 -0
  626. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/ensemble/weighted_ensemble.yaml +0 -0
  627. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/fisher_merging/clip_fisher_merging.yaml +0 -0
  628. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/fisher_merging/fisher_merging.yaml +0 -0
  629. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/fisher_merging/gpt2_fisher_merging.yaml +0 -0
  630. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/linear/expo.yaml +0 -0
  631. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/linear/linear_interpolation.yaml +0 -0
  632. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/linear/llama_expo.yaml +0 -0
  633. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/linear/llama_expo_with_dare.yaml +0 -0
  634. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/linear/simple_average_for_llama.yaml +0 -0
  635. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/linear/task_arithmetic_for_llama.yaml +0 -0
  636. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/linear/weighted_average.yaml +0 -0
  637. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/linear/weighted_average_for_llama.yaml +0 -0
  638. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/mixtral_moe_merging.yaml +0 -0
  639. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/mixtral_moe_upscaling.yaml +0 -0
  640. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/model_recombination.yaml +0 -0
  641. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/pruning/llama_magnitude_pruning.yaml +0 -0
  642. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/pruning/llama_random_pruning.yaml +0 -0
  643. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/pruning/llama_wanda_pruning.yaml +0 -0
  644. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/pruning/magnitude_diff_pruning.yaml +0 -0
  645. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/pwe_moe_ls_for_clip.yaml +0 -0
  646. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/rankone_moe/rankone_moe.yaml +0 -0
  647. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/regmean/clip_regmean.yaml +0 -0
  648. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/regmean/gpt2_regmean.yaml +0 -0
  649. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/regmean/regmean.yaml +0 -0
  650. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/simple_average.yaml +0 -0
  651. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/slerp/slerp.yaml +0 -0
  652. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/smile_upscaling/singular_projection_merging.yaml +0 -0
  653. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/smile_upscaling/smile_mistral_upscaling.yaml +0 -0
  654. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/smile_upscaling/smile_upscaling.yaml +0 -0
  655. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/sparselo_pruning/llama_iterative_sparselo.yaml +0 -0
  656. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/sparselo_pruning/llama_pcp_sparselo.yaml +0 -0
  657. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/sparselo_pruning/llama_sparselo.yaml +0 -0
  658. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/task_arithmetic.yaml +0 -0
  659. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/ties_merging.yaml +0 -0
  660. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/trust_region/clip_task_arithmetic.yaml +0 -0
  661. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/wemoe/sparse_weight_ensembling_moe.yaml +0 -0
  662. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/method/wemoe/weight_ensembling_moe.yaml +0 -0
  663. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/clip-vit/clip-vit-base-patch16_eight_tasks.yaml +0 -0
  664. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/clip-vit/clip-vit-large-patch14_eight_tasks.yaml +0 -0
  665. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/clip-vit/generate_vit_model_config.sh +0 -0
  666. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base.yaml +0 -0
  667. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola.yaml +0 -0
  668. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-cola_lora-16.yaml +0 -0
  669. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli.yaml +0 -0
  670. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mnli_lora-16.yaml +0 -0
  671. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc.yaml +0 -0
  672. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-mrpc_lora-16.yaml +0 -0
  673. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli.yaml +0 -0
  674. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qnli_lora-16.yaml +0 -0
  675. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp.yaml +0 -0
  676. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-qqp_lora-16.yaml +0 -0
  677. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte.yaml +0 -0
  678. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-rte_lora-16.yaml +0 -0
  679. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2.yaml +0 -0
  680. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-sst2_lora-16.yaml +0 -0
  681. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb.yaml +0 -0
  682. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-base_glue-stsb_lora-16.yaml +0 -0
  683. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large.yaml +0 -0
  684. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-cola_lora-16.yaml +0 -0
  685. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mnli_lora-16.yaml +0 -0
  686. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-mrpc_lora-16.yaml +0 -0
  687. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qnli_lora-16.yaml +0 -0
  688. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-qqp_lora-16.yaml +0 -0
  689. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-rte_lora-16.yaml +0 -0
  690. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-sst2_lora-16.yaml +0 -0
  691. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/flan-t5-large_glue-stsb_lora-16.yaml +0 -0
  692. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/model/flan-t5/generate_flan-t5.sh +0 -0
  693. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/_template.yaml +0 -0
  694. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8.yaml +0 -0
  695. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_TA8_lora.yaml +0 -0
  696. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch16_individual_lora.yaml +0 -0
  697. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8.yaml +0 -0
  698. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_control_task.yaml +0 -0
  699. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_TA8_model_only.yaml +0 -0
  700. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp1.yaml +0 -0
  701. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_generalization_exp2.yaml +0 -0
  702. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_mtl.yaml +0 -0
  703. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
  704. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  705. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_single_finetuned.yaml +0 -0
  706. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
  707. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8.yaml +0 -0
  708. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CLIPVisionModelPool/clip-vit-large-patch14_TA8_model_only.yaml +0 -0
  709. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CausalLMPool/llama_for_causallm.yaml +0 -0
  710. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CausalLMPool/simle_mixtral_exp_v4.yaml +0 -0
  711. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/CausalLMPool/single_llama_model.yaml +0 -0
  712. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/Seq2SeqLMPool/_template.yaml +0 -0
  713. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue.yaml +0 -0
  714. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16.yaml +0 -0
  715. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_glue_lora16_tta.yaml +0 -0
  716. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-base_individual.yaml +0 -0
  717. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/Seq2SeqLMPool/flan-t5-large_glue_lora16.yaml +0 -0
  718. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/automodelpool.yaml +0 -0
  719. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/gpt-2_glue.yaml +0 -0
  720. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/mixtral_moe_merging.yaml +0 -0
  721. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/mixtral_moe_upscaling.yaml +0 -0
  722. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/nyuv2_modelpool.yaml +0 -0
  723. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/smile_mistral_exp_v1.yaml +0 -0
  724. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/smile_mistral_exp_v2.yaml +0 -0
  725. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/smile_mistral_exp_v3.yaml +0 -0
  726. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/modelpool/smile_mistral_exp_v4.yaml +0 -0
  727. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/nyuv2_mtl_train.yaml +0 -0
  728. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/_template.yaml +0 -0
  729. {fusion_bench-0.2.6/fusion_bench_config/taskpool → fusion_bench-0.2.8/fusion_bench_config/taskpool/CLIPVisionModelTaskPool}/clip-vit-base-patch32_robustness_corrupted.yaml +0 -0
  730. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8.yaml +0 -0
  731. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_B16.yaml +0 -0
  732. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_L14.yaml +0 -0
  733. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_val.yaml +0 -0
  734. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip-vit-classification_TA8_with_control_task.yaml +0 -0
  735. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_rankone_wemoe_clip-vit-classification_TA8.yaml +0 -0
  736. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/CLIPVisionModelTaskPool/clip_sparse_wemoe_clip-vit-classification_TA8.yaml +0 -0
  737. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/clip-vit-base-patch32_robustness_clean.yaml +0 -0
  738. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/clip-vit-base-patch32_svhn_and_mnist.yaml +0 -0
  739. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/dummy.yaml +0 -0
  740. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/flan-t5_glue_text_generation.yaml +0 -0
  741. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/gpt-2_glue.yaml +0 -0
  742. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/fusion_bench_config/taskpool/nyuv2_taskpool.yaml +0 -0
  743. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/setup.cfg +0 -0
  744. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/tests/test_depth_upscaling.py +0 -0
  745. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/tests/test_simple_average.py +0 -0
  746. {fusion_bench-0.2.6 → fusion_bench-0.2.8}/tests/test_weighed_ensemble.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fusion_bench
3
- Version: 0.2.6
3
+ Version: 0.2.8
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
@@ -21,6 +21,7 @@ class AlgorithmFactory:
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
23
  "singular_projection_merging": "fusion_bench.method.smile_upscaling.singular_projection_merging.SingularProjectionMergingAlgorithm",
24
+ "clip_layer_wise_adamerging_surgery": ".surgery.clip_layer_wise_adamerging_surgery.CLIPLayerWiseAdaMergingSurgeryAlgorithm",
24
25
  # plug-and-play model merging methods
25
26
  "clip_concrete_task_arithmetic": ".concrete_subspace.clip_concrete_task_arithmetic.ConcreteTaskArithmeticAlgorithmForCLIP",
26
27
  "clip_concrete_task_wise_adamerging": ".concrete_subspace.clip_concrete_adamerging.ConcreteTaskWiseAdaMergingForCLIP",
@@ -1,8 +1,11 @@
1
1
  from abc import ABC, abstractmethod
2
- from typing import Optional
2
+ from typing import TYPE_CHECKING, Optional
3
3
 
4
4
  from omegaconf import DictConfig
5
5
 
6
+ if TYPE_CHECKING:
7
+ from fusion_bench.programs.base_program import BaseHydraProgram
8
+
6
9
  __all__ = ["ModelFusionAlgorithm"]
7
10
 
8
11
 
@@ -18,6 +21,9 @@ class ModelFusionAlgorithm(ABC):
18
21
  config (DictConfig): Configuration for the algorithm.
19
22
  """
20
23
 
24
+ _program: "BaseHydraProgram" = None
25
+ """A reference to the program that is running the algorithm."""
26
+
21
27
  def __init__(self, algorithm_config: Optional[DictConfig] = None):
22
28
  """
23
29
  Initialize the model fusion algorithm with the given configuration.
@@ -22,7 +22,7 @@ class ModelPoolFactory:
22
22
  """
23
23
 
24
24
  _modelpool = {
25
- "NYUv2ModelPool": ".nyuv2_modelpool.NYUv2ModelPool",
25
+ "NYUv2ModelPool": "fusion_bench.modelpool.nyuv2_modelpool.NYUv2ModelPool",
26
26
  "huggingface_clip_vision": HuggingFaceClipVisionPool,
27
27
  "HF_GPT2ForSequenceClassification": GPT2ForSequenceClassificationPool,
28
28
  "AutoModelPool": ".huggingface_automodel.AutoModelPool",
@@ -20,7 +20,7 @@ class TaskPoolFactory:
20
20
  "dummy": DummyTaskPool,
21
21
  "clip_vit_classification": ".clip_image_classification.CLIPImageClassificationTaskPool",
22
22
  "FlanT5GLUETextGenerationTaskPool": ".flan_t5_glue_text_generation.FlanT5GLUETextGenerationTaskPool",
23
- "NYUv2TaskPool": ".nyuv2_taskpool.NYUv2TaskPool",
23
+ "NYUv2TaskPool": "fusion_bench.taskpool.nyuv2_taskpool.NYUv2TaskPool",
24
24
  }
25
25
 
26
26
  @staticmethod
@@ -152,6 +152,11 @@ class Task:
152
152
  tasks = []
153
153
  for test_data in data["test"]:
154
154
  task = cls.deserialize(
155
+ {
156
+ "train": data["train"],
157
+ "test": [test_data],
158
+ "name": data.get("name", ""),
159
+ },
155
160
  {
156
161
  "train": data["train"],
157
162
  "test": [test_data],
@@ -143,7 +143,7 @@ def format_and_filter(
143
143
  data = {
144
144
  "input_ids": prompt_tokens + output_tokens,
145
145
  "attention_mask": [1] * len(prompt_tokens) + [1] * len(output_tokens),
146
- "labels": [-100] * len(prompt_tokens) + output_tokens,
146
+ "labels": prompt_tokens + output_tokens,
147
147
  "task_id": task_id,
148
148
  "num_prompt_tokens": len(prompt_tokens),
149
149
  "num_output_tokens": len(output_tokens),
@@ -65,4 +65,7 @@ class CLIPDataset(torch.utils.data.Dataset):
65
65
  else:
66
66
  # if processor is None, return the raw image directly
67
67
  inputs = image
68
+ # convert boolean label to int, this is for the case when the label is a binary classification task
69
+ if isinstance(item["label"], bool):
70
+ item["label"] = 1 if item["label"] else 0
68
71
  return inputs, item["label"]
@@ -0,0 +1,12 @@
1
+ from datasets import load_dataset
2
+
3
+
4
+ def load_fer2013(path: str = "clip-benchmark/wds_fer2013", split: str = "train"):
5
+ dataset = load_dataset(path, split=split)
6
+ dataset = dataset.remove_columns(["__key__", "__url__"])
7
+ dataset = dataset.rename_columns({"jpg": "image", "cls": "label"})
8
+ return dataset
9
+
10
+ if __name__ == "__main__":
11
+ dataset = load_fer2013(split="test")
12
+ print(dataset)
@@ -0,0 +1 @@
1
+ from . import collate
@@ -1,16 +1,100 @@
1
1
  import logging
2
2
  import os
3
+ import warnings
3
4
  from typing import Any, Dict, List, Optional
4
5
 
5
6
  from datasets import Dataset, load_dataset, load_from_disk
7
+ from lightning.fabric.utilities import rank_zero_only
8
+ from tqdm.auto import tqdm
6
9
  from transformers import PreTrainedTokenizer
7
10
 
8
11
  import fusion_bench
12
+ from fusion_bench.utils import timeit_context
9
13
 
10
14
  log = logging.getLogger(__name__)
11
15
 
12
16
 
13
- def tokenize_alpaca_dataset(
17
+ def convert_alpaca_to_conversation(alpaca_data: List[Dict[str, str]]):
18
+ """
19
+ Convert Alpaca format data to conversation format.
20
+
21
+ Args:
22
+ alpaca_data (list): List of dictionaries in Alpaca format with
23
+ 'instruction', 'input', and 'output' keys
24
+
25
+ Returns:
26
+ list: List of conversations in ChatML format
27
+ """
28
+ conversations = []
29
+
30
+ for item in tqdm(
31
+ alpaca_data,
32
+ "Converting Alpaca to conversations",
33
+ disable=not rank_zero_only.rank == 0,
34
+ ):
35
+ # Skip if required fields are missing
36
+ if not item.get("instruction") or not item.get("output"):
37
+ continue
38
+
39
+ conversation = []
40
+
41
+ # Create user message
42
+ user_content = item["instruction"]
43
+ if item.get("input") and item["input"].strip():
44
+ user_content += f"\n\n{item['input']}"
45
+
46
+ conversation.append({"role": "user", "content": user_content})
47
+
48
+ # Create assistant message
49
+ conversation.append({"role": "assistant", "content": item["output"]})
50
+
51
+ conversations.append(conversation)
52
+
53
+ return conversations
54
+
55
+
56
+ def load_tokenized_alpaca_dataset(
57
+ tokenizer: PreTrainedTokenizer,
58
+ path: str = "yahma/alpaca-cleaned",
59
+ split: str = "train",
60
+ cache_path: Optional[str] = None,
61
+ ):
62
+ """
63
+ Load and tokenized Alpaca dataset and Alpaca-like dataset.
64
+
65
+ Args:
66
+ tokenizer (PreTrainedTokenizer): The tokenizer to use for tokenizing the dataset.
67
+ path (str, optional): The path to the Alpaca dataset. Defaults to "yahma/alpaca-cleaned".
68
+ split (str, optional): The dataset split to load (e.g., "train", "test"). Defaults to "train".
69
+ cache_path (Optional[str], optional): The path to cache the tokenized dataset. If provided and the cache exists,
70
+ the dataset will be loaded from the cache. Defaults to None.
71
+
72
+ Returns:
73
+ Dataset: The tokenized dataset.
74
+ """
75
+ if cache_path is not None and os.path.exists(cache_path):
76
+ dataset = load_from_disk(cache_path)
77
+ if split is not None and split in dataset:
78
+ return dataset[split]
79
+ else:
80
+ return dataset
81
+
82
+ dataset = load_dataset(path, split=split)
83
+
84
+ alpaca_data = dataset.to_list()
85
+ conversations = convert_alpaca_to_conversation(alpaca_data)
86
+ with timeit_context("Tokenizing dataset"):
87
+ tokenized_dataset = tokenizer.apply_chat_template(
88
+ conversations, return_dict=True
89
+ )
90
+ tokenized_dataset = Dataset.from_dict(tokenized_dataset)
91
+
92
+ if cache_path is not None and rank_zero_only.rank == 0:
93
+ tokenized_dataset.save_to_disk(cache_path)
94
+ return tokenized_dataset
95
+
96
+
97
+ def _tokenize_alpaca_dataset_with_template(
14
98
  dataset: Dataset,
15
99
  tokenizer: PreTrainedTokenizer,
16
100
  max_length: int = 2048,
@@ -32,6 +116,10 @@ def tokenize_alpaca_dataset(
32
116
  Returns:
33
117
  Tokenized dataset
34
118
  """
119
+ warnings.warn(
120
+ "This function is deprecated. Use `apply_chat_template` from `transformers` instead.",
121
+ DeprecationWarning,
122
+ )
35
123
 
36
124
  def prepare_samples(samples: Dict[str, List[str]]) -> Dict[str, List[List[int]]]:
37
125
  # Format prompts based on whether input field exists
@@ -115,7 +203,7 @@ def tokenize_alpaca_dataset(
115
203
  return tokenized_dataset
116
204
 
117
205
 
118
- def load_tokenized_alpaca_dataset_from_json(
206
+ def load_tokenized_alpaca_dataset_from_json_with_prompt(
119
207
  data_files: str,
120
208
  tokenizer: PreTrainedTokenizer,
121
209
  max_length: int,
@@ -138,5 +226,7 @@ def load_tokenized_alpaca_dataset_from_json(
138
226
  dataset = load_dataset("json", data_files=data_files)
139
227
  if split is not None:
140
228
  dataset = dataset[split]
141
- dataset = tokenize_alpaca_dataset(dataset, tokenizer, max_length=max_length)
229
+ dataset = _tokenize_alpaca_dataset_with_template(
230
+ dataset, tokenizer, max_length=max_length
231
+ )
142
232
  return dataset
@@ -0,0 +1,120 @@
1
+ from typing import Dict, List, Optional
2
+
3
+ import torch
4
+ import torch.nn.functional as F
5
+ from torch.nn.utils.rnn import pad_sequence
6
+
7
+
8
+ def padded_collate_sft(
9
+ batch: List[Dict[str, List[int]]],
10
+ pad_token_id: int = 0,
11
+ input_ids_key: str = "input_ids",
12
+ attention_mask_key: Optional[str] = "attention_mask",
13
+ labels_key: Optional[str] = "labels",
14
+ ignore_idx: int = -100,
15
+ ) -> Dict[str, torch.Tensor]:
16
+ """
17
+ Pad (right) a batch of sequences to the longest sequence length in the batch, and
18
+ convert integer lists to tensors.
19
+
20
+ Args:
21
+ batch (List[Dict[str, List[int]]]): A list of dictionaries containing input, label pairs.
22
+ padding_idx (int): Padding index for input ids. Defaults to 0.
23
+ ignore_idx (int): Padding index for labels. Defaults to -100.
24
+
25
+ Returns:
26
+ Dict[str, torch.Tensor]: Collated input and label tensors.
27
+ """
28
+ input_ids = pad_sequence(
29
+ [torch.tensor(x[input_ids_key]) for x in batch],
30
+ batch_first=True,
31
+ padding_value=pad_token_id,
32
+ )
33
+ if attention_mask_key is not None and attention_mask_key in batch[0]:
34
+ attention_mask = pad_sequence(
35
+ [torch.tensor(x[attention_mask_key]) for x in batch],
36
+ batch_first=True,
37
+ padding_value=0,
38
+ )
39
+ else:
40
+ attention_mask = None
41
+
42
+ for i, item in enumerate(batch):
43
+ # if labels_key not in item, copy input_ids to labels_key
44
+ if labels_key not in item:
45
+ item[labels_key] = item[input_ids_key]
46
+
47
+ labels = pad_sequence(
48
+ [torch.tensor(x[labels_key]) for x in batch],
49
+ batch_first=True,
50
+ padding_value=ignore_idx,
51
+ )
52
+
53
+ if attention_mask is not None:
54
+ collated_batch = {
55
+ input_ids_key: input_ids,
56
+ attention_mask_key: attention_mask,
57
+ labels_key: labels,
58
+ }
59
+ else:
60
+ collated_batch = {input_ids_key: input_ids, labels_key: labels}
61
+
62
+ for key in batch[0]:
63
+ if key not in [input_ids_key, attention_mask_key, labels_key]:
64
+ collated_batch[key] = [x[key] for x in batch]
65
+
66
+ return collated_batch
67
+
68
+
69
+ def bradley_terry_rm_collate(
70
+ batch: List[Dict[str, List[int]]],
71
+ pad_token_id: int = 0,
72
+ padding_side="right",
73
+ ):
74
+ """
75
+ Collate function for Bradley-Terry reward modeling.
76
+
77
+ Args:
78
+ batch (List[Dict[str, List[int]]]): A list of dictionaries containing input, label pairs.
79
+ pad_token_id (int): Padding index for input ids. Defaults to 0.
80
+
81
+ Returns:
82
+ Dict[str, torch.Tensor]: Collated input and label tensors. The first half of the batch is the winner, and the second half is the loser.
83
+ """
84
+ converted_batch = []
85
+ for item in batch:
86
+ new_item = {
87
+ "input_ids": item["chosen_input_ids"],
88
+ "attention_mask": item["chosen_attention_mask"],
89
+ }
90
+ converted_batch.append(new_item)
91
+ for item in batch:
92
+ new_item = {
93
+ "input_ids": item["rejected_input_ids"],
94
+ "attention_mask": item["rejected_attention_mask"],
95
+ }
96
+ converted_batch.append(new_item)
97
+
98
+ input_ids = pad_sequence(
99
+ [torch.tensor(x["input_ids"]) for x in converted_batch],
100
+ batch_first=True,
101
+ padding_value=pad_token_id,
102
+ padding_side=padding_side,
103
+ )
104
+ attention_mask = pad_sequence(
105
+ [torch.tensor(x["attention_mask"]) for x in converted_batch],
106
+ batch_first=True,
107
+ padding_value=0,
108
+ padding_side=padding_side,
109
+ )
110
+
111
+ collated_batch = {"input_ids": input_ids, "attention_mask": attention_mask}
112
+ for key in batch[0]:
113
+ if key not in [
114
+ "chosen_input_ids",
115
+ "chosen_attention_mask",
116
+ "rejected_input_ids",
117
+ "rejected_attention_mask",
118
+ ]:
119
+ collated_batch[key] = [x[key] for x in batch]
120
+ return collated_batch
@@ -0,0 +1,50 @@
1
+ import os
2
+ from typing import TYPE_CHECKING, Optional
3
+
4
+ from datasets import Dataset, load_dataset, load_from_disk
5
+ from lightning.fabric.utilities import rank_zero_only
6
+ from tqdm.auto import tqdm
7
+
8
+ from fusion_bench.utils import timeit_context
9
+
10
+ from .alpaca import convert_alpaca_to_conversation
11
+
12
+ if TYPE_CHECKING:
13
+ from transformers import PreTrainedTokenizer
14
+
15
+
16
+ def load_tokenized_metamathqa(
17
+ tokenizer: "PreTrainedTokenizer",
18
+ path: str = "meta-math/MetaMathQA",
19
+ split: str = "train",
20
+ cache_path: Optional[str] = None,
21
+ ):
22
+ if cache_path is not None and os.path.exists(cache_path):
23
+ dataset = load_from_disk(cache_path)
24
+ if split is not None and split in dataset:
25
+ return dataset[split]
26
+ else:
27
+ return dataset
28
+
29
+ dataset = load_dataset(path, split=split)
30
+
31
+ # convert dataset to alpaca format and save to ../data/MetaMathQA.json
32
+ alpaca_dataset = []
33
+ for example in tqdm(dataset, disable=not rank_zero_only.rank == 0):
34
+ alpaca_example = {
35
+ "instruction": example["query"],
36
+ "input": "",
37
+ "output": example["response"],
38
+ }
39
+ alpaca_dataset.append(alpaca_example)
40
+
41
+ conversations = convert_alpaca_to_conversation(alpaca_dataset)
42
+ with timeit_context("Tokenizing dataset"):
43
+ tokenized_dataset = tokenizer.apply_chat_template(
44
+ conversations, return_dict=True
45
+ )
46
+ tokenized_dataset = Dataset.from_dict(tokenized_dataset)
47
+
48
+ if cache_path is not None and rank_zero_only.rank == 0:
49
+ tokenized_dataset.save_to_disk(cache_path)
50
+ return tokenized_dataset
@@ -0,0 +1,70 @@
1
+ import logging
2
+ import os
3
+ from copy import deepcopy
4
+ from typing import TYPE_CHECKING, Optional
5
+
6
+ from datasets import Dataset, load_dataset, load_from_disk
7
+ from lightning.fabric.utilities import rank_zero_only
8
+ from tqdm.auto import tqdm
9
+
10
+ from fusion_bench.utils import timeit_context
11
+
12
+ if TYPE_CHECKING:
13
+ from transformers import PreTrainedTokenizer
14
+
15
+ log = logging.getLogger(__name__)
16
+
17
+
18
+ def load_tokenized_preference_700k_for_rlhf(
19
+ tokenizer: "PreTrainedTokenizer",
20
+ path: str = "hendrydong/preference_700K",
21
+ split: str = "train",
22
+ num_proc: int = 8,
23
+ cache_path: Optional[str] = None,
24
+ ):
25
+ R"""
26
+ Load and tokenized Preference 700k dataset for Bradley-Terry ranking model.
27
+
28
+ The returned dataset contains the following fields:
29
+
30
+ - chosen_input_ids: The input token ids for the winner.
31
+ - chosen_attention_mask: The attention mask for the winner.
32
+ - rejected_input_ids: The input token ids for the loser.
33
+ - rejected_attention_mask: The attention mask for the loser.
34
+ """
35
+ if cache_path is not None and os.path.exists(cache_path):
36
+ dataset = load_from_disk(cache_path)
37
+ return dataset
38
+
39
+ dataset = load_dataset(path, split=split)
40
+
41
+ def tokenize(sample):
42
+ sample["chosen_chat"] = tokenizer.apply_chat_template(
43
+ sample["chosen"], tokenize=False, add_generation_prompt=False
44
+ )
45
+ sample["rejected_chat"] = tokenizer.apply_chat_template(
46
+ sample["rejected"], tokenize=False, add_generation_prompt=False
47
+ )
48
+
49
+ tokenized_pos = tokenizer(sample["chosen_chat"], truncation=True)
50
+ tokenized_neg = tokenizer(sample["rejected_chat"], truncation=True)
51
+
52
+ # Ensure that the chosen response does not contain an PAD token
53
+ sample["chosen_input_ids"] = tokenized_pos["input_ids"]
54
+ sample["chosen_attention_mask"] = tokenized_pos["attention_mask"]
55
+ if tokenizer.pad_token_id in tokenized_pos["input_ids"]:
56
+ log.warning(f"Prompt contains PAD token: {sample['chosen_chat']}")
57
+
58
+ sample["rejected_input_ids"] = tokenized_neg["input_ids"]
59
+ sample["rejected_attention_mask"] = tokenized_neg["attention_mask"]
60
+ # Ensure that the rejected response does not contain an PAD token
61
+ if tokenizer.pad_token_id in tokenized_neg["input_ids"]:
62
+ log.warning(f"Prompt contains PAD token: {sample['rejected_chat']}")
63
+
64
+ return sample
65
+
66
+ dataset = dataset.map(tokenize, num_proc=num_proc)
67
+
68
+ if cache_path is not None and rank_zero_only.rank == 0:
69
+ dataset.save_to_disk(cache_path)
70
+ return dataset
@@ -0,0 +1,90 @@
1
+ import os
2
+ from copy import deepcopy
3
+ from typing import TYPE_CHECKING, Optional
4
+
5
+ from datasets import Dataset, load_dataset, load_from_disk
6
+ from lightning.fabric.utilities import rank_zero_only
7
+ from tqdm.auto import tqdm
8
+
9
+ from fusion_bench.utils import timeit_context
10
+
11
+ if TYPE_CHECKING:
12
+ from transformers import PreTrainedTokenizer
13
+
14
+
15
+ def load_tokenized_stanford_shp_for_rlhf(
16
+ tokenizer: "PreTrainedTokenizer",
17
+ path: str = "stanfordnlp/SHP",
18
+ split: str = "train",
19
+ num_proc: int = 8,
20
+ cache_path: Optional[str] = None,
21
+ ):
22
+ if cache_path is not None and os.path.isdir(cache_path):
23
+ dataset = load_from_disk(cache_path)
24
+ return dataset
25
+
26
+ dataset = load_dataset(path, split=split)
27
+
28
+ def tokenize(sample):
29
+ """
30
+ - history: the post title concatented to the post body (string)
31
+ - human_ref_A: text of comment A (string)
32
+ - human_ref_B: text of comment B (string)
33
+ - labels: the preference label -- it is 1 if A is preferred to B; 0 if B is preferred to A. This was randomized such that the label distribution is roughly 50/50. (integer)
34
+ """
35
+ # Create a conversation with the post title and body, followed by comments
36
+ conversation = [{"role": "user", "content": sample["history"]}]
37
+ if sample["labels"] == 0:
38
+ sample["chosen"] = deepcopy(conversation).append(
39
+ {"role": "assistant", "content": sample["human_ref_B"]}
40
+ )
41
+ sample["rejected"] = deepcopy(conversation).append(
42
+ {"role": "assistant", "content": sample["human_ref_A"]}
43
+ )
44
+ else:
45
+ sample["chosen"] = deepcopy(conversation).append(
46
+ {"role": "assistant", "content": sample["human_ref_A"]}
47
+ )
48
+ sample["rejected"] = deepcopy(conversation).append(
49
+ {"role": "assistant", "content": sample["human_ref_B"]}
50
+ )
51
+
52
+ # apply chat template
53
+ sample["chosen_chat"] = tokenizer.apply_chat_template(
54
+ sample["chosen"], tokenize=False, add_generation_prompt=False
55
+ )
56
+ sample["rejected_chat"] = tokenizer.apply_chat_template(
57
+ sample["rejected"], tokenize=False, add_generation_prompt=False
58
+ )
59
+
60
+ # tokenize the conversation
61
+ tokenized_pos = tokenizer(sample["chosen_chat"], truncation=True)
62
+ tokenized_neg = tokenizer(sample["rejected_chat"], truncation=True)
63
+
64
+ # Ensure that the chosen response does not contain an EOS token
65
+ sample["chosen_input_ids"] = tokenized_pos["input_ids"]
66
+ sample["chosen_attention_mask"] = tokenized_pos["attention_mask"]
67
+ assert (
68
+ tokenizer.eos_token_id not in tokenized_pos["input_ids"][:-1]
69
+ ), f"Prompt contains EOS token: {sample['positive']}"
70
+ if sample["chosen_input_ids"][-1] != tokenizer.eos_token_id:
71
+ sample["chosen_input_ids"].append(tokenizer.eos_token_id)
72
+ sample["chosen_attention_mask"].append(1)
73
+
74
+ sample["rejected_input_ids"] = tokenized_neg["input_ids"]
75
+ sample["rejected_attention_mask"] = tokenized_neg["attention_mask"]
76
+ # Ensure that the rejected response does not contain an EOS token
77
+ assert (
78
+ tokenizer.eos_token_id not in tokenized_neg["input_ids"][:-1]
79
+ ), f"Prompt contains EOS token: {sample['rejected']}"
80
+ if sample["rejected_input_ids"][-1] != tokenizer.eos_token_id:
81
+ sample["rejected_input_ids"].append(tokenizer.eos_token_id)
82
+ sample["rejected_attention_mask"].append(1)
83
+
84
+ return sample
85
+
86
+ dataset = dataset.map(tokenize, num_proc=num_proc)
87
+
88
+ if cache_path is not None and rank_zero_only.rank == 0:
89
+ dataset.save_to_disk(cache_path)
90
+ return dataset
@@ -0,0 +1,58 @@
1
+ import os
2
+ from typing import TYPE_CHECKING, Optional
3
+
4
+ from datasets import Dataset, load_dataset, load_from_disk
5
+ from lightning.fabric.utilities import rank_zero_only
6
+ from tqdm.auto import tqdm
7
+
8
+ from fusion_bench.utils import timeit_context
9
+
10
+ if TYPE_CHECKING:
11
+ from transformers import PreTrainedTokenizer
12
+
13
+
14
+ def load_tokenized_ultrachat_200k(
15
+ tokenizer: "PreTrainedTokenizer",
16
+ path: str = "HuggingFaceH4/ultrachat_200k",
17
+ split: str = "train_sft",
18
+ num_proc: int = 8,
19
+ cache_path: Optional[str] = None,
20
+ ):
21
+ R"""
22
+ Load and tokenized Ultrachat 200k dataset for Bradley-Terry ranking model.
23
+
24
+ The returned dataset contains the following fields:
25
+
26
+ - input_ids: The input token ids for the winner.
27
+ - attention_mask: The attention mask for the winner.
28
+ """
29
+ if cache_path is not None and os.path.exists(cache_path):
30
+ dataset = load_from_disk(cache_path)
31
+ return dataset
32
+
33
+ dataset = load_dataset(path, split=split)
34
+
35
+ def tokenize(sample):
36
+
37
+ # ? is it necessary to `.replace(tokenizer.bos_token, "")`?
38
+ sample["input_ids"] = tokenizer.apply_chat_template(
39
+ sample["messages"], tokenize=True, add_generation_prompt=False
40
+ )
41
+ sample["attention_mask"] = [1] * len(sample["input_ids"])
42
+
43
+ return sample
44
+
45
+ dataset = dataset.map(tokenize, num_proc=num_proc)
46
+
47
+ if cache_path is not None and rank_zero_only.rank == 0:
48
+ dataset.save_to_disk(cache_path)
49
+ return dataset
50
+
51
+
52
+ if __name__ == "__main__":
53
+ # Example usage and testing
54
+ from transformers import AutoTokenizer
55
+
56
+ tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.2-1B-Instruct")
57
+ dataset = load_tokenized_ultrachat_200k(tokenizer)
58
+ print(dataset)
@@ -10,7 +10,7 @@ _import_structure = {
10
10
  "dummy": ["DummyAlgorithm"],
11
11
  # single task learning (fine-tuning)
12
12
  "classification": ["ImageClassificationFineTuningForCLIP"],
13
- "lm_finetune": ["FullFinetuneSFT", "PeftFinetuneSFT"],
13
+ "lm_finetune": ["FullFinetuneSFT", "PeftFinetuneSFT", "BradleyTerryRewardModeling"],
14
14
  # analysis
15
15
  "analysis": ["TaskVectorCosSimilarity", "TaskVectorViolinPlot"],
16
16
  # model ensemble methods
@@ -49,6 +49,7 @@ _import_structure = {
49
49
  "PWEMoExactParetoOptimalForCLIP",
50
50
  ],
51
51
  "ada_svd": ["AdaSVDMergingForCLIPVisionModel"],
52
+ "task_singular_vector": ["TaskSingularVectorMerging"],
52
53
  # plug-and-play model merging methods
53
54
  "concrete_subspace": [
54
55
  "ConcreteTaskArithmeticAlgorithmForCLIP",
@@ -153,6 +154,7 @@ if TYPE_CHECKING:
153
154
  SparseLoForLlama,
154
155
  )
155
156
  from .task_arithmetic import TaskArithmeticAlgorithm
157
+ from .task_singular_vector import TaskSingularVectorMerging
156
158
  from .ties_merging import TiesMergingAlgorithm
157
159
  from .we_moe import CLIPWeightEnsemblingMoEAlgorithm
158
160
  from .weighted_average import WeightedAverageAlgorithm, WeightedAverageForLLama