본문으로 건너뛰기

TensorSharp와 llama.cpp의 GLM-5.2 추론 성능 비교

MoE 구조의 GLM-5.2에서 TensorSharp가 긴 프롬프트 처리와 큰 micro-batch 설정으로 llama.cpp를 앞섰습니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

TensorSharp와 llama.cpp를 3× RTX PRO 6000 Blackwell GPU에서 GLM-5.2-UD-IQ2_XXS로 비교한 결과, 짧은 prompt의 pp128에서는 llama.cpp가 276.5 t/s로 앞섰다. 그러나 pp2048에서는 TensorSharp가 기본 설정 918.9 t/s, ubatch=2048 설정 1145.8 t/s를 기록해 각각 20.4%, 50.2% 높은 처리량을 냈다. GLM-5.2의 256개 routed expert와 top-8 routing에서는 큰 micro-batch가 Expert별 GEMM padding을 줄여 GPU 활용률을 높이는 반면, 짧은 입력에서는 managed/native 전환과 154880 차원 logits 복사 비용이 커진다. Decode 성능은 TensorSharp가 약 4% 앞서 긴 prefill에서 가장 큰 차이가 나타났다.

주요 논점

01찬성다수

GLM-5.2의 MoE 구조에서는 큰 micro-batch가 각 Expert의 GEMM 타일을 더 잘 채우므로 긴 prompt에서 TensorSharp가 llama.cpp보다 높은 prefill 처리량을 기록했다는 입장입니다.

02중립소수

TensorSharp의 우위가 모든 입력 길이에 적용되는 것은 아닙니다. 짧은 prefill에서는 관리형 코드와 native 코드 사이의 전환, 입력 업로드, 대형 logits 복사 비용 때문에 llama.cpp가 더 빠르고, Decode 차이도 약 4%에 그쳤습니다.

합의점 vs 논쟁점

합의점

  • 동일한 장비와 모델을 사용한 비교에서 짧은 prefill과 긴 prefill의 성능 순위가 달라졌습니다. pp128에서는 llama.cpp가 앞섰지만 pp2048과 pp4096에서는 TensorSharp가 앞섰습니다. 이 교차점은 단일 평균 처리량만으로 엔진 성능을 판단하기 어렵게 만듭니다.
  • GLM-5.2의 256개 routed expert와 top-8 routing은 micro-batch 크기에 민감한 계산 패턴을 만듭니다. 512토큰 micro-batch에서는 Expert당 평균 약 16개 행만 처리해 GEMM padding이 발생하고, 더 큰 묶음에서는 GPU 활용률이 높아집니다.

실용적 조언

  • GLM-5.2처럼 MoE Expert 수가 많은 모델을 평가할 때는 pp128 같은 짧은 입력과 pp2048·pp4096 같은 긴 입력을 분리해 측정해야 합니다. TensorSharp에서는 ubatch=2048 설정을 별도로 시험해 긴 prefill에서 1145.8 t/s를 기록한 결과를 확인할 수 있습니다. 다만 실제 사용 패턴이 짧은 요청 중심이면 llama.cpp의 고정 비용 우위까지 함께 비교해야 합니다.

섹션별 상세

