尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

在8×A800上部署 MiniMax-M3-MXFP8:vLLM 实战笔记

在8×A800上部署 MiniMax-M3-MXFP8:vLLM 实战笔记 在 8×A800 上部署 MiniMax-M3-MXFP8vLLM 实战笔记文章目录在 8×A800 上部署 MiniMax-M3-MXFP8vLLM 实战笔记一 前言二 硬件与模型准备三 部署脚本四 显存预算分析五 关键参数解释六 接口验证七 踩坑速查八 结语参考仓库MiniMax-M3-MXFP8-vLLM-A800-DeploymentGitee一 前言MiniMax-M3MoE 大模型总参数量 427B、激活参数 26B、支持原生多模态。官方在 vLLM 的发布博客里重点介绍了它在 Hopper/Blackwell 上的性能。本文记录在一台8×NVIDIA A800SM8080GB机器上用 vLLMv0.26.0部署 MiniMax-M3-MXFP8 的完整过程包括容器参数、显存预算、128K 上下文配置等。版本说明v0.26.0 已官方包含 PR #49149 的 A800 batch1 修复因此推荐直接使用官方镜像。若因内部镜像策略必须停留在 v0.25.1请参考第二篇文章或开源仓库中的deploy_v0251_m3patch.sh手动打补丁。二 硬件与模型准备项目配置GPU8× NVIDIA A800 80GB PCIe两两NVLink互联模型MiniMax-M3-MXFP831 个分片约 414GB草稿模型MiniMax-M3-EAGLE3约 6.5GBBF16Docker24.xnvidia runtimevLLM 镜像vllm/vllm-openai:v0.26.0已含 A800 batch1 修复推荐模型文件过大建议提前放到本地高速存储或 NFS并设置环境变量exportMODEL_DIR/path/to/MiniMax-M3-MXFP8exportEAGLE3_DIR/path/to/MiniMax-M3-EAGLE3exportHF_CACHE$HOME/.cache/huggingfaceexportPORT8001三 部署脚本核心思路必须--tensor-parallel-size 8模型要求 8 卡张量并行。--block-size 128必须和 MSA 稀疏注意力块大小一致。128K 上下文要配合VLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS0否则 KV 预算不够。开启 EAGLE3 推测解码、工具调用、reasoning parser。#!/usr/bin/env bashset-euopipefailMODEL_DIR${MODEL_DIR:-/path/to/MiniMax-M3-MXFP8}EAGLE3_DIR${EAGLE3_DIR:-/path/to/MiniMax-M3-EAGLE3}HF_CACHE${HF_CACHE:-$HOME/.cache/huggingface}PORT${PORT:-8001}CONTAINERminimax-m3-mxfp8IMAGEvllm/vllm-openai:v0.26.0# v0.26.0 已含 #49149 修复若用 v0.25.1 请改为 v0.25.1-m3patchdockerrm-f$CONTAINER2/dev/null||truedockerrun-d\--name$CONTAINER\--gpusall\--shm-size16g\-p${PORT}:8000\-eHF_ENDPOINT${HF_ENDPOINT:-https://huggingface.co}\-eVLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS0\-v$MODEL_DIR:/models/MiniMax-M3-MXFP8\-v$EAGLE3_DIR:/models/MiniMax-M3-EAGLE3\-v$HF_CACHE:/root/.cache/huggingface\$IMAGE\/models/MiniMax-M3-MXFP8\--block-size128\--max-model-len131072\--tensor-parallel-size8\--max-num-seqs128\--max-num-batched-tokens4096\--gpu-memory-utilization0.99\--served-model-name MiniMax-M3-MXFP8\--tool-call-parser minimax_m3\--enable-auto-tool-choice\--reasoning-parser minimax_m3\--default-chat-template-kwargs{thinking_mode: enabled}\--speculative-config{method: eagle3, model: /models/MiniMax-M3-EAGLE3, num_speculative_tokens: 3, attention_backend: FLASH_ATTN}把上面内容保存为deploy.sh然后执行bashdeploy.shbashwatch_ready.sh# 轮询 /health 直到就绪如果内部镜像策略限制只能用 v0.25.1需要手动应用 PR #49149 补丁并构建 patched 镜像。开源仓库已提供patch/m3_topk_fix.patch和patch/Dockerfile并单独提供了deploy_v0251_m3patch.shbashdeploy_v0251_m3patch.sh四 显存预算分析占用项每卡大约权重~58.5 GB414GB ÷ 8Marlin MXFP8 重打包后峰值CUDA Graph~4.1 GBKV Cache~10.2 GB128K EAGLE3 配置合计~72.8 GB / 81.9 GB8卡总显存 640GB权重占约 470GB剩余约 170GB 给 KV。关掉 CUDA graph 预分配后每卡 KV 约 10.2GB可支持 128K 上下文。若不关128K 下可用 KV 只有 4.65GB会 OOM。五 关键参数解释参数作用--tensor-parallel-size 8必须 8 卡 TP--block-size 128必须匹配 MSA 块大小--max-model-len 131072128K 上下文VLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS0不预留 CUDA Graph 内存省给 KV--gpu-memory-utilization 0.99权重太大0.95 时 KV 预算为负--enforce-eager不要加默认 CUDA Graph 快得多--moe-backend triton不需要默认 Marlin 即可六 接口验证服务跑起来后是 OpenAI 兼容接口curlhttp://localhost:8001/v1/modelscurlhttp://localhost:8001/v1/chat/completions\-HContent-Type: application/json\-d{ model: MiniMax-M3-MXFP8, messages: [{role: user, content: 你好请介绍一下自己}], max_tokens: 128 }支持/v1/chat/completions、/v1/responses、/v1/messagesAnthropic 协议、/v1/completions等。七 踩坑速查128K OOM检查VLLM_MEMORY_PROFILER_ESTIMATE_CUDAGRAPHS0是否设置。--attention_config.indexer_kv_dtype fp8A800 不要加FP8 indexer 仅 Blackwell 支持。首次请求极慢Triton JIT 编译需 10–60 秒先 warmup 一次再压测。并发 ≥2 崩溃这是 A800 上 v0.25.1 的已知 bugv0.26.0 已修复。若仍遇到请检查镜像版本是否 ≥ v0.26.0。下篇文章详细讲补丁原理。八 结语MiniMax-M3 在 A800 上能跑但配置要比 H100 更“抠”显存。核心就是三点8 卡 TP、128 块大小、关掉 CUDA Graph 预留换 KV 空间。
返回列表