💥Magistral:如何运行和微调

认识 Magistral——Mistral 的新推理模型。

Magistral-Small-2509 是由 Mistral AI 开发的一款推理型 LLM。它在编程和数学方面表现出色,并支持多种语言。Magistral 支持 128k token 的上下文窗口,并且是从 Mistral-Small-3.2微调而来。Magistral 在本地单张 RTX 4090 上,或者在配备 16 到 24GB RAM 的 Mac 上都能运行得很好。

运行 Magistral 教程 微调 Magistral

所有上传版本都使用 Unsloth Dynamic 2.0 以获得 SOTA 的 5-shot MMLU 和 KL 散度性能,这意味着你可以以最小的精度损失运行并微调量化的 Mistral LLM。

Magistral-Small - Unsloth 动态 上传版本:

🖥️ 运行 Magistral

⚙️ 官方推荐设置

根据 Mistral AI,以下是推理推荐设置:

  • 温度:0.7

  • Min_P:0.01(可选,但 0.01 效果很好,llama.cpp 默认值是 0.1)

  • 设置 top_p 为:0.95

  • 支持 128k 上下文窗口, 超过 40k后性能可能下降。因此,如果你发现性能变差,建议将最大长度设置为 40k。

以下是 Magistral 2509、2507 推荐使用的 system prompt:

以下是 Magistral 2506 推荐使用的 system prompt:

  • 多语言: Magistral 支持许多语言,包括:英语、法语、德语、希腊语、印地语、印尼语、意大利语、日语、韩语、马来语、尼泊尔语、波兰语、葡萄牙语、罗马尼亚语、俄语、塞尔维亚语、西班牙语、瑞典语、土耳其语、乌克兰语、越南语、阿拉伯语、孟加拉语、中文和波斯语。

测试模型

Mistral 有他们自己的 vibe checking 提示词,可用于评估 Magistral。请记住,这些测试是基于运行模型的完整未量化版本,不过你也可以在量化版本上测试它们:

简单 - 确保它们总是有效

Medium - 大多数时候应该是正确的

困难 - 有时应该答对

我们提供了一些 示例输出 在博客末尾。

🦙 教程:如何在 Ollama 中运行 Magistral

  1. 安装 ollama 如果你还没安装的话!

  1. 使用我们的动态量化版本运行模型。我们没有自动设置上下文长度,所以它将使用 Ollama 默认设置的上下文长度。 注意你可以调用 ollama serve &失败时在另一个终端中运行!我们将所有建议参数(temperature 等)包含在 params 中,位于我们的 Hugging Face 上传里!

  2. 另外,Magistral 支持 40K 的上下文长度,所以最好启用 KV 缓存量化。我们使用 8bit 量化,可节省 50% 的内存。你也可以尝试 "q4_0""q8_0"

  3. Ollama 还将默认上下文长度设置为 4096,正如 这里提到的类似。使用 OLLAMA_CONTEXT_LENGTH=8192 把它改为 8192。Magistral 支持最高 128K,但测试最多的是 40K(40960)。

📖 教程:如何在 llama.cpp 中运行 Magistral

  1. 获取最新的 llama.cpp 默认开启 GitHub 仓库。你也可以按照下面的构建说明进行。将 -DGGML_CUDA=ON-DGGML_CUDA=OFF 改为适用于没有 GPU 或只想进行 CPU 推理的情况。 对于 Apple Mac / Metal 设备,设置 -DGGML_CUDA=OFF 然后照常继续——Metal 支持默认开启。

  1. 如果你想使用 llama.cpp 直接加载模型,你可以使用下面的方法:(:Q4_K_XL)是量化类型。你也可以通过 Hugging Face 下载(第 3 点)。这与 ollama run

  1. 或者 通过(在安装之后)下载模型 pip install huggingface_hub hf_transfer )。你可以选择 UD-Q4_K_XL、(Unsloth Dynamic)、Q4_K_M,或其他量化版本(如 BF16 全精度)。

  1. 运行模型。

  2. 编辑 --threads -1 以使用最大 CPU 线程数, --ctx-size 40960 用于上下文长度(Magistral 支持 40K 上下文长度!), --n-gpu-layers 99 用于 GPU 下放的层数。如果你的 GPU 内存不足,请尝试调整它。如果你只使用 CPU 推理,也请移除它。我们还使用 8bit 量化作为 K 缓存以减少内存使用。

  3. 对于对话模式:

示例输出

strawberry 里有多少个 "r"?[正确答案 = 3]
法国大革命究竟是几天前开始的?今天是 2025 年 6 月 4 日。[正确答案 = 86,157 天]

👁视觉支持

对于 2025 年 9 月之前的 Magistral 版本, Xuan-Son 来自 HuggingFace 的展示中 GGUF 仓库 说明实际上是如何将 Mistral 3.1 Instruct 的视觉编码器“嫁接”到 Devstral 上的,这意味着你也可以对 Magistral 做同样的事!根据我们的测试以及很多用户反馈,它运行得相当不错!我们还上传了我们的 mmproj 文件,这让你可以使用以下内容:

🦥 使用 Unsloth 对 Magistral 进行微调

与包括 Mistral Small 3.1 在内的标准 Mistral 模型一样,Unsloth 也支持 Magistral 微调。训练速度快 2 倍,使用少 70% 的显存,并支持长 8 倍的上下文长度。Magistral 在 24GB 显存的 L4 GPU 上运行得很轻松。

Magistral 的内存占用略微超过 16GB 显存的限制,所以目前还不能在 Google Colab 上免费进行微调。不过,你 可以 可以使用以下方式免费微调该模型: Kaggle,它提供双 GPU 访问。

如果想在新的推理轨迹上微调,你可以使用我们免费的 Magistral Kaggle 笔记本

如果你使用的是旧版 Unsloth 和/或在本地微调,请安装最新版本的 Unsloth:

💠动态 Float8 检查点

我们也提供两种流行的 float8 检查点格式,这些格式还利用了我们的一些动态方法来保持最高准确率:

两者都非常适合通过 vLLM 部署。阅读如何在 vLLM 中使用基于 TorchAO 的 FP8 量化 这里.

最后更新于

这有帮助吗?