속도 벤치마크

속도 벤치마크 (Speed Benchmark)

이 페이지에서는 Qwen3 시리즈의 bfloat16 모델과 양자화 모델(FP8, GPTQ, AWQ 포함)의 속도 성능을 보고해요. 구체적으로 다양한 컨텍스트 길이에서의 추론 속도(tokens/s)와 메모리 사용량(GB)을 소개합니다.

출처: 문서

본문

환경 (Environments)

Hugging Face Transformers

  • 하드웨어: NVIDIA H20 96GB
  • Non-AutoAWQ 소프트웨어: PyTorch 2.6.0, Flash Attention 2.7.4, Transformers 4.51.3, GPTQModel 2.2.0+cu128torch2.6
  • AutoAWQ 소프트웨어: PyTorch 2.6.0+cu124, Transformers 4.51.3, AutoAWQ 0.2.9, AutoAWQ_kernels 0.0.9

SGLang

  • 하드웨어: NVIDIA H20 96GB
  • 소프트웨어: PyTorch 2.6.0+cu124, Transformers 4.51.3, SGLang 0.4.6.post1, SGL-kernel 0.1.0, vLLM 0.7.2 (AWQ 양자화를 위해 SGLang이 필요로 함)

참고 사항 (Notes)

추론 속도(tokens/s)는 다음과 같이 계산해요:

[ \text{Speed} = \frac{\text{tokens}{\text{prompt}} + \text{tokens}{\text{generation}}}{\text{time}} ]

  • 평가에는 배치 크기 1과 가능한 최소 GPU 수를 사용해요.
  • 입력 길이 1, 6144, 14336, 30720, 63488, 129024 토큰으로 2048 토큰을 생성할 때의 속도와 메모리 사용량을 테스트해요.

SGLang의 경우:

  • 메모리 사용량은 보고하지 않아요. SGLang이 모든 GPU 메모리를 사전 할당하기 때문이에요.
  • 기본적으로 mem_fraction_static=0.85를 설정해요.
  • context_length=140000을 구성하고 enable_mixed_chunk=True를 활성화해요.
  • AWQ 양자화에는 awq_marlin 백엔드를 사용해요.
  • skip_tokenizer_init=True를 설정하고 원시 텍스트 프롬프트 대신 input_ids로 생성을 수행해요.
  • Transformers의 FP8 성능: FP8 모드에서 Transformers의 추론 속도는 현재 최적이 아니며 추가 최적화가 필요해요.
  • SGLang의 GPTQ-INT4 성능: SGLang에서 GPTQ-INT4의 성능도 개선이 필요하며, 팀과 함께 개선 작업을 진행 중이에요.

결과 (Results)

표의 "Input Length"는 입력 토큰 수, "GPU Num"은 사용 GPU 수, "Note" 열의 TP=8 등은 텐서 병렬 크기를 뜻해요.

Qwen3-0.6B (SGLang)

Model Input Length Quantization GPU Num Speed (tok/s) Note
Qwen3-0.6B 1 BF16 1 414.17
1 FP8 1 458.03
1 GPTQ-Int8 1 344.92
6144 BF16 1 426.46
6144 FP8 1 572.95
6144 GPTQ-Int8 1 234.29
14336 BF16 1 478.02
14336 FP8 1 689.08
14336 GPTQ-Int8 1 198.82
30720 BF16 1 577.42
30720 FP8 1 819.86
30720 GPTQ-Int8 1 342.06

Qwen3-0.6B (Transformers)

Model Input Length Quantization GPU Num Speed (tok/s) GPU Memory (MB) Note
Qwen3-0.6B 1 BF16 1 58.57 1394
1 FP8 1 24.60 1217
1 GPTQ-Int8 1 26.56 986
6144 BF16 1 154.82 2066
6144 FP8 1 73.96 1943
6144 GPTQ-Int8 1 93.84 1658
14336 BF16 1 168.48 2963
14336 FP8 1 104.99 2839
14336 GPTQ-Int8 1 219.61 2554
30720 BF16 1 175.93 4755
30720 FP8 1 132.78 4632
30720 GPTQ-Int8 1 345.71 4347

Qwen3-1.7B (SGLang)

Model Input Length Quantization GPU Num Speed (tok/s) Note
Qwen3-1.7B 1 BF16 1 227.80
1 FP8 1 333.90
1 GPTQ-Int8 1 257.40
6144 BF16 1 838.28
6144 FP8 1 1198.20
6144 GPTQ-Int8 1 945.91
14336 BF16 1 1525.71
14336 FP8 1 2095.61
14336 GPTQ-Int8 1 1707.63
30720 BF16 1 2439.03
30720 FP8 1 3165.32
30720 GPTQ-Int8 1 2706.16

Qwen3-1.7B (Transformers)

