-
Notifications
You must be signed in to change notification settings - Fork 243
add B300 vLLM AgentX single-node MiniMax-M3 FP4 EAGLE3-GQA MTP / 新增 B300 vLLM AgentX 单节点 MiniMax-M3 FP4 EAGLE3-GQA MTP #2328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
hshrivastava-droid
wants to merge
20
commits into
main
Choose a base branch
from
minimaxm3-fp4-b300-vllm-agentic-mtp
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+151
−1
Open
Changes from all commits
Commits
Show all changes
20 commits
Select commit
Hold shift + click to select a range
4a91df9
add b300 vllm agentX single-node minimaxm3 fp4 EAGLE-GQA MTP
hshrivastava-droid 6ad6ee9
update eval logic
hshrivastava-droid 3e84e61
feat: add tool-call-parser + enable-auto-tool-choice; drop synthetic …
xinli-sw 3f57bd6
perf-changelog: add trailing newline / 末尾添加空行
xinli-sw 31ec006
perf-changelog: append minimaxm3-fp4-b300-vllm-agentic-mtp entry / 追加…
xinli-sw df08354
update config
hshrivastava-droid d0f4fc9
Merge remote-tracking branch 'origin/main' into minimaxm3-fp4-b300-vl…
hshrivastava-droid b7556cc
fix(minimaxm3): pin synthetic AL to the GQA golden curve (2.83 -> 2.7…
Ankur-singh f98ab15
Merge origin/main and resolve perf changelog / 合并 origin/main 并解决 per…
Ankur-singh c2dd90d
chore: merge origin/main and resolve perf changelog
Ankur-singh a52dada
fix(changelog): correct synthetic acceptance length 2.83 -> 2.78 / 修复…
Ankur-singh 9031f23
Merge origin/main and resolve perf changelog / 合并 origin/main 并解决 per…
Ankur-singh 220fd05
Merge origin/main and preserve append-only changelog / 合并 origin/main…
xinli-sw 9d0be34
update config
hshrivastava-droid 8398df0
Merge branch 'main' into minimaxm3-fp4-b300-vllm-agentic-mtp
hshrivastava-droid 5e785d0
chore(agentx): pin MiniMax-M3 sweep to AIPerf PR 31
RohitNagraj 01dc27e
chore(agentx): pin MiniMax-M3 sweep to AIPerf ed05782 (globally ancho…
xinli-sw 2af3fbc
chore(agentx): pin MiniMax-M3 sweep to AIPerf abf55f9 (keep idle watc…
xinli-sw 6161fb0
feat(minimaxm3-b300-mtp): expand AgentX search space for TP4/TP2/TP4-…
xinli-sw 9b46824
feat(minimaxm3-b300-mtp): prune search space — trim TP2, extend DRAM …
xinli-sw File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
122 changes: 122 additions & 0 deletions
122
benchmarks/single_node/agentic/minimaxm3_fp4_b300_mtp.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,122 @@ | ||
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
| set -x | ||
|
|
||
| # MiniMax-M3 NVFP4 B300 AgentX with EAGLE3-GQA and synthetic acceptance. | ||
| # DRAM KV offload uses vLLM's SimpleCPUOffloadConnector in lazy mode. | ||
|
|
||
| source "$(dirname "$0")/../../benchmark_lib.sh" | ||
|
|
||
| export EVAL_FRAMEWORK="lm-eval" | ||
|
|
||
| check_env_vars MODEL TP CONC KV_OFFLOADING TOTAL_CPU_DRAM_GB RESULT_DIR DURATION | ||
|
|
||
| DRAFT_MODEL="Inferact/MiniMax-M3-EAGLE3-GQA" | ||
| NUM_SPEC_TOKENS=3 | ||
| # Golden AL for the GQA draft head: golden_al_distribution/minimaxm3_eagle3_gqa.yaml | ||
| # minimax-m3.thinking_on[3]. The non-GQA curve (minimaxm3_eagle3.yaml) reads 2.83 | ||
| # at the same level -- that head is not what this script runs. | ||
| SYNTHETIC_ACCEPT_LEN=2.78 | ||
|
|
||
| if [[ -n "${SLURM_JOB_ID:-}" ]]; then | ||
| echo "JOB $SLURM_JOB_ID running on ${SLURMD_NODENAME:-unknown}" | ||
| fi | ||
|
|
||
| if [[ -n "${MODEL_PATH:-}" ]]; then | ||
| if [[ ! -d "$MODEL_PATH" || -z "$(ls -A "$MODEL_PATH" 2>/dev/null)" ]]; then | ||
| hf download "$MODEL" --local-dir "$MODEL_PATH" | ||
| fi | ||
| DRAFT_MODEL_PATH="/data/models/${DRAFT_MODEL##*/}" | ||
| if [[ ! -d "$DRAFT_MODEL_PATH" || -z "$(ls -A "$DRAFT_MODEL_PATH" 2>/dev/null)" ]]; then | ||
| hf download "$DRAFT_MODEL" --local-dir "$DRAFT_MODEL_PATH" | ||
| fi | ||
| else | ||
| hf download "$MODEL" | ||
| export MODEL_PATH="$MODEL" | ||
| hf download "$DRAFT_MODEL" | ||
| DRAFT_MODEL_PATH="$DRAFT_MODEL" | ||
| fi | ||
|
|
||
| nvidia-smi | ||
| resolve_trace_source | ||
| install_agentic_deps | ||
|
|
||
| OFFLOAD_ARGS=() | ||
| if require_agentic_kv_offload_backend vllm-simple; then | ||
| CPU_OFFLOAD_BYTES=$((TOTAL_CPU_DRAM_GB * 1024 * 1024 * 1024)) | ||
| export VLLM_USE_SIMPLE_KV_OFFLOAD=1 | ||
| OFFLOAD_CONFIG=$(printf \ | ||
| '{"kv_connector":"SimpleCPUOffloadConnector","kv_role":"kv_both","kv_connector_extra_config":{"cpu_bytes_to_use":%d,"lazy_offload":true}}' \ | ||
| "$CPU_OFFLOAD_BYTES") | ||
| OFFLOAD_ARGS=(--kv-transfer-config "$OFFLOAD_CONFIG") | ||
| fi | ||
|
|
||
| export PYTHONNOUSERSITE=1 | ||
| export VLLM_ENGINE_READY_TIMEOUT_S=3600 | ||
| export VLLM_FLOAT32_MATMUL_PRECISION=high | ||
| export VLLM_FLASHINFER_ALLREDUCE_BACKEND=trtllm | ||
|
|
||
| SERVER_LOG="$RESULT_DIR/server.log" | ||
| mkdir -p "$RESULT_DIR" | ||
|
|
||
| SERVER_PID="" | ||
| cleanup_agentic_services() { | ||
| local exit_code=$? | ||
| trap - EXIT INT TERM | ||
| set +e | ||
| stop_background_process_tree "$SERVER_PID" "vLLM server" 60 | ||
| exit "$exit_code" | ||
| } | ||
| trap cleanup_agentic_services EXIT | ||
| trap 'exit 130' INT | ||
| trap 'exit 143' TERM | ||
|
|
||
| if [ "${EVAL_ONLY:-}" = "true" ]; then | ||
| SPEC_CONFIG=$(printf \ | ||
| '{"method":"eagle3","model":"%s","num_speculative_tokens":%d,"attention_backend":"FLASH_ATTN"}' \ | ||
| "$DRAFT_MODEL_PATH" "$NUM_SPEC_TOKENS") | ||
| else | ||
| SPEC_CONFIG=$(printf \ | ||
| '{"method":"eagle3","model":"%s","num_speculative_tokens":%d,"attention_backend":"FLASH_ATTN","rejection_sample_method":"synthetic","synthetic_acceptance_length":%.2f}' \ | ||
| "$DRAFT_MODEL_PATH" "$NUM_SPEC_TOKENS" "$SYNTHETIC_ACCEPT_LEN") | ||
| fi | ||
|
|
||
| { set +x; } 2>/dev/null | ||
| VLLM_CMD=( | ||
| vllm serve "$MODEL_PATH" | ||
| --served-model-name "$MODEL" | ||
| --host 0.0.0.0 | ||
| --port "$PORT" | ||
| --tensor-parallel-size "$TP" | ||
| --gpu-memory-utilization 0.9 | ||
| --block-size 128 | ||
| --language-model-only | ||
| --enable-prefix-caching | ||
| --no-enable-flashinfer-autotune | ||
| --reasoning-parser minimax_m3 | ||
| --tool-call-parser minimax_m3 | ||
| --enable-auto-tool-choice | ||
| --default-chat-template-kwargs '{"thinking_mode":"enabled"}' | ||
| --attention-config '{"backend":"FLASHINFER","use_trtllm_attention":true,"indexer_kv_dtype":"fp8"}' | ||
| --all2all-backend flashinfer_nvlink_one_sided | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
| --max-cudagraph-capture-size 512 | ||
| --max-num-batched-tokens 16384 | ||
| --stream-interval 20 | ||
| --trust-remote-code | ||
| --speculative-config "$SPEC_CONFIG" | ||
| "${OFFLOAD_ARGS[@]}" | ||
| ) | ||
| printf '%q ' "${VLLM_CMD[@]}" | tee "$RESULT_DIR/vllm_command.txt" | ||
| printf '\n' | tee -a "$RESULT_DIR/vllm_command.txt" | ||
| "${VLLM_CMD[@]}" > "$SERVER_LOG" 2>&1 & | ||
| SERVER_PID=$! | ||
| echo "Server PID: $SERVER_PID" | ||
| set -x | ||
|
|
||
| wait_for_server_ready --port "$PORT" --server-log "$SERVER_LOG" --server-pid "$SERVER_PID" | ||
| if [ "${EVAL_ONLY}" = "true" ]; then | ||
| run_eval --port "$PORT" | ||
| else | ||
| build_replay_cmd "$RESULT_DIR" | ||
| run_agentic_replay_and_write_outputs "$RESULT_DIR" | ||
| fi | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule aiperf
updated
64 files
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.

Uh oh!
There was an error while loading. Please reload this page.