Open zehmaaa opened 11 months ago
请问这里 的实现为啥和论文里面不一样?
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里面也是这样,好奇为啥选择这种实现?
embedding 里面神经元的位置是没有顺序的,随便选一半做反转就行了;
Required prerequisites
Questions
请问这里 的实现为啥和论文里面不一样?
论文里的计算是![image](https://github.com/baichuan-inc/Baichuan-7B/assets/120763512/7a1180de-7a50-43b7-8337-9b76fa9a39a4)
按照这种实现最后的计算结果会是![image](https://github.com/baichuan-inc/Baichuan-7B/assets/120763512/4c64046f-6ce3-4b34-8a06-1cfab77e03b6)
我看huggingface里面也是这样,好奇为啥选择这种实现?
Checklist