Model Input Length Quantization GPU Num Speed (tok/s) GPU Memory (MB) Note
Qwen3-1.7B 1 BF16 1 59.83 3412
1 FP8 1 23.83 2726
1 GPTQ-Int8 1 28.06 2229
6144 BF16 1 238.53 4213
6144 FP8 1 90.87 3462
6144 GPTQ-Int8 1 110.82 2901
14336 BF16 1 352.59 5109
14336 FP8 1 153.37 4359
14336 GPTQ-Int8 1 222.78 3798
30720 BF16 1 418.13 6902
30720 FP8 1 235.61 6151
30720 GPTQ-Int8 1 386.85 5590

Qwen3-4B (SGLang)

Model Input Length Quantization GPU Num Speed (tok/s) Note
Qwen3-4B 1 BF16 1 133.13
1 FP8 1 200.61
1 AWQ-INT4 1 199.71
6144 BF16 1 466.19
6144 FP8 1 662.26
6144 AWQ-INT4 1 640.07
14336 BF16 1 789.25
14336 FP8 1 1066.23
14336 AWQ-INT4 1 1006.23
30720 BF16 1 1165.75
30720 FP8 1 1467.71
30720 AWQ-INT4 1 1358.84
63488 BF16 1 1423.98
63488 FP8 1 1660.67
63488 AWQ-INT4 1 1513.97
129042 BF16 1 1371.04
129042 FP8 1 1497.27
129042 AWQ-INT4 1 1375.71

Qwen3-4B (Transformers)

Model Input Length Quantization GPU Num Speed (tok/s) GPU Memory (MB) Note
Qwen3-4B 1 BF16 1 45.94 7973
1 FP8 1 17.33 5281
1 AWQ-INT4 1 51.57 2915
6144 BF16 1 159.95 8860
6144 FP8 1 60.55 6144
6144 AWQ-INT4 1 183.04 3881
14336 BF16 1 195.31 10012
14336 FP8 1 96.81 7297
14336 AWQ-INT4 1 265.22 5151
30720 BF16 1 217.97 12317
30720 FP8 1 138.84 9611
30720 AWQ-INT4 1 481.69 7742

Qwen3-8B (SGLang)

Model Input Length Quantization GPU Num Speed (tok/s) Note
Qwen3-8B 1 BF16 1 81.73
1 FP8 1 150.25
1 AWQ-INT4 1 144.11
6144 BF16 1 296.25
6144 FP8 1 516.64
6144 AWQ-INT4 1 477.89
14336 BF16 1 524.70
14336 FP8 1 859.92
14336 AWQ-INT4 1 770.44
30720 BF16 1 832.67
30720 FP8 1 1242.24
30720 AWQ-INT4 1 1075.91
63488 BF16 1 1112.78
63488 FP8 1 1476.46
63488 AWQ-INT4 1 1254.91
129042 BF16 1 1173.32
129042 FP8 1 1393.21
129042 AWQ-INT4 1 1198.06

Qwen3-8B (Transformers)

Model Input Length Quantization GPU Num Speed (tok/s) GPU Memory (MB) Note
Qwen3-8B 1 BF16 1 45.32 15947
1 FP8 1 15.46 9323
1 AWQ-INT4 1 51.33 6177
6144 BF16 1 146.12 16811
6144 FP8 1 55.07 10187
6144 AWQ-INT4 1 163.23 7113
14336 BF16 1 183.29 17963
14336 FP8 1 89.64 11340
14336 AWQ-INT4 1 242.97 8409
30720 BF16 1 208.98 20267
30720 FP8 1 130.93 13644
30720 AWQ-INT4 1 438.62 11001

Qwen3-14B (SGLang)

Model Input Length Quantization GPU Num Speed (tok/s) Note
Qwen3-14B 1 BF16 1 47.10
1 FP8 1 97.11
1 AWQ-INT4 1 96.49
6144 BF16 1 174.85
6144 FP8 1 342.95
6144 AWQ-INT4 1 321.62
14336 BF16 1 317.56
14336 FP8 1 587.33
14336 AWQ-INT4 1 525.74
30720 BF16 1 525.80
30720 FP8 1 880.72
30720 AWQ-INT4 1 744.74
63488 BF16 1 742.36
63488 FP8 1 1089.04
63488 AWQ-INT4 1 884.06
129042 BF16 1 826.15
129042 FP8 1 1049.64
129042 AWQ-INT4 1 857.56

Qwen3-14B (Transformers)

Model Input Length Quantization GPU Num Speed (tok/s) GPU Memory (MB) Note
Qwen3-14B 1 BF16 1 40.66 28402
1 FP8 1 13.02 16012
1 AWQ-INT4 1 44.67 9962
6144 BF16 1 108.52 29495
6144 FP8 1 44.86 16972
6144 AWQ-INT4 1 128.08 11020
14336 BF16 1 136.36 30775
14336 FP8 1 71.96 18253
14336 AWQ-INT4 1 220.62 12438
30720 BF16 1 155.38 33336
30720 FP8 1 102.63 20813
30720 AWQ-INT4 1 363.25 15323

