Mistral AI 公司背景

Mistral AI 成立于 2023 年 4 月,由前 DeepMind 和 Meta 研究员创立,是欧洲最有影响力的 AI 公司。其核心策略:小团队、高效架构、开源优先

Mistral 的技术路线与众不同——在所有人追求更大 Dense 模型时,他们率先将 MoE 架构做到实用级别。

模型矩阵

模型 参数量 激活参数 类型 上下文 许可证
Mistral 7B 7B 7B Dense 32K Apache 2.0
Mixtral 8x7B 47B 13B MoE 32K Apache 2.0
Mixtral 8x22B 141B 39B MoE 64K Apache 2.0
Mistral Large 2 123B 123B Dense 128K 商用
Codestral 22B 22B Dense 32K 商用
Mathstral 7B 7B 7B Dense 32K Apache 2.0
Pixtral 12B 12B 12B 多模态 128K 商用
Magistral - - 推理模型 - 商用

Mistral 7B:小模型标杆

Mistral 7B 是 Mistral 的开山之作,以 7B 参数量在多个基准上超越 Llama 2 13B。

架构创新

# Mistral 7B 的 SWA(滑动窗口注意力)
class SlidingWindowAttention(nn.Module):
    def __init__(self, d_model, n_heads, window_size=4096):
        self.n_heads = n_heads
        self.window_size = window_size
        # 窗口内计算 attention,窗口外通过 KV Cache 传递
        # 计算复杂度从 O(n²) 降至 O(n * window_size)

    def forward(self, x):
        # 1. 窗口内注意力(局部)
        local_attn = attention(x, window=self.window_size)
        # 2. 通过堆叠多层,信息可以传递到更远
        #    L 层 SWA 的有效感受野 = L * window_size
        return local_attn

核心架构特点:

  • SWA:4096 窗口,通过层叠扩展有效感受野
  • GQA:8 个 KV 头,32 个 Query 头
  • RoPE:旋转位置编码
  • SwiGLU:门控线性单元

性能对比

基准 Mistral 7B Llama2-7B Llama2-13B
MMLU 62.5 45.3 55.0
HellaSwag 81.3 77.2 79.6
GSM8K 52.2 26.4 36.3
HumanEval 30.5 13.2 20.1

Mistral 7B 以一半参数量全面超越 Llama 2 13B,这在当时引起巨大轰动。

Mixtral:MoE 架构的实用化

Mixtral 8x7B

Mixtral 8x7B 是首个达到商用级别的开源 MoE 模型。

架构设计:

  • 8 个专家 FFN,每个 token 激活 2 个
  • 总参数 47B,激活参数 13B
  • 推理速度接近 13B 模型,性能接近 70B 模型
# Mixtral MoE 路由
class MixtralMoE(nn.Module):
    def __init__(self, d_model, n_experts=8, top_k=2):
        self.router = nn.Linear(d_model, n_experts)
        self.experts = nn.ModuleList([
            SwiGLUFFN(d_model) for _ in range(n_experts)
        ])
        self.top_k = top_k

    def forward(self, x):
        # 路由计算
        router_logits = self.router(x)  # [batch, seq, 8]
        # Top-2 选择
        scores, indices = softmax(router_logits, dim=-1).topk(self.top_k, dim=-1)
        # 归一化权重
        scores = scores / scores.sum(dim=-1, keepdim=True)
        # 加权求和
        output = torch.zeros_like(x)
        for i in range(self.top_k):
            for b in range(x.size(0)):
                expert_idx = indices[b, :, i]
                expert_out = self.experts[expert_idx[b]](x[b])
                output[b] += scores[b, :, i:i+1] * expert_out
        return output

Mixtral 8x22B

8x22B 是 Mixtral 的大规模升级版:

维度 8x7B 8x22B
总参数 47B 141B
激活参数 13B 39B
专家数 8 8
激活专家 2 2
上下文 32K 64K
显存(FP16) ~90 GB ~270 GB
显存(INT4) ~24 GB ~70 GB

性能对比

基准 Mixtral 8x7B Mixtral 8x22B Llama3-70B GPT-4o
MMLU 71.3 78.8 82.9 88.7
HellaSwag 85.8 88.4 88.1 89.4
GSM8K 61.1 77.8 85.0 94.3
HumanEval 43.2 59.2 80.5 90.2

Codestral:代码专用模型

Codestral 是 Mistral 专为代码生成训练的模型,22B 参数,支持 80+ 编程语言。

核心能力

  • FIM 补全:Fill-in-the-Middle,IDE 集成核心
  • 多语言:Python、JS/TS、Java、Go、Rust、C++ 等
  • 指令跟随:自然语言描述 → 代码实现
