test-model-deepseekr1-mtp-tp

star 4.1k

DeepSeek-R1 MTP-TP test: LightLLM api_server with MTP (EAGLE) draft, tensor parallel only (--tp 8, no --dp, no EP MoE), plus GSM8K lm_eval on localhost. Distinct from the MTP-EP-TPDP skill which uses --tp 8 --dp 8 and EP MoE. Requires a dedicated log directory, summary.txt, tokenizer aligned with MODEL_DIR. Use for TP-only MTP gsm8k accuracy runs.

ModelTC By ModelTC schedule Updated 5/22/2026

name: test-model-deepseekr1-mtp-tp description: >- DeepSeek-R1 MTP-TP test: LightLLM api_server with MTP (EAGLE) draft, tensor parallel only (--tp 8, no --dp, no EP MoE), plus GSM8K lm_eval on localhost. Distinct from the MTP-EP-TPDP skill which uses --tp 8 --dp 8 and EP MoE. Requires a dedicated log directory, summary.txt, tokenizer aligned with MODEL_DIR. Use for TP-only MTP gsm8k accuracy runs.

DeepSeek-R1 MTP–TP(仅张量并行 --tp 8,无 DP / 无 EP)本地 GSM8K 评测

测试标识:并行方式为 --tp 8 单路 TP,不包含 --dp--enable_ep_moe。用于与 MTP–EP–TPDP--tp 8 --dp 8 + EP MoE)流水线区分。

启动一组 api_servereagle_with_att MTP),待就绪后对同一进程执行一次 lm_eval(任务 gsm8k)。全过程产物落在同一日志目录(见「日志目录」);命令与流程见「启动说明」。

日志目录(含 summary.txt

  • 先选定或新建一个日志目录(例如带时间戳或任务名),与其它测试轮次分开。
  • api_server 的标准输出/错误写入该目录下文件(示例文件名 server_mtp_tp.log;可按团队习惯改名或分子目录)。
  • summary.txt 固定放在该日志目录下,写入本轮启动参数摘要、lm_eval 关键结果与简要结论。
  • lm_eval 终端输出建议单独落盘(如 eval_gsm8k.log);summary.txt 仍为整次任务的总览结论

启动说明

本节包含:启动前检查 → 启动服务的命令模板(可变项说明)→ 一条完整 server 命令 → 评测命令。

启动前检查

开跑前先确认资源可用;不满足则先清理相关进程,再启动

  1. 显卡独占:用 nvidia-smi 检查 8 张 GPU 均无其它推理任务占用(显存应基本空闲);若有冲突进程,结束后再启动。本评测 --tp 8 需占满 8 卡,勿与其它 api_server 同卡混跑。
  2. 端口独占:服务固定 8089;用 ss -tlnplsof -i :8089 等确认 无进程监听 该端口;若已被占用,结束占用进程后再启动。

启动服务的命令模板(可变项)

下列符号与 EP–TPDP 版评测共用含义:

可变项 含义
LOG_DIR 本轮评测日志目录,建议绝对路径;执行前 export LOG_DIR=…
MODEL_DIR 主模型目录,对应 --model_dir;与 lm_evaltokenizer 必须一致。
MTP_DRAFT_DIR MTP 草稿模型目录,对应 --mtp_draft_model_dir

开跑前在同一 shell 中导出路径(引号内替换为本机绝对路径):

export LOG_DIR='〈日志根目录〉'
export MODEL_DIR='〈主模型目录,对应 --model_dir〉'
export MTP_DRAFT_DIR='〈MTP 草稿目录,对应 --mtp_draft_model_dir〉'

首次试跑可用的默认路径组合见「执行约定」。

一条 server 启动命令(后台落盘)

以下为 MTP–TP 固定形态:--tp 8--dp。可直接执行的后台形式(已含 nohup 与日志重定向);调试时可去掉 nohup>> … 2>&1 & 改前台。${MODEL_DIR}${MTP_DRAFT_DIR}${LOG_DIR} 须已由上文 export 赋值。

--mem_fraction 使用 0.65(较 0.75 更省显存,MTP 加载主模型与草稿时不易 OOM)。

LOADWORKER=18 \
nohup python -m lightllm.server.api_server \
  --model_dir "${MODEL_DIR}" --tp 8 --port 8089 \
  --mem_fraction 0.65 --batch_max_tokens 6000 \
  --mtp_mode eagle_with_att --mtp_draft_model_dir "${MTP_DRAFT_DIR}" --mtp_step 2 \
  >> "${LOG_DIR}/server_mtp_tp.log" 2>&1 &

评测命令(服务就绪后执行一次)

本地回环需排除代理:no_proxy / NO_PROXYtokenizer--model_dir${MODEL_DIR})须为同一路径。以下为带日志落盘的完整命令

HF_ALLOW_CODE_EVAL=1 HF_DATASETS_OFFLINE=0 \
no_proxy=127.0.0.1,localhost,::1 \
lm_eval --model local-completions \
  --model_args "{\"model\":\"deepseek-ai/DeepSeek-R1\", \"base_url\":\"http://localhost:8089/v1/completions\", \"max_length\": 16384, \"tokenizer\":\"${MODEL_DIR}\"}" \
  --tasks gsm8k --batch_size 500 --confirm_run_unsafe_code \
  >> "${LOG_DIR}/eval_gsm8k.log" 2>&1
  • LOG_DIR:与 server 一节一致;若仅调试不重定向,可去掉末尾 >> "${LOG_DIR}/eval_gsm8k.log" 2>&1
  • MODEL_DIR:与 server 的 --model_dir 一致;默认试跑与用户确认路径见「执行约定」。
  • 若环境需要,可同时设置 NO_PROXY=127.0.0.1,localhost,::1

执行约定(不要额外写“专用启动脚本”)

模型与 MTP 目录(随环境变化)MODEL_DIRMTP_DRAFT_DIR 在不同机器上路径不同。首轮试跑可先使用:

export MODEL_DIR=/mtc/models/DeepSeek-R1
export MTP_DRAFT_DIR=/mtc/models/DeepSeek-R1-NextN

若默认路径不存在或服务报错指向路径/权重加载失败,请用户提供本机实际目录并更新两个 export保持 MODEL_DIRlm_evaltokenizer 一致

  1. 后台启动 server:将 api_server 输出重定向到日志目录下文件(见「日志目录」);排查时用 tail 查看该日志。
  2. 不要用 health 接口 判断就绪;改为探测 端口 8089 是否 listen(例如 ss -tlnp / lsof -i :8089)。
  3. 等待启动:端口未就绪时约 每 20 秒 查看服务日志,区分仍在启动或已报错;路径类错误按上文向用户确认目录。
  4. 维护 summary.txt:记录完整启动命令摘要(须能看出 --tp 8、无 --dp)、端口检测结果、lm_eval 关键输出与最终结论。
  5. 全部完成后:确认 summary.txt 完整;server / eval 原始日志保留在同一日志目录备查。

输出文件

  • summary.txt:位于本轮日志目录,作为本次 MTP–TP 评测的最终总结
  • 服务与评测日志:与 summary.txt 落在同一日志目录
Install via CLI
npx skills add https://github.com/ModelTC/LightLLM --skill test-model-deepseekr1-mtp-tp
Repository Details
star Stars 4,128
call_split Forks 334
navigation Branch main
article Path SKILL.md
More from Creator