开发者社区 > ModelScope模型即服务 > 计算机视觉 > 正文

ModelScope有没有办法可以前面的audio encoder也有梯度呢?

ModelScope中swift里面qwen-audio的sft过程中,发现lora只作用在qwen的底座模型中,有没有办法可以前面的audio encoder也有梯度呢?即使我打开了lora target module = all,也只是变成了qwen底座里面的所有线性层加了lora,参考的是这个https://github.com/modelscope/swift/blob/main/examples/pytorch/llm/scripts/qwen_audio_chat/lora/sft.sh

展开
收起
真的很搞笑 2024-01-02 20:19:25 48 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在ModelScope的Swift中,要使前面的audio encoder也有梯度,可以尝试以下方法:

    1. 首先,确保你的模型结构中包含了音频编码器和底座模型。
    2. 然后,在训练过程中,为音频编码器的参数添加梯度。你可以通过将requires_grad属性设置为True来实现这一点。例如:
    for param in audio_encoder.parameters():
        param.requires_grad = True
    
    1. 接下来,你需要修改Swift中的LORA代码,以便在训练过程中更新整个模型的权重,而不仅仅是底座模型的权重。你可以参考这个链接中的代码示例:https://github.com/modelscope/swift/blob/main/examples/pytorch/llm/scripts/qwen_audio_chat/lora/sft.sh

    2. 最后,重新运行训练过程,观察是否可以看到音频编码器的梯度更新。

    2024-01-03 13:33:31
    赞同 展开评论 打赏
  • 在Swift中,Lora只作用在Qwen的底座模型中,无法直接将梯度传播到音频编码器。这是因为Lora是一种针对特定层或模块的优化技术,它通过添加额外的参数来增强模型的性能,但这些参数只在特定的层或模块中进行训练和更新。

    如果您希望将Lora应用于音频编码器,您可以考虑使用其他优化技术,例如量化、剪枝等。这些技术可以在不改变模型结构的情况下提高模型性能,并且可以在整个模型中应用。另外,您还可以尝试使用更复杂的模型架构,例如将音频编码器与底座模型分开处理,以便更好地控制梯度的传播。

    2024-01-03 09:26:27
    赞同 展开评论 打赏
  • 目前只支持lora作用在qwen的底座模型。 ,此回答整理自钉群“魔搭ModelScope开发者联盟群 ①”

    2024-01-02 23:06:14
    赞同 展开评论 打赏

包含图像分类、图像生成、人体人脸识别、动作识别、目标分割、视频生成、卡通画、视觉评价、三维视觉等多个领域

相关电子书

更多
视觉AI能力的开放现状及ModelScope实战 立即下载
ModelScope助力语音AI模型创新与应用 立即下载
低代码开发师(初级)实战教程 立即下载