You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

torch.nn.functional.softmax输出结果不准确的问题求助

torch.nn.functional.softmax输出结果不准确的问题求助

我最近尝试从零实现掩码自注意力机制,但在计算相似度分数的softmax时得到了奇怪的结果。我查了官方文档也翻了不少相关问题,还是搞不懂问题出在哪。下面是我搭的测试用例和对应的输出结果:

我运行的测试代码:

print(sims)
print(torch.nn.functional.softmax(sims, dim=1))

得到的输出:

tensor([[ 1.,  2.,  3.,  4.,  5.,  6.],
        [ 7.,  8.,  9., 10., 11., 12.],
        [13., 14., 15., 16., 17., 18.],
        [19., 20., 21., 22., 23., 24.],
        [25., 26., 27., 28., 29., 30.],
        [31., 32., 33., 34., 35., 36.],
        [37., 38., 39., 40., 41., 42.],
        [43., 44., 45., 46., 47., 48.],
        [49., 50., 51., 52., 53., 54.],
        [55., 56., 57., 58., 59., 60.]])

tensor([[0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337],
        [0.0043, 0.0116, 0.0315, 0.0858, 0.2331, 0.6337]])

举个具体的例子,我原本期望第一行[ 1., 2., 3., 4., 5., 6.]经过softmax计算后,能得到这样的结果:

[ .047,  .095,  .142,  .19,  .238,  .285]

只有这样的结果才是正确的softmax注意力占比,我需要用这个结果来处理我的value张量,但现在的输出明显不符合预期,有没有大佬能帮我排查下问题?

备注:内容来源于stack exchange,提问作者Egraha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 16:49:30