Closed sasgkhgw closed 8 months ago
您好,
首先,AdaMerging的目标就是利用无标签的测试数据来自动学习模型融合权重。所以任务向量权重ralpha = [[1.0000, 0.2202, 0.1413, 0.2826, 0.3284, 0.2841, 0.4003, 0.1978, 0.1692]] 是训练后的合并系数,这个系数的初始值是ralpha = [[1.0000, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3]]。
然后,该系数的学习过程就是main_task_wise_adamerging.py这个代码,学习过程的系数变化在日志log_20230921_202228_Task_wise_AdaMerging.txt中。
最后,AdaMerging可以轻松的扩展到其他数据集或任务上合并模型时的类似权重训练,只需要将main_task_wise_adamerging.py适配到你的任务/数据上即可。当然,Layer-wise版本的AdaMerging性能会更好(main_layer_wise_adamerging.py),它为每个任务向量的每个层学习一个合并系数。
希望能解决您的疑问。
祝一切顺利
首先,感谢您分享了这个令人兴奋的项目和研究成果。我对AdaMerging方法的实现特别感兴趣,特别是关于如何确定不同任务权重(ralpha)的部分。在阅读代码和论文后,我对这个过程有一些疑问,希望能得到您的帮助。 例如,在代码中,任务向量权重被直接指定为:
ralpha = [[1.0000, 0.2202, 0.1413, 0.2826, 0.3284, 0.2841, 0.4003, 0.1978, 0.1692]]
这些权重值是基于某种优化过程(训练)确定的,还是通过实验调整得到的最佳值? 如果这些权重是通过自动化方法得到的,能否分享一下具体的过程和步骤?这对于理解模型的整体性能提升机制非常重要。 是否有推荐的方法或实践,用于确定在其他数据集或任务上合并模型时的类似权重? 再次感谢您的工作和分享。