네. 다만 5개 모델 × TP 1/2/4/8 × BF16/FP8/FP4 × context × concurrency를 전부 조합하면 수천 개 테스트가 되므로, B300 8-GPU POC에서는 1차 Full Matrix + 2차 Deep Matrix로 나누는 것이 좋습니다.
또한 MLPerf Inference에서도 Llama 3.1 8B는 Datacenter에서 Offline과 Server를 별도 시나리오로 다루므로, 단순히 tokens/sec 하나만 측정하기보다는 throughput 계열과 latency 계열을 분리하는 것이 좋습니다. (MLCommons)
제가 B300 8-GPU라면 다음처럼 구성하겠습니다.
B300 8-GPU
│
┌──────────────────┼──────────────────┐
│ │ │
MODEL PRECISION WORKLOAD
│ │ │
┌──────┼──────┐ BF16 / FP8 / FP4 Context
│ │ │ Concurrency
8B 32B 70B Prefill/Decode
│
┌─────┴─────┐
120B MoE 671B MoE
그리고 TP는 모델별로 무조건 1/2/4/8을 모두 돌리는 게 아니라, 모델 크기에 따라 의미 있는 TP를 선택합니다.
| Model | TP=1 | TP=2 | TP=4 | TP=8 | BF16 | FP8 | FP4 |
|---|---|---|---|---|---|---|---|
| Llama 3.1 8B | ★ | ★ | ○ | ○ | ★ | ★ | ★ |
| Qwen3 32B | ★ | ★ | ★ | ○ | ★ | ★ | ★ |
| Llama 3.1 70B | × | ★ | ★ | ★ | ★ | ★ | ★ |
| gpt-oss-120B | × | ★ | ★ | ★ | △ | ★ | ★ |
| DeepSeek-R1 671B | × | × | △ | ★ | ×/△ | △ | ★ |
범례:
여기서 중요한 것은 FP4를 모든 모델에 동일하게 적용한다고 생각하면 안 된다는 것입니다.
특히 gpt-oss-120B와 DeepSeek-R1은 모델의 quantization/inference implementation에 따라 실제 가능한 precision 조합이 달라집니다.
TP1 ★★★★★
TP2 ★★★
TP4 ★
TP8 ★
8B는 TP1에서 충분히 들어가므로 TP scaling 자체가 중요한 모델이 아닙니다.
오히려:
GPU 1개를 얼마나 효율적으로 쓰느냐
가 중요합니다.
따라서:
TP1
↓
latency
throughput
GPU utilization
power
TP2/4/8
↓
communication overhead
scaling efficiency
를 보는 용도입니다.
여기가 상당히 중요합니다.
TP1 ★
TP2 ★★
TP4 ★★★
TP8 ★
추천:
| Precision | TP |
|---|---|
| BF16 | 1/2/4 |
| FP8 | 1/2/4 |
| FP4 | 1/2/4 |
| 8-GPU scaling | TP8 일부 |
특히 Qwen3-32B는 TP1 vs TP2 vs TP4를 비교하기 좋습니다.
예를 들어:
TP1
32B → GPU 1
TP2
32B → GPU 2
TP4
32B → GPU 4
TP8
32B → GPU 8
이렇게 했을 때 단순 throughput뿐 아니라 GPU당 utilization과 inter-GPU communication overhead를 같이 보는 것이 중요합니다.
여기부터 B300 8-GPU의 본격적인 benchmark입니다.
TP2 ★★★
TP4 ★★★★★
TP8 ★★★★★
추천 matrix:
| Precision | TP2 | TP4 | TP8 |
|---|---|---|---|
| BF16 | ★ | ★ | ★ |
| FP8 | ★ | ★ | ★ |
| FP4 | ★ | ★ | ★ |
특히:
70B BF16 TP4
70B BF16 TP8
70B FP8 TP4
70B FP8 TP8
70B FP4 TP4
70B FP4 TP8
이 6개가 핵심 baseline입니다.
여기서 B300의 FP8/FP4 acceleration 효과를 상당히 명확하게 볼 수 있습니다.
이 모델은 조금 다르게 봐야 합니다.
MoE이기 때문에 단순히:
120B dense
처럼 해석하면 안 됩니다.
따라서:
| Precision | TP2 | TP4 | TP8 |
|---|---|---|---|
| BF16 | △ | △ | △ |
| FP8 | ★ | ★ | ★ |
| FP4 | ★ | ★ | ★ |
FP4를 핵심 configuration으로 잡는 것을 권장합니다.
그리고 이 모델은 특히:
reasoning OFF
reasoning ON
을 분리해서 보는 게 좋습니다.
왜냐하면 같은 model이라도 output token 수와 decode workload가 크게 달라질 수 있기 때문입니다.
여기는 별도의 stress test입니다.
원본 DeepSeek-R1은 671B total / 약 37B active의 MoE이기 때문에 앞의 8B/32B/70B와 동일한 benchmark로 취급하면 안 됩니다.
B300 8-GPU에서는:
TP8
│
├── FP4 ★★★★★
├── FP8 △
└── BF16 ×/△
를 기본으로 하고,
TP4는 가능한 quantized implementation이 있을 경우만 추가하는 방식이 좋습니다.
즉:
DeepSeek-R1의 목적은 "TP scaling 전체 곡선"보다 8-GPU에서 대형 reasoning model을 얼마나 처리할 수 있는가를 보는 것
으로 잡는 것이 좋습니다.
이 부분은 모든 모델에 동일하게 하지 않는 것이 중요합니다.
제가 권장하는 값은:
512
2K
8K
16K
32K
64K
128K
입니다.
다만 전체 모델 × 전체 context를 돌리면 너무 많습니다.
그래서 3단계로 나눕니다.
512
2K
8K
5개 모델 모두.
16K
32K
64K
32B / 70B / 120B / R1 중심.
128K
Qwen / Llama / 지원되는 모델 중심.
| Model | 512 | 2K | 8K | 16K | 32K | 64K | 128K |
|---|---|---|---|---|---|---|---|
| Llama 8B | ★ | ★ | ★ | ○ | ○ | △ | △ |
| Qwen 32B | ★ | ★ | ★ | ★ | ★ | ★ | ★ |
| Llama 70B | ★ | ★ | ★ | ★ | ★ | ★ | ★ |
| gpt-oss 120B | ★ | ★ | ★ | ★ | ★ | ★ | ○ |
| DeepSeek-R1 | ★ | ★ | ★ | ★ | ★ | ★ | ○ |
이렇게 하면 long-context에서 KV cache가 HBM을 얼마나 먹는지도 자연스럽게 드러납니다.
그리고 이것은 나중에 사용자가 관심 있는 MemKV/KV offload benchmark와 직접 연결됩니다.
Context만 바꾸면 안 됩니다.
제가 추천하는 기본 workload는:
input = 512 / 2K / 8K
output = 128
input = 2K / 8K / 32K
output = 512
input = 2K / 8K
output = 2K / 4K
input = 32K / 64K / 128K
output = 512
이렇게 분리합니다.
여기서도 모델마다 다르게 해야 합니다.
1
2
4
8
16
32
64
128
256
1
2
4
8
16
32
64
128
1
2
4
8
16
32
64
1
2
4
8
16
32
64
1
2
4
8
16
32
이렇게 해야 합니다.
특히 128/256 concurrency를 70B/R1에 억지로 넣을 필요가 없습니다.
메모리와 KV cache 때문에 saturation point가 훨씬 빨리 올 가능성이 높기 때문입니다.
목적:
"B300 한 요청의 순수 inference latency가 얼마나 빠른가?"
Concurrency = 1
Input:
512 / 2K / 8K / 32K
Output:
128 / 512
측정:
목적:
"B300 8-GPU가 동시에 얼마나 많은 token을 처리하는가?"
Concurrency:
1
2
4
8
16
32
64
128
측정:
Input tokens/sec
Output tokens/sec
Total tokens/sec
Request/sec
P50/P95/P99 latency
GPU utilization
HBM utilization
Power
이게 가장 중요한 benchmark입니다.
MLPerf의 Server/Offline 구분도 이런 throughput/latency trade-off를 분리해서 평가하기 때문에 이 구조가 좋습니다. (MLCommons)
이것은 B300에서 특히 중요합니다.
Context
8K
16K
32K
64K
128K
Concurrency
1
4
8
16
여기서:
TTFT
KV cache size
GPU HBM used
GPU HBM utilization
Prefill throughput
Decode throughput
을 봅니다.
결과가 예를 들어:
Context TTFT HBM
--------------------------------
8K 180ms 35GB
32K 720ms 58GB
64K 1.5s 75GB
128K OOM -
처럼 나오면 B300의 long-context capacity cliff를 정확히 볼 수 있습니다.
이게 B300 benchmark에서 상당히 중요합니다.
각 모델의 대표 configuration을 잡아서:
BF16
↓
FP8
↓
FP4
를 비교합니다.
예:
TP4 BF16
TP4 FP8
TP4 FP4
TP8 BF16
TP8 FP8
TP8 FP4
그리고 각각:
TTFT
TPOT
tokens/sec
GPU utilization
HBM
power
를 비교합니다.
결과적으로:
FP8 speedup = FP8 throughput / BF16 throughput
FP4 speedup = FP4 throughput / BF16 throughput
을 계산할 수 있습니다.
예를 들어 70B만 해도:
3 precision
×
3 TP
×
7 context
×
7 concurrency
=
441개
입니다.
5개 모델이면 바로 수천 개가 됩니다.
그래서 저는 2-pass 방식을 강하게 추천합니다.
먼저 아래만 합니다.
TP1
BF16 / FP8 / FP4
Context:
2K / 8K
Concurrency:
1 / 8 / 32 / 128
= 36 tests
TP1 / TP2 / TP4
BF16 / FP8 / FP4
Context:
2K / 8K / 32K
Concurrency:
1 / 8 / 32 / 64
= 108 tests
TP2 / TP4 / TP8
BF16 / FP8 / FP4
Context:
2K / 8K / 32K
Concurrency:
1 / 4 / 16 / 32
= 108 tests
TP2 / TP4 / TP8
FP8 / FP4
Context:
2K / 8K / 32K
Concurrency:
1 / 4 / 16 / 32
= 72 tests
TP8
FP4
Context:
2K / 8K / 32K
Concurrency:
1 / 4 / 8 / 16
= 12 tests
대략:
336개 configuration
이 정도면 상당히 현실적입니다.
Pass 1 결과를 보고 각 모델에서 대표 configuration 2~3개를 선택합니다.
예:
Llama 8B
TP1 FP8
Qwen 32B
TP2 FP8
TP4 FP8
Llama 70B
TP4 FP8
TP8 FP8
gpt-oss-120B
TP4 FP4
TP8 FP4
DeepSeek-R1
TP8 FP4
그 다음:
512
2K
8K
16K
32K
64K
128K
와
1
2
4
8
16
32
64
128
256
을 이용해서 saturation curve를 그립니다.
예를 들어 Llama 70B:
Throughput
│
TP1 ───────────────┤
TP2 ───────────────┤ █████████
TP4 ───────────────┤ █████████████████
TP8 ───────────────┤ █████████████████████
│
그리고 단순 throughput만 보면 안 되고:
Scaling Efficiency
TP2 = TP2 throughput / (TP1 throughput × 2)
TP4 = TP4 throughput / (TP1 throughput × 4)
TP8 = TP8 throughput / (TP1 throughput × 8)
를 계산합니다.
예를 들어:
TP1 = 100 tok/s
TP2 = 185 tok/s
TP4 = 330 tok/s
TP8 = 540 tok/s
라면:
TP2 efficiency = 92.5%
TP4 efficiency = 82.5%
TP8 efficiency = 67.5%
이런 식으로 B300 NVLink/NVSwitch + vLLM communication efficiency를 평가할 수 있습니다.
특히 8B/32B는:
1 GPU
에서 먼저 측정하고,
그 다음:
2 GPU
4 GPU
8 GPU
로 확장합니다.
반대로 70B 이상은:
TP2
TP4
TP8
중심으로 갑니다.
즉 전체 matrix를 그림으로 표현하면:
TP
1 2 4 8
───────────────────────────
8B █ △ △ △
32B █ █ █ △
70B - █ █ █
120B - █ █ █
R1 - - △ █
이것이 B300 8-GPU에서 가장 현실적인 matrix입니다.
최종적으로 CSV/Excel에는 최소한 다음 column을 넣으세요.
model
model_revision
precision
quantization
tensor_parallel
pipeline_parallel
input_tokens
output_tokens
context_length
concurrency
TTFT_avg
TTFT_p50
TTFT_p95
TTFT_p99
ITL_avg
ITL_p50
ITL_p95
ITL_p99
E2E_p50
E2E_p95
E2E_p99
input_tok_per_sec
output_tok_per_sec
total_tok_per_sec
request_per_sec
GPU_util_avg
GPU_util_p95
HBM_used_GB
HBM_util
power_W
prefill_tok_per_sec
decode_tok_per_sec
KV_cache_GB
KV_cache_hit
OOM
error_rate
TP_scaling_efficiency
그리고 vLLM version, CUDA, driver, NGC container, GPU firmware도 반드시 같이 기록해야 합니다.
5개 모델의 모든 조합을 돌리는 것과 별개로, 보고서의 대표 숫자를 만들 때는 아래 configuration을 고정 baseline으로 만드는 것을 권합니다.
| Model | Baseline |
|---|---|
| Llama 3.1 8B | TP1 / FP8 |
| Qwen3 32B | TP2 / FP8 |
| Llama 3.1 70B | TP4 / FP8 |
| gpt-oss-120B | TP8 / FP4 |
| DeepSeek-R1 | TP8 / FP4 |
그리고 모든 모델에 대해:
Input = 2K
Output = 512
Concurrency =
1
8
32
를 공통으로 돌립니다.
이렇게 하면 "B300 8-GPU에서 대표적인 5개 LLM을 동일 조건에서 돌렸을 때"라는 매우 깔끔한 baseline 표가 생깁니다.
그 다음에 별도로:
Long Context
Precision Scaling
TP Scaling
Max Throughput
Max Concurrency
를 파고들면 됩니다.
그리고 이 구조가 지금 진행하려는 MemKV 테스트에도 상당히 좋습니다. 먼저 이 baseline에서 TTFT / prefill / KV cache / HBM을 확보한 뒤, 동일 workload에서 GPU HBM KV → CPU RAM KV → MemKV로 바꾸면 MemKV의 실제 효과를 일반 inference 성능과 분리해서 증명할 수 있습니다.
==
네. 현재 목적이 “B300 8-GPU의 일반적인 LLM inference 성능을 폭넓게 측정”하는 것이라면 Qwen을 하나 추가하는 것을 권장합니다.
다만 Qwen을 여러 개 넣을 필요는 없고, Qwen3-32B 하나를 추가하는 것이 가장 실용적이라고 봅니다.
| 모델 | 규모 | 대략적인 BF16 weight 용량 | 테스트에서의 역할 |
|---|---|---|---|
| Llama 3.1 8B Instruct | 8B | ~16 GB | 소형/고처리량 baseline |
| Qwen3-32B | 32.8B | ~65–70 GB | 중형 모델 + thinking/non-thinking 비교 |
| Llama 3.1 70B Instruct | 71B | ~140–145 GB | 대형 dense 모델 대표 |
| gpt-oss-120b | 117B total / 5.1B active | 실제 배포는 MXFP4 중심 | MoE + reasoning/agentic |
| DeepSeek-R1 | 671B total / 37B active | FP/BF16 원본은 매우 큼 | 초대형 MoE reasoning |
Llama 3.1의 공식 모델 카드는 8B/70B/405B 모델을 제공하고 128K context를 지원한다고 명시합니다. (Hugging Face)
DeepSeek-R1은 671B total / 37B activated 구조입니다. (Hugging Face)
gpt-oss-120b는 117B parameters, 5.1B active parameters의 MoE이며 MXFP4로 80GB GPU 한 장에서도 실행하도록 설계되어 있습니다. (Hugging Face)
Qwen3-32B는 약 32.8B dense 모델이고 기본 32K context, YaRN으로 131K까지 확장할 수 있으며 thinking/non-thinking을 전환할 수 있습니다. (Hugging Face)
현재 4개 모델만 보면 약간의 중간 구간이 비어 있습니다.
8B
│
│ ← 큰 gap
│
70B
│
│
120B MoE
│
671B MoE
여기에 Qwen3-32B를 넣으면:
8B
│
32B ← 중간 규모 / 매우 중요한 실사용 영역
│
70B
│
120B MoE
│
671B MoE
특히 B300 성능 테스트에서는 32B가 상당히 유용한 구간입니다.
왜냐하면 8B는 너무 가벼워서 B300의 절대적인 성능을 충분히 압박하지 못할 수 있고, 70B 이상은 TP=4/8 등의 multi-GPU 구성이 중요해집니다.
반면 32B는:
따라서 B300 8-GPU의 general inference benchmark에는 상당히 좋은 중간 모델입니다.
여기서 한 가지 중요한 부분이 있습니다.
사용자가 말한 DeepSeek-R1을 그대로 671B 원본으로 테스트할 수도 있지만, B300 8-GPU POC라면 다음과 같이 나누는 것도 좋습니다.
DeepSeek-R1
│
├── Full R1 671B
│ → large-scale MoE / reasoning stress test
│
└── R1-Distill
├── Qwen-32B
├── Llama-70B
└── ...
DeepSeek 공식 repository에는 R1-Distill-Qwen-32B와 R1-Distill-Llama-70B 같은 모델도 같이 제공됩니다. (Hugging Face)
다만 benchmark의 모델 수를 늘리려는 목적이라면 저는 이것들을 추가하지 않겠습니다.
이미
Qwen3-32B
DeepSeek-R1
이 있기 때문에 Distill 모델까지 넣으면 테스트 matrix가 너무 커집니다.
| Tier | Model | 목적 |
|---|---|---|
| S | Llama 3.1 8B | high-throughput / low latency |
| M | Qwen3-32B | 중간 규모 / thinking vs non-thinking |
| L | Llama 3.1 70B | large dense |
| XL | gpt-oss-120b | MoE / agentic / reasoning |
| XXL | DeepSeek-R1 671B | extreme MoE / reasoning |
이렇게 하면 상당히 좋은 B300 inference capability spectrum이 됩니다.
특히 다음과 같이 보는 게 좋습니다.
B300 8-GPU
│
┌──────────────┼───────────────┐
│ │ │
Dense MoE Reasoning
│ │ │
8B → 32B → 70B 120B → 671B Qwen / R1 / gpt-oss
예를 들어
Qwen3-32B가 Llama 70B보다 tokens/sec가 빠르다
는 사실 자체는 당연할 수 있습니다. 모델 크기가 다르기 때문입니다.
오히려 B300 benchmark에서는:
를 모델별로 동일한 workload 조건에서 기록하는 것이 중요합니다.
여기서 실제 디스크 다운로드 용량 ≠ GPU HBM 요구량 ≠ inference 중 KV cache 용량입니다. 특히 B300에서 long-context 테스트를 하려면 KV cache가 상당히 중요합니다.
따라서 지금 단계에서는 Qwen3-32B를 추가하고 5개 모델로 확정하는 것을 추천합니다.
그리고 다음 단계에서는 이 5개를 대상으로 B300 8-GPU에서 TP=1/2/4/8 × BF16/FP8/FP4 × context length × concurrency를 어떻게 구성할지 benchmark matrix를 만드는 것이 좋습니다.
==
현재 MLPerf Inference의 datacenter 모델 목록에도 Llama 3.1 8B, DeepSeek-R1, GPT-OSS-120B가 포함되어 있습니다. 특히 2026년 8월 발표된 MLPerf의 E2E RAG benchmark도 GPT-OSS-120B + GPT-OSS-20B + Llama 3.1 8B 조합을 사용합니다. (MLCommons)
| 모델 | 일반 추론 성능 | 역할 | 추천 |
|---|---|---|---|
| Llama 3.1 8B Instruct | 매우 높음 | Small model / high concurrency | ★★★★★ |
| Llama 3.1 70B Instruct | 핵심 | Large dense model | ★★★★★ |
| DeepSeek-R1 | 핵심 | Reasoning | ★★★★★ |
| GPT-OSS-120B | 핵심 | 최신 MoE / reasoning | ★★★★★ |
즉 4개 모두 하는 게 좋습니다.
여기서 중요한 게 있습니다.
이건 사실상 표준 baseline 중 하나라고 봐도 됩니다.
MLPerf Inference에서도 Llama 3.1-8B를 datacenter Offline / Server 시나리오로 명시하고 있고, vLLM reference implementation도 제공합니다. (MLCommons)
따라서 B300의 기본 성능 검증에서는 반드시 넣는 게 좋습니다.
이건 대형 dense model 성능의 대표값으로 좋습니다.
8B만 돌리면 B300의 엄청난 compute capability를 충분히 활용하지 못할 수 있기 때문에,
8B → high throughput
70B → large-model inference
두 개를 같이 놓는 게 좋습니다.
특히 사용자 환경에서 실제 서비스 후보가 70B급이라면 70B를 메인 KPI 모델로 삼는 것이 좋습니다.
이건 일반 LLM throughput benchmark와 성격이 다릅니다.
R1에서는 단순히
input tokens/sec
output tokens/sec
만 보는 것보다
TTFT
ITL / TPOT
output tokens/sec
reasoning tokens
E2E latency
를 같이 봐야 합니다.
MLPerf의 현재 inference suite에도 DeepSeek-R1이 datacenter 모델로 들어가 있고, AIME, MATH500, GPQA, MMLU-Pro, LiveCodeBench 등의 reasoning/accuracy workload를 사용합니다. (MLCommons)
그래서 B300의 "Reasoning inference" 대표 모델로 넣는 게 좋습니다.
이건 저는 반드시 넣겠습니다.
특히 지금 시점의 benchmark라는 점에서 상당히 의미가 있습니다.
MLPerf의 최신 모델 목록에도 GPT-OSS-120B가 datacenter inference benchmark 모델로 포함되어 있습니다. (MLCommons)
더 재미있는 점은 최신 MLPerf E2E RAG benchmark가 실제로:
GPT-OSS-120B
↓
reasoning / query rewrite / final answer
GPT-OSS-20B
↓
document grading
Llama 3.1 8B
↓
judge
구성을 사용한다는 점입니다. (MLCommons)
따라서 3a가 앞으로 RAG/Agent 플랫폼으로 확장될 것을 고려하면 GPT-OSS-120B는 상당히 좋은 선택입니다.
목적:
B300의 raw/high-throughput inference capability
Input: 128 / 512 / 2K
Output: 128 / 512
Concurrency:
1
2
4
8
16
32
64
128
256
주요 결과:
Requests/sec
Output tokens/sec
TTFT
TPOT
P50/P95/P99
GPU utilization
이걸 3a의 메인 benchmark로 두겠습니다.
Input:
128
512
2K
8K
32K
64K
Output:
128
512
1K
그리고:
Concurrency:
1
2
4
8
16
32
여기서 B300 8GPU의 Tensor Parallel 성능을 보는 겁니다.
여기서는:
Input
Output
Reasoning tokens
TTFT
TPOT
E2E latency
를 모두 기록합니다.
그리고 reasoning workload와 일반 chat workload를 분리해야 합니다.
이것은:
standard generation
+
reasoning
+
long context
세 가지로 나누는 게 좋습니다.
특히 MoE이기 때문에 Llama 70B와 단순 parameter count로 성능을 비교하면 안 됩니다.
즉 결과표에서:
120B가 70B보다 빠르다/느리다
식으로 단순 비교하기보다는 모델별 workload에서 B300이 어떤 throughput/latency를 내는지를 기록하는 게 맞습니다.
예를 들어:
Case A
Input = 512
Output = 128
Case B
Input = 2K
Output = 512
Case C
Input = 8K
Output = 512
Case D
Input = 32K
Output = 512
Case E
Input = 64K
Output = 512
이렇게 해야 모델 간 비교가 의미가 있습니다.
특히 B300에서는 prefill-heavy와 decode-heavy를 분리해서 보는 것이 중요합니다.
Llama 3.1 8B
Llama 3.1 70B
512 → 128
2K → 512
8K → 512
Llama 3.1 70B
GPT-OSS-120B
DeepSeek-R1
8K
16K
32K
64K
128K
가능한 context까지.
Llama 3.1 8B
Llama 3.1 70B
GPT-OSS-120B
C = 1
2
4
8
16
32
64
128
그리고 여기서 throughput saturation point를 찾습니다.
이게 가장 깔끔합니다.
B300 Baseline
│
┌───────────────┼───────────────┐
│ │ │
8B 70B R1
│ │ │
└───────────────┼───────────────┘
│
GPT-OSS-120B
│
▼
┌────────────────┐
│ MemKV test │
│ │
│ 70B / R1 / │
│ GPT-OSS-120B │
└────────────────┘
즉 일반 추론 benchmark가 본체이고 MemKV는 별도의 optimization benchmark가 됩니다.
이렇게 하면 나중에 보고서에서:
B300 8-GPU inference baseline
과
B300 + external MemKV optimization
을 완전히 분리해서 설명할 수 있습니다.
지금 제시하신 Llama 3.1 8B + Llama 3.1 70B + DeepSeek-R1 + GPT-OSS-120B 4종을 그대로 사용하는 것이 좋습니다.
특히 현재 MLPerf Inference의 datacenter 모델 구성과도 상당히 잘 맞습니다. (MLCommons)
다만 "4개 모델 × 모든 조건"을 무작정 돌리지 말고, 8B는 high-throughput, 70B는 large dense, R1은 reasoning, GPT-OSS-120B는 MoE/agentic이라는 역할을 명확히 나눠서 benchmark matrix를 만드는 것이 중요합니다.
그리고 B300 8-GPU 한 대의 실제 성능 검증이 목적이라면, 저는 여기서 한 단계 더 나아가서 NVIDIA/MLPerf에서 사용하는 benchmark 방식에 최대한 맞춘 3a B300 표준 추론 성능 테스트 항목을 만들어보는 것을 추천합니다. 그러면 나중에 NVIDIA 공개 수치나 MLPerf 결과와도 어느 정도 비교 가능한 형태로 만들 수 있습니다.