01
작성자는 동일한 장비와 세션에서 3× RTX PRO 6000 Blackwell GPU에 약 226 GiB 크기의 GLM-5.2-UD-IQ2_XXS를 분산하고, llama.cpp의 llama-bench와 TensorSharp의 benchmark harness로 두 추론 엔진을 비교했습니다. 두 번 반복한 결과 중 최고값을 사용했으며 실행별 편차는 약 4%였습니다. 짧은 prefill인 pp128에서는 llama.cpp가 276.5 t/s로 TensorSharp 기본 설정의 254.8 t/s와 ubatch=2048의 264.4 t/s보다 빨랐습니다.
02
TensorSharp는 입력이 길어질수록 처리량이 앞섰습니다. pp2048에서 기본 설정은 918.9 t/s로 llama.cpp의 763.1 t/s보다 20.4% 높았고, ubatch=2048은 1145.8 t/s로 50.2% 높았습니다. pp4096에서도 TensorSharp는 기본 설정 864.7 t/s와 ubatch=2048 1048.7 t/s를 기록해 llama.cpp의 715.8 t/s보다 각각 20.8%, 46.5% 앞섰습니다.
03
성능 교차점의 원인으로 GLM-5.2의 256개 routed expert와 top-8 routing이 거론됐습니다. 512토큰 micro-batch에서는 각 Expert에 평균 약 16개 행만 배정되어 GEMM 타일 일부가 padding으로 남지만, 더 큰 micro-batch는 Expert별 행 수를 늘려 GPU 활용률을 높입니다. 반대로 짧은 prefill에서는 managed/native 전환, 입력 업로드, 154880 차원 logits 복사 같은 고정 비용이 커져 llama.cpp가 유리해집니다.
04
Decode 성능에서는 tg64 기준 llama.cpp가 42.2 t/s, TensorSharp 기본 설정이 43.7 t/s, ubatch=2048이 43.9 t/s를 기록했습니다. 따라서 TensorSharp의 가장 큰 격차는 토큰을 길게 넣는 prefill 구간에서 발생했고, 토큰 생성 단계의 우위는 약 4%로 제한됐습니다. 같은 모델과 하드웨어라도 MoE 구조에서는 prompt 길이와 micro-batch 설정이 엔진 간 순위를 바꿀 수 있다는 결과입니다.

용어 해설

Mixture of Experts(MoE)
MoE는 하나의 큰 모델을 여러 Expert로 나누고 입력마다 일부 Expert만 선택해 계산하는 구조입니다. GLM-5.2에서는 256개 routed expert 중 top-8을 선택하므로, 토큰 묶음의 크기에 따라 각 Expert가 처리하는 행 수와 GPU 행렬 연산 효율이 달라집니다.
일반 행렬 곱셈(GEMM)
GEMM은 행렬 곱셈을 수행하는 GPU 연산으로, Transformer의 선형층과 Expert 계산에서 핵심 처리량을 좌우합니다. 각 Expert에 배정된 행이 적으면 GPU 연산 타일을 채우지 못한 padding이 늘어나 실제 하드웨어 활용률이 낮아집니다.
마이크로 배치(micro-batch)
micro-batch는 한 번에 GPU로 넘겨 처리하는 토큰 묶음의 크기입니다. TensorSharp의 ubatch=2048 설정처럼 묶음을 키우면 MoE Expert마다 더 많은 행을 모아 GEMM 타일을 채울 수 있지만, 짧은 입력에서는 고정 비용을 상쇄하지 못할 수 있습니다.
프리필(prefill)
prefill은 사용자가 입력한 프롬프트 전체를 먼저 병렬 처리해 다음 생성에 필요한 상태를 만드는 단계입니다. 이 단계의 pp128부터 pp4096까지 처리량을 비교한 결과, 입력 토큰이 약 1K를 넘으면 TensorSharp의 큰 micro-batch가 GPU 활용도를 높여 성능 우위를 만들었습니다.
로짓(logits)
logits는 모델이 다음 토큰 후보마다 계산한 원시 점수입니다. 이 비교에서는 154880 차원의 logits를 호스트 쪽으로 복사하는 비용이 짧은 prefill에서 전체 실행 시간의 큰 비중을 차지해 llama.cpp의 상대적 우위를 키웠습니다.

언급된 도구

TensorSharp추천

GGUF 모델을 실행하는 native .NET LLM inference engine이며 콘솔 애플리케이션과 웹 기반 chatbot 인터페이스를 제공합니다. 이 비교에서는 GLM-5.2 추론과 benchmark harness에 사용됐습니다.

llama.cpp중립

GGUF 모델 추론 성능을 비교한 기준 엔진입니다. llama-bench로 pp와 tg 처리량을 측정해 TensorSharp와 같은 장비에서 대조했습니다.

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 20.수집 2026. 08. 20.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.