ModelScope中,这是另外千问的,直接取出qkv//3就完了。里的维度不同,是在哪里造成的?

ModelScope中,这是另外千问的,直接取出qkv//3就完了。这个分别取出,但是维度又不同。这里的维度不同,是在哪里造成的? 33a111fcb0ae3287577f21a76f195f99.png

展开
收起
多麻辣哦 2023-11-22 20:48:38 95 分享 版权
1 条回答
写回答
取消 提交回答
  • 在ModelScope中,维度不同可能是由于以下原因造成的:

    1. 模型参数的形状不匹配:在将模型参数分割成q、k、v部分时,可能使用了错误的索引或形状。请检查model_params[prefix+"c_attn."+suf]的索引和形状是否正确。

    2. 分割操作的顺序错误:在将q、k、v部分拼接回原始形状之前,可能需要调整它们的顺序。请检查torch.cat([q_part, k_part, v_part], dim=0)的操作顺序是否正确。

    3. 映射表(mapping)的tp_size设置不正确:在将qkv_part分割成多个部分时,可能使用了错误的tp_size。请检查dim[1] // mapping.tp_size的计算结果是否正确。

    为了解决这个问题,你可以尝试以下方法:

    1. 确保模型参数的形状与预期相符,可以通过打印model_params[prefix+"c_attn."+suf].shape来查看。

    2. 检查分割操作的顺序,确保它们按照正确的顺序进行。

    3. 检查映射表(mapping)的tp_size设置,确保它与模型参数的形状相匹配。

    2023-11-29 10:46:39
    赞同 展开评论

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

热门讨论

热门文章

还有其他疑问?
咨询AI助理