diff --git a/.buildkite/test-amd.yaml b/.buildkite/test-amd.yaml index 2f5a84aaf1..ba8f382755 100644 --- a/.buildkite/test-amd.yaml +++ b/.buildkite/test-amd.yaml @@ -3335,36 +3335,6 @@ steps: commands: - pytest -v -s v1/e2e/test_hybrid_chunked_prefill.py -#------------------------------------------------------ mi300 · weight_loading -------------------------------------------------------# - -- label: ":amd: (MI300) Weight Loading Multi-GPU" # TBD - timeout_in_minutes: 70 - mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300] - dind: false - agent_pool: mi300_2 - num_gpus: 2 - working_dir: "/vllm-workspace/tests" - source_file_dependencies: - - vllm/ - - tests/weight_loading - optional: true - commands: - - bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models-amd.txt - -- label: ":amd: (MI300) Weight Loading Multi-GPU (Large Models)" # TBD - timeout_in_minutes: 35 - mirror_hardwares: [amdexperimental, amdproduction, amdgfx942nightly, amdmi300] - dind: false - agent_pool: mi300_2 - num_gpus: 2 - optional: true - working_dir: "/vllm-workspace/tests" - source_file_dependencies: - - vllm/ - - tests/weight_loading - commands: - - bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models-large-amd.txt - ######################################################################################################################################### # # # MI355 (gfx950) tests # @@ -4719,36 +4689,6 @@ steps: - if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then pytest -v -s "v1/e2e/spec_decode/acceptance_rates/mtp_other/test_mtp.py::test_gemma4_mtp_acceptance_lengths[False]"; fi - if [ "$$BUILDKITE_PARALLEL_JOB" = "2" ]; then pytest -v -s "v1/e2e/spec_decode/acceptance_rates/mtp_other/test_mtp.py::test_gemma4_mtp_acceptance_lengths[True]"; fi -#------------------------------------------------------ mi355 · weight_loading -------------------------------------------------------# - -- label: ":amd: (MI355) Weight Loading Multi-GPU" # TBD - timeout_in_minutes: 70 - mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355] - dind: false - agent_pool: mi355_2 - num_gpus: 2 - working_dir: "/vllm-workspace/tests" - source_file_dependencies: - - vllm/ - - tests/weight_loading - optional: true - commands: - - bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models-amd.txt - -- label: ":amd: (MI355) Weight Loading Multi-GPU (Large Models)" # TBD - timeout_in_minutes: 30 - mirror_hardwares: [amdexperimental, amdproduction, amdgfx950nightly, amdmi355] - dind: false - agent_pool: mi355_2 - working_dir: "/vllm-workspace/tests" - num_gpus: 2 - optional: true - source_file_dependencies: - - vllm/ - - tests/weight_loading - commands: - - bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models-large-amd.txt - #----------------------------------------------------------- mi355 · misc ------------------------------------------------------------# - label: ":amd: (MI355) Regression" # TBD diff --git a/.buildkite/test_areas/weight_loading.yaml b/.buildkite/test_areas/weight_loading.yaml deleted file mode 100644 index b8afa261e5..0000000000 --- a/.buildkite/test_areas/weight_loading.yaml +++ /dev/null @@ -1,38 +0,0 @@ -group: Weight Loading -depends_on: - - image-build -steps: -- label: ":nvidia: (L4) Weight Loading Multi-GPU" - key: weight-loading-multiple-gpu - timeout_in_minutes: 50 - working_dir: "/vllm-workspace/tests" - device: l4 - num_devices: 2 - optional: true - source_file_dependencies: - - vllm/ - - "!vllm/distributed/kv_transfer/" - - tests/weight_loading - commands: - - bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models.txt - mirror: - amd: - label: ":amd: (MI355) Weight Loading Multi-GPU" - dind: false - device: mi355_2 - timeout_in_minutes: 70 - depends_on: - - image-build-amd - commands: - - bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models-amd.txt - -# - label: Weight Loading Multiple GPU - Large Models # optional -# working_dir: "/vllm-workspace/tests" -# num_devices: 2 -# device: a100 -# optional: true -# source_file_dependencies: -# - vllm/ -# - tests/weight_loading -# commands: -# - bash weight_loading/run_model_weight_loading_test.sh -c weight_loading/models-large.txt diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index aa5b2a9fc9..f64cf5f561 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -110,7 +110,6 @@ /tests/entrypoints/llm/test_struct_output_generate.py @mgoin @aarnphm @arpera /tests/v1/structured_output @mgoin @aarnphm @arpera /tests/v1/core @WoosukKwon @robertgshaw2-redhat @njhill @ywang96 @alexm-redhat @heheda12345 @ApostaC @orozery @ivanium -/tests/weight_loading @mgoin @youkaichao @yewentao256 /tests/lora @jeejeelee /tests/models/language/generation/test_hybrid.py @tdoublep @tomeras91 /tests/v1/kv_connector/nixl_integration @NickLucche diff --git a/tests/kernels/quantization/test_rocm_compressed_tensors_w4a16.py b/tests/kernels/quantization/test_rocm_compressed_tensors_w4a16.py index a9b35a4ea6..8e4563ab80 100644 --- a/tests/kernels/quantization/test_rocm_compressed_tensors_w4a16.py +++ b/tests/kernels/quantization/test_rocm_compressed_tensors_w4a16.py @@ -17,7 +17,6 @@ from vllm.platforms import current_platform @pytest.mark.parametrize( "model_path", [ - # Listed in tests/weight_loading/models.txt "nm-testing/tinyllama-oneshot-w4a16-group128-v2", ], ) diff --git a/tests/weight_loading/models-amd.txt b/tests/weight_loading/models-amd.txt deleted file mode 100644 index a6a85736cb..0000000000 --- a/tests/weight_loading/models-amd.txt +++ /dev/null @@ -1,18 +0,0 @@ -# quantization, model, revision[, minimum capability[, safetensors load strategy]] -fp8, amd/Meta-Llama-3.1-8B-Instruct-FP8-KV, main -None, amd/Llama-3.2-1B-Instruct-FP8-KV, main -fp8, amd/Mixtral-8x7B-Instruct-v0.1-FP8-KV, main, 80, prefetch -gptq, robertgshaw2/zephyr-7b-beta-channelwise-gptq, main -gptq, TheBloke/Llama-2-7B-GPTQ, main -gptq, TheBloke/TinyLlama-1.1B-Chat-v1.0-GPTQ, gptq-8bit--1g-actorder_True -compressed-tensors, nm-testing/tinyllama-oneshot-w8w8-test-static-shape-change, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8-channel-a8-tensor, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8a8-dynamic-token-v2, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8a8-channel-dynamic-token-v2, main -compressed-tensors, nm-testing/tinyllama-oneshot-w4a16-group128-v2, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8a16-per-channel, main -compressed-tensors, nm-testing/Meta-Llama-3-8B-FP8-compressed-tensors-test, main -compressed-tensors, nm-testing/Phi-3-mini-128k-instruct-FP8, main -compressed-tensors, neuralmagic/Phi-3-medium-128k-instruct-quantized.w4a16, main -awq, casperhansen/mixtral-instruct-awq, main -fp8, neuralmagic/Meta-Llama-3-8B-Instruct-FP8-KV, main diff --git a/tests/weight_loading/models-large-amd.txt b/tests/weight_loading/models-large-amd.txt deleted file mode 100644 index 41e8ee5200..0000000000 --- a/tests/weight_loading/models-large-amd.txt +++ /dev/null @@ -1,4 +0,0 @@ -# quantization, model, revision[, minimum capability[, safetensors load strategy]] -fp8, amd/Meta-Llama-3.1-70B-Instruct-FP8-KV, main, 80, prefetch -None, microsoft/phi-4, main, 80, prefetch -fp8, amd/Mixtral-8x22B-Instruct-v0.1-FP8-KV, main, 80, prefetch diff --git a/tests/weight_loading/models-large.txt b/tests/weight_loading/models-large.txt deleted file mode 100644 index 8b3913cc2d..0000000000 --- a/tests/weight_loading/models-large.txt +++ /dev/null @@ -1,6 +0,0 @@ -compressed-tensors, nm-testing/Mixtral-8x7B-Instruct-v0.1-W4A16-quantized, main -compressed-tensors, nm-testing/Mixtral-8x7B-Instruct-v0.1-W4A16-channel-quantized, main -compressed-tensors, nm-testing/Mixtral-8x7B-Instruct-v0.1-W8A16-quantized, main -gptq, TheBloke/Mixtral-8x7B-v0.1-GPTQ, main -awq_marlin, casperhansen/deepseek-coder-v2-instruct-awq, main -compressed-tensors, RedHatAI/Llama-4-Scout-17B-16E-Instruct-quantized.w4a16, main diff --git a/tests/weight_loading/models.txt b/tests/weight_loading/models.txt deleted file mode 100644 index 87b9650870..0000000000 --- a/tests/weight_loading/models.txt +++ /dev/null @@ -1,18 +0,0 @@ -gptq, robertgshaw2/zephyr-7b-beta-channelwise-gptq, main -gptq, TheBloke/Llama-2-7B-GPTQ, main -gptq, LnL-AI/TinyLlama-1.1B-Chat-v1.0-GPTQ-4bit, main -gptq, TheBloke/TinyLlama-1.1B-Chat-v1.0-GPTQ, gptq-8bit--1g-actorder_True -gptq, TechxGenus/gemma-2b-it-GPTQ, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8w8-test-static-shape-change, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8-channel-a8-tensor, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8a8-dynamic-token-v2, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8a8-channel-dynamic-token-v2, main -compressed-tensors, nm-testing/tinyllama-oneshot-w4a16-group128-v2, main -compressed-tensors, nm-testing/tinyllama-oneshot-w8a16-per-channel, main -compressed-tensors, nm-testing/Meta-Llama-3-8B-FP8-compressed-tensors-test, main -compressed-tensors, nm-testing/Phi-3-mini-128k-instruct-FP8, main -compressed-tensors, neuralmagic/Phi-3-medium-128k-instruct-quantized.w4a16, main -#compressed-tensors, mgoin/DeepSeek-Coder-V2-Lite-Instruct-FP8, main -awq, casperhansen/mixtral-instruct-awq, main -awq_marlin, casperhansen/mixtral-instruct-awq, main -fp8, neuralmagic/Meta-Llama-3-8B-Instruct-FP8-KV, main diff --git a/tests/weight_loading/run_model_weight_loading_test.sh b/tests/weight_loading/run_model_weight_loading_test.sh deleted file mode 100755 index 598f1620c7..0000000000 --- a/tests/weight_loading/run_model_weight_loading_test.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -SUCCESS=0 - -while getopts "c:" OPT; do - case ${OPT} in - c ) - CONFIG="$OPTARG" - ;; - \? ) - usage - exit 1 - ;; - esac -done - - -IFS=$'\n' read -d '' -r -a MODEL_CONFIGS < "$CONFIG" - -for MODEL_CONFIG in "${MODEL_CONFIGS[@]}" -do - if [[ $MODEL_CONFIG == \#* ]]; then - echo "=== SKIPPING MODEL: $MODEL_CONFIG ===" - continue - fi - - LOCAL_SUCCESS=0 - IFS=', ' read -r -a array <<< "$MODEL_CONFIG" - - echo "=== RUNNING MODEL: $MODEL_CONFIG ===" - - unset WEIGHT_LOADING_TEST_SAFETENSORS_LOAD_STRATEGY - export QUANTIZATION=${array[0]} - export MODEL_NAME=${array[1]} - export REVISION=${array[2]} - # If array length is larger than 3, then MIN_CAPABILITY is provided - if [ ${#array[@]} -gt 3 ]; then - export MIN_CAPABILITY=${array[3]} - fi - if [ ${#array[@]} -gt 4 ]; then - export WEIGHT_LOADING_TEST_SAFETENSORS_LOAD_STRATEGY=${array[4]} - fi - pytest -s weight_loading/test_weight_loading.py || LOCAL_SUCCESS=$? - - if [[ $LOCAL_SUCCESS == 0 ]]; then - echo "=== PASSED MODEL: ${MODEL_CONFIG} ===" - else - echo "=== FAILED MODEL: ${MODEL_CONFIG} ===" - fi - - SUCCESS=$((SUCCESS + LOCAL_SUCCESS)) - -done - -if [ "${SUCCESS}" -eq "0" ]; then - exit 0 -else - exit 1 -fi diff --git a/tests/weight_loading/test_weight_loading.py b/tests/weight_loading/test_weight_loading.py deleted file mode 100644 index c32ce71aca..0000000000 --- a/tests/weight_loading/test_weight_loading.py +++ /dev/null @@ -1,49 +0,0 @@ -# SPDX-License-Identifier: Apache-2.0 -# SPDX-FileCopyrightText: Copyright contributors to the vLLM project - -import os - -import pytest -import torch - -from vllm.platforms import current_platform -from vllm.utils.mem_constants import GiB_bytes - -MAX_MODEL_LEN = 1024 -MODEL_NAME = os.environ.get( - "MODEL_NAME", "robertgshaw2/zephyr-7b-beta-channelwise-gptq" -) -REVISION = os.environ.get("REVISION", "main") -QUANTIZATION = os.environ.get("QUANTIZATION", "gptq_marlin") -MIN_CAPABILITY = os.environ.get("MIN_CAPABILITY", "80") -SAFETENSORS_LOAD_STRATEGY = os.environ.get( - "WEIGHT_LOADING_TEST_SAFETENSORS_LOAD_STRATEGY" -) - - -@pytest.mark.skipif( - MODEL_NAME == "casperhansen/deepseek-coder-v2-instruct-awq", reason="OOM in the CI" -) -@pytest.mark.skipif( - not current_platform.has_device_capability(int(MIN_CAPABILITY)), - reason="Current system does not have minimum capability.", -) -def test_weight_loading(vllm_runner): - """Test parameter weight loading with tp>1.""" - # MoE models need fp16. - NEEDS_FP16 = QUANTIZATION == "gptq" - with vllm_runner( - model_name=MODEL_NAME, - revision=REVISION, - dtype=torch.half if NEEDS_FP16 else "auto", - quantization=None if QUANTIZATION == "None" else QUANTIZATION, - max_model_len=MAX_MODEL_LEN, - tensor_parallel_size=2, - safetensors_load_strategy=SAFETENSORS_LOAD_STRATEGY, - # Generating 20 tokens needs a tiny KV cache, while sizing and - # allocating a full-size one dominates this test on large devices. - kv_cache_memory_bytes=2 * GiB_bytes, - ) as model: - output = model.generate_greedy("Hello world!", max_tokens=20) - print(output) - assert output