MI50 8대로 돌리는 Qwen 3.6 27B 성능 벤치마크 (52.8 tps TG, 1569 tps PP)
MI50s Qwen 3.6 27B @52.8 tps TG @1569 tps PP (no MTP, no Quant)
핵심 요약
2018년형 MI50 GPU 8대를 활용해 Qwen 3.6 27B 모델을 양자화 없이 구동한 성능 벤치마크 결과.
- 성능 벤치마크 — 2018년형 MI50 GPU 8대를 사용하여 Qwen 3.6 27B 모델의 추론 속도를 측정함.
- 에이전트 활용 — Claude Code나 Hermes 같은 에이전트 도구에서 충분히 실사용 가능한 수준의 속도를 보여줌.
- 최적화 설정 — MTP나 DFlash 없이 풀 정밀도(Full Precision)로 구동하여 안정적인 성능을 확보함.
- 하드웨어 제약 — 32GB VRAM 모델을 기준으로 8개 GPU를 병렬로 연결하여 메모리 부족 문제를 해결함.
TL;DR 제목에 적힌 결과는 1k 및 15k 토큰의 프롬프트 2개를 사용한 단일 추론 결과임.
즉, MTP(큰 프롬프트에서는 더 느림)나 DFlash(작동은 하지만 큰 프롬프트에서는 더 느림)를 사용하지 않았고, 양자화도 하지 않음(풀 정밀도 사용). 2018년형 카드치고는 꽤 좋은 결과임.
(벤치마크는 TP8로 수행했지만, 양자화되지 않은 모델도 TP2로 충분히 구동 가능하며 꽤 빠르게 작동함, 약 34 tps TG)
내 생각에 Claude Code나 Hermes, 혹은 다른 에이전트 도구와 함께 사용하기에 충분히 실용적임.
소프트웨어 및 하드웨어 스택을 업데이트(예: 지연 시간이 낮은 PCIe 스위치 사용, ROCm/gfx906용 오버헤드 없는 최적화된 DFlash/MTP 사용 등)하면 더 높은 성능을 낼 여지가 있다고 생각함.
사용된 추론 엔진 (vllm fork v0.20.1 with rocm7.2.1): https://github.com/ai-infos/vllm-gfx906-mobydick/tree/main
사용된 Huggingface 양자화 모델: Qwen/Qwen3.6-27B
실행 명령어:
docker run -it --name vllm-gfx906-mobydick -v /llm:/llm --network host --device=/dev/kfd --device=/dev/dri --group-add video --group-add $(getent group render | cut -d: -f3) --ipc=host aiinfos/ vllm-gfx906-mobydick:v0.20.1rc0.x-rocm7.2.1-pytorch2.11.0
FLASH_ATTENTION_TRITON_AMD_ENABLE="TRUE" VLLM_LOGGING_LEVEL=DEBUG vllm serve \
/llm/models/Qwen3.6-27B \
--served-model-name Qwen3.6-27B \
--dtype float16 \
--max-model-len auto \
--max-num-batched-tokens 8192 \
--block-size 64 \
--gpu-memory-utilization 0.98 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--reasoning-parser qwen3 \
--mm-processor-cache-gb 1 \
--limit-mm-per-prompt.image 1 --limit-mm-per-prompt.video 1 --skip-mm-profiling \
--default-chat-template-kwargs '{"min_p": 0.0, "presence_penalty": 0.0, "repetition_penalty": 1.0}' \
--tensor-parallel-size 8 \
--host 0.0.0.0 \
--port 8000 2>&1 | tee log.txt
FLASH_ATTENTION_TRITON_AMD_ENABLE="TRUE" VLLM_LOGGING_LEVEL=DEBUG vllm bench serve \
--dataset-name random \
--random-input-len 10000 \
--random-output-len 1000 \
--num-prompts 4 \
--request-rate 10000 \
--ignore-eos 2>&1 | tee logb.txt

