所需先决条件
- 我已阅读了文档 https://github.com/baichuan-inc/baichuan-7B/blob/HEAD/README.md 。
- 我已在 Issue Tracker 和 Discussions 中搜索,确保这个问题尚未被报告过(如果已经报告过,请在那里加1或评论)。
- 在提出问题之前,请先考虑在 Discussion 中提问。
问题
请问这里的实现为什么和论文里面不一样?
def rotate_half(x):
"""Rotates half the hidden dims of the input."""
x1 = x[..., : x.shape[-1] // 2]
x2 = x[..., x.shape[-1] // 2:]
return torch.cat((-x2, x1), dim=-1)
论文里的计算是
按照这种实现最后的计算结果会是
我看huggingface里面也是这样,好奇为什么选择这种实现?
检查清单
- 我已在上面提供了所有相关且必要的信息。
- 我已为这个问题选择了合适的标题。
1条答案
按热度按时间kognpnkq1#
在embedding中,神经元的位置是没有顺序的,只需随机选择一半进行反转即可。