Skip to content

Mistral Large 技术解析

Mistral Large 是法国 Mistral AI 推出的大语言模型,以高效的架构设计著称。

Mistral Large

滑动窗口注意力

Mistral 的标志性设计是滑动窗口注意力(SWA),限制每个 Token 只关注固定窗口内的前驱 Token:

python
class SlidingWindowAttention(nn.Module):
    def __init__(self, window_size=4096):
        self.window_size = window_size
    
    def forward(self, Q, K, V):
        seq_len = Q.shape[1]
        # 创建滑动窗口掩码
        mask = torch.ones(seq_len, seq_len, dtype=torch.bool)
        for i in range(seq_len):
            mask[i, max(0, i - self.window_size):i+1] = False
        scores = torch.matmul(Q, K.transpose(-2, -1)) / math.sqrt(d_k)
        scores.masked_fill_(mask, float('-inf'))
        return torch.matmul(F.softmax(scores, dim=-1), V)

SWA 与 KV Cache

SWA 限制了 KV Cache 的大小为窗口长度,而非序列长度。这使得 Mistral 在长序列推理时内存效率极高。

相关资源

最近更新