# Codestral FIM 调用
from openai import OpenAI

client = OpenAI(
    api_key="your-mistral-api-key",
    base_url="https://codestral.mistral.ai/v1"
)

# 代码补全模式
response = client.completions.create(
    model="codestral-latest",
    prompt="""# 实现一个快速排序算法
def quicksort""",
    max_tokens=200,
    temperature=0.2
)

# FIM 模式
response = client.completions.create(
    model="codestral-latest",
    prompt="[PREFIX]def merge_sort(arr):\n    [SUFFIX]\n    return sorted_arr[MIDDLE]",
    max_tokens=200
)

代码基准

模型 HumanEval MBPP MultiPL-E RepoBench
Codestral 22B 81.1 78.2 68.5 45.3
DeepSeek-Coder-V2 86.4 83.2 72.5 52.1
CodeGeeX-4 82.3 79.6 68.1 43.8
GPT-4o 90.2 85.4 78.6 61.2

Mathstral:数学专用模型

Mathstral 7B 是基于 Mistral 7B 微调的数学推理模型,专为 STEM 领域设计。

基准 Mathstral 7B Mistral 7B Llemma 7B
MATH 56.6 30.1 38.4
GSM8K 83.2 52.2 67.8
MMLU-STEM 68.4 52.3 58.1

Pixtral:多模态模型

Pixtral 12B 是 Mistral 的视觉语言模型,12B 参数:

  • 视觉编码器:Pixtral-ViT(原生可变分辨率)
  • 支持 OCR、图表理解、文档分析
  • 128K 上下文,可处理多图
# Pixtral 多图理解
response = client.chat.completions.create(
    model="pixtral-12b-latest",
    messages=[{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": "url1"}},
            {"type": "image_url", "image_url": {"url": "url2"}},
            {"type": "text", "text": "比较这两张图表的差异"}
        ]
    }]
)

部署指南

vLLM 部署 Mixtral

# Mixtral 8x7B(双卡 A100)
python -m vllm.entrypoints.openai.api_server \
  --model mistralai/Mixtral-8x7B-Instruct-v0.1 \
  --tensor-parallel-size 2 \
  --gpu-memory-utilization 0.9 \
  --max-model-len 32768 \
  --port 8000

# Mixtral 8x22B(4卡 A100 80GB)
python -m vllm.entrypoints.openai.api_server \
  --model mistralai/Mixtral-8x22B-Instruct-v0.1 \
  --tensor-parallel-size 4 \
  --gpu-memory-utilization 0.95 \
  --max-model-len 65536 \
  --port 8000

Mistral 7B 单卡部署

# Ollama
ollama run mistral:7b

# vLLM 单卡
python -m vllm.entrypoints.openai.api_server \
  --model mistralai/Mistral-7B-Instruct-v0.3 \
  --gpu-memory-utilization 0.9 \
  --max-model-len 32768

许可证策略

Mistral 的许可证策略非常清晰:

模型 许可证 商用 备注
Mistral 7B Apache 2.0 无任何限制
Mixtral 8x7B Apache 2.0 无任何限制
Mixtral 8x22B Apache 2.0 无任何限制
Mathstral 7B Apache 2.0 无任何限制
Mistral Large 2 商用许可 需付费 API 或授权
Codestral 商用许可 需付费 API 调用
Pixtral 12B 商用许可 需付费 API 调用

Mistral 的开源模型采用 Apache 2.0,是所有大模型厂商中最宽松的许可证。

选型建议

场景 推荐模型 理由
消费级 GPU 通用 Mistral 7B Apache 2.0、性能强
工作站 MoE Mixtral 8x7B 性能/成本比优秀
代码补全 IDE Codestral FIM 模式、80+语言
数学推理 Mathstral 7B 专为 STEM 优化
视觉理解 Pixtral 12B 原生多模态
企业级 API Mistral Large 2 128K、多语言

总结

Mistral AI 以小团队创造了多个里程碑:首个实用级开源 MoE 模型、最宽松的开源许可证、出色的参数效率。Mixtral 8x7B 至今仍是中等规模部署的最佳选择之一——以 13B 的推理成本接近 70B 的性能。Apache 2.0 许可证使其成为商业产品集成最友好的选择。对于追求效率和无限制商用的场景,Mistral 系列是首选。

加入讨论

这篇文章有姊妹讨论帖在硅基AGI论坛 — 全球首个碳基硅基认知交流平台。

碳基与硅基的智慧碰撞,认知差异创造无限可能。