Qwen3-32B (SGLang)

Model Input Length Quantization GPU Num Speed (tok/s) Note
Qwen3-32B 1 BF16 1 20.72
1 FP8 1 46.17
1 AWQ-INT4 1 47.67
6144 BF16 1 77.82
6144 FP8 1 165.71
6144 AWQ-INT4 1 159.99
14336 BF16 1 143.08
14336 FP8 1 287.60
14336 AWQ-INT4 1 260.44
30720 BF16 1 240.75
30720 FP8 1 436.59
30720 AWQ-INT4 1 366.84
63488 BF16 1 342.96
63488 FP8 1 532.18
63488 AWQ-INT4 1 425.23
129042 BF16 2 711.40 TP=2
129042 FP8 1 491.45
129042 AWQ-INT4 1 395.96

Qwen3-32B (Transformers)

Model Input Length Quantization GPU Num Speed (tok/s) GPU Memory (MB) Note
Qwen3-32B 1 BF16 1 26.24 62751
1 FP8 1 7.37 33379
1 AWQ-INT4 1 41.81 9109
6144 BF16 1 51.41 64583
6144 FP8 1 23.57 34915
6144 AWQ-INT4 1 68.71 20795
14336 BF16 1 62.41 66632
14336 FP8 1 36.30 36963
14336 AWQ-INT4 1 107.02 23105
30720 BF16 1 69.16 70728
30720 FP8 1 49.44 41060
30720 AWQ-INT4 1 188.11 27718

Qwen3-30B-A3B (SGLang)

Model Input Length Quantization GPU Num Speed (tok/s) Note
Qwen3-30B-A3B 1 BF16 1 137.18
1 FP8 1 155.55
1 GPTQ-INT4 1 31.29 GPTQ-Marlin
6144 BF16 1 490.10
6144 FP8 1 551.34
6144 GPTQ-INT4 1 120.13 GPTQ-Marlin
14336 BF16 1 849.62
14336 FP8 1 945.13
14336 GPTQ-INT4 1 227.27 GPTQ-Marlin
30720 BF16 1 1283.94
30720 FP8 1 1405.91
30720 GPTQ-INT4 1 404.45 GPTQ-Marlin
63488 BF16 1 1538.79
63488 FP8 1 1647.89
63488 GPTQ-INT4 1 617.09 GPTQ-Marlin
129042 BF16 1 1385.65
129042 FP8 1 1442.14
129042 GPTQ-INT4 1 704.82 GPTQ-Marlin

Qwen3-30B-A3B (Transformers)

Model Input Length Quantization GPU Num Speed (tok/s) GPU Memory (MB) Note
Qwen3-30B-A3B 1 BF16 1 11.89 58462
1 FP8 1 0.44 30296
1 GPTQ-INT4 - - - MoE Kernel Unsupported
6144 BF16 1 7.45 59037
6144 FP8 1 1.77 30872
6144 GPTQ-INT4 - - - MoE Kernel Unsupported
14336 BF16 1 14.47 59806
14336 FP8 1 3.53 31641
14336 GPTQ-INT4 - - - MoE Kernel Unsupported
30720 BF16 1 27.03 61342
30720 FP8 1 6.86 33177
30720 GPTQ-INT4 - - - MoE Kernel Unsupported

Qwen3-235B-A22B (SGLang)

Model Input Length Quantization GPU Num Speed (tok/s) Note
Qwen3-235B-A22B 1 BF16 8 74.50 TP=8
1 FP8 4 71.65 TP=4
1 GPTQ-INT4 4 14.69 TP=4, GPTQ-Marlin
6144 BF16 8 289.03 TP=8
6144 FP8 4 275.16 TP=4
6144 GPTQ-INT4 4 456.97 TP=4, GPTQ-Marlin
14336 BF16 8 546.73 TP=8
14336 FP8 4 514.23 TP=4
14336 GPTQ-INT4 4 109.13 TP=4, GPTQ-Marlin
30720 BF16 8 979.41 TP=8
30720 FP8 4 887.90 TP=4
30720 GPTQ-INT4 4 198.99 TP=4, GPTQ-Marlin
63488 BF16 8 1493.91 TP=8
63488 FP8 4 1269.34 TP=4
63488 GPTQ-INT4 4 422.77 TP=4, GPTQ-Marlin
129042 BF16 8 1639.54 TP=8
129042 FP8 4 1319.66 TP=4
129042 GPTQ-INT4 4 552.28 TP=4, GPTQ-Marlin

표를 보면 양자화 모델이 메모리를 크게 줄이면서도 대체로 좋은 추론 속도를 유지한다는 것을 확인할 수 있어요. 특히 SGLang 백엔드에서 FP8과 AWQ-INT4 모델의 속도가 두드러집니다. 실제 배포 시에는 여러분의 하드웨어와 지연 시간 요구 사항에 맞춰 적절한 양자화 방식과 백엔드를 선택하세요.

더 알아보기 (Learn more)