본문으로 건너뛰기

DSpark로 Qwen3-8B 생성 속도 높이기

DSpark가 같은 GPU에서 Qwen3-8B 생성 속도를 95.0에서 124.9 tokens/s로 높였습니다.

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

TL;DR

로컬 LLM 추론에서는 양자화와 최적화된 커널 외에도 추가 GPU 없이 생성 속도를 높이는 Speculative Decoding이 활용됩니다. DSpark는 병렬적으로 후보 토큰을 만들면서 앞선 예측 정보를 뒤쪽 토큰에 전달하는 가벼운 순차 구성 요소를 결합하고, 낮은 신뢰도의 후보를 검증 전에 버립니다. Qwen3-8B와 llama.cpp를 사용한 실험에서 생성 속도는 기준 95.0 tokens/s에서 DSpark 적용 후 124.9 tokens/s로 올라 1.31배, 약 31.5% 향상됐습니다. 다만 호환 가능한 draft model이 적고 llama.cpp 지원이 새로워서 현재는 MTP보다 적용 범위가 좁습니다.

섹션별 상세

01
로컬 LLM의 생성 속도를 높이려면 모델을 추가로 배치하는 대신 기존 GPU의 계산 효율을 개선할 수 있습니다. 글에서는 Quantization, optimized kernels, inference engines와 함께 Speculative Decoding을 비교하며, 이 방식이 target model의 토큰을 매번 순차적으로 계산하는 부담을 줄이는 구조라고 설명합니다. 여러 GPU를 추가하지 않고 자동회귀 생성 속도를 높인다는 점이 실험의 출발점입니다.
bash
apt-get update
apt-get install -y git cmake build-essential

llama.cpp를 소스에서 빌드하기 전에 Git, CMake, C++ 빌드 도구를 설치합니다.

bash
cd /workspace
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF \
-DGGML_CUDA=ON
cmake --build llama.cpp/build \
--config Release \
-j \
--clean-first \
--target llama-cli llama-mtmd-cli llama-server llama-gguf-split

llama.cpp를 내려받고 CUDA 지원을 활성화한 Release 빌드로 실행 파일을 생성합니다.

DSpark를 끈 경우에는 target model이 프롬프트를 받은 뒤 토큰을 하나씩 생성하는 흐름이 나타나고, DSpark를 켠 경우에는 draft model이 여러 후보를 만든 뒤 Scheduler가 일부 후보를 제거하고 target model이 남은 후보를 병렬 검증하는 구조가 나타납니다.
Diagram이 다이어그램은 일반적인 자동회귀 생성과 DSpark 추측 디코딩의 처리 순서를 나란히 비교합니다. DSpark 경로에서는 E, F, G 같은 후보를 함께 검증하고 통과한 토큰을 유지하는 반면, 신뢰도가 낮은 H는 Drop 처리하며, 글에서 설명한 병렬 초안 생성과 선택적 검증의 관계를 시각적으로 연결합니다.
02
기존 Speculative Decoding은 작은 draft model이 후보 토큰을 만들고 큰 target model이 이를 검증하는 흐름을 사용합니다. DSpark는 여러 토큰을 병렬로 초안 생성하는 backbone에 가벼운 순차 구성 요소를 더해 앞선 예측이 뒤쪽 draft position에 반영되도록 합니다. 후보 토큰의 생존 가능성도 추정해 신뢰도가 낮은 블록 일부를 제거하므로, 검증에 쓸 계산을 줄이는 방향으로 작동합니다.
bash
./build/bin/llama-cli \
-m /workspace/models/Qwen3-8B-Q4_K_M.gguf \
-ngl all \
-fa on \
--temp 0 \
--top-k 1 \
-n 512 \
-st \
-p "Write a complete Python implementation of merge sort. Explain how it works and include its time and space complexity. /no_think"

DSpark를 끈 상태에서 Qwen3-8B의 기준 생성 속도를 측정합니다.

Qwen3-8B baseline 실행 결과로 Prompt 속도 294.6 t/s와 Generation 속도 95.0 t/s가 터미널에 표시됩니다.
Screenshot이 스크린샷은 DSpark를 사용하지 않은 기준 측정값을 담고 있습니다. 글은 이 중 Generation 95.0 t/s를 DSpark 적용 결과와 비교해 생성 처리량 향상을 계산합니다.
03
실험은 CUDA 지원으로 빌드한 llama.cpp에서 Qwen3-8B-Q4_K_M.gguf를 target model로 사용하고 dspark-Qwen3-8B-Q8_0.gguf를 matching draft model로 연결하는 방식으로 구성됩니다. 두 실행 모두 동일한 프롬프트, 512토큰 제한, --temp 0, --top-k 1, GPU offload, Flash Attention을 사용해 비교 조건을 맞춥니다. DSpark 실행에서는 --spec-type draft-dspark와 --spec-draft-n-max 3으로 한 번에 최대 세 토큰을 초안 생성합니다.
bash
./build/bin/llama-cli \
-m /workspace/models/Qwen3-8B-Q4_K_M.gguf \
-md /workspace/models/dspark-Qwen3-8B-Q8_0.gguf \
--spec-type draft-dspark \
--spec-draft-n-max 3 \
-ngl all \
-ngld all \
-fa on \
--temp 0 \
--top-k 1 \
-n 512 \
-st \
-p "Write a complete Python implementation of merge sort. Explain how it works and include its time and space complexity. /no_think"

동일한 target model과 프롬프트에 DSpark draft model을 연결해 추측 디코딩 속도를 측정합니다.

DSpark 실행 결과로 Prompt 속도 88.0 t/s와 Generation 속도 124.9 t/s가 터미널에 표시됩니다.
Screenshot이 스크린샷은 동일한 Qwen3-8B 실행에 DSpark draft model을 연결한 뒤의 측정값입니다. Generation 속도가 baseline의 95.0 t/s에서 124.9 t/s로 상승한 결과가 직접 나타나며, 글의 1.31배 및 약 31.5% 향상 계산의 근거가 됩니다.
04
기준 실행의 생성 속도는 95.0 tokens/s였고 DSpark를 적용하면 124.9 tokens/s로 측정됐습니다. 이에 따라 생성 처리량은 1.31배, 약 31.5% 높아졌지만 DSpark 실행의 prompt speed는 294.6 t/s에서 88.0 t/s로 낮아졌습니다. 글은 긴 응답을 생성하는 작업에서 토큰 생성 처리량 상승이 전체 추론 시간에 더 큰 영향을 줄 수 있다고 평가합니다.
05
DSpark는 DeepSeek가 보고한 DeepSeek-V4 환경의 이전 MTP-1 production baseline 대비 사용자별 생성 속도 60–85% 향상 수치와 구분해 이해해야 합니다. 글의 로컬 Qwen3-8B 실험 결과는 31.5% 향상으로, 대규모 배포 결과를 소형 로컬 모델에 그대로 적용하지 않습니다. 저자는 현재 호환 draft model 수가 적고 llama.cpp 지원도 비교적 새로워 버그나 불안정성이 생길 수 있으므로, 실험적 선택으로는 의미가 있지만 폭넓은 로컬 추론에는 MTP가 더 실용적이라고 판단합니다.

용어 해설

추측 디코딩(Speculative Decoding)
추측 디코딩은 작은 draft model이 다음 토큰을 먼저 여러 개 생성하고, target model이 이를 한 번에 검증하는 추론 최적화 기법입니다. 검증에 통과한 토큰을 재사용해 target model의 순차적 계산 횟수를 줄이며, 추가 GPU 없이 토큰 생성 속도를 높이는 데 목적이 있습니다.
다중 토큰 예측(Multi-Token Prediction)
Multi-Token Prediction은 한 번의 계산에서 여러 미래 토큰을 예측해 자동회귀 생성의 순차 처리 부담을 줄이는 방식입니다. 글에서는 MTP가 추측 디코딩에 활용되는 기존 접근으로 소개되며, DSpark와 비교되는 실용적인 대안으로 제시됩니다.
초안 모델(Draft Model)
Draft model은 target model이 최종 출력을 만들기 전에 후보 토큰을 빠르게 생성하는 보조 모델입니다. DSpark 실험에서는 dspark-Qwen3-8B-Q8_0.gguf가 초안 모델로 사용되고, target model인 Qwen3-8B가 후보 토큰을 검증합니다.
GGUF 모델 형식(GGUF)
GGUF는 llama.cpp에서 로컬 모델을 실행할 때 사용하는 모델 파일 형식입니다. 실험에서는 Qwen3-8B-Q4_K_M.gguf를 target model로, dspark-Qwen3-8B-Q8_0.gguf를 DSpark draft model로 내려받아 CUDA 기반 추론에 사용합니다.
Flash Attention
Flash Attention은 Attention 계산의 메모리 접근과 처리 과정을 최적화하는 추론 기능입니다. 이 실험에서는 baseline과 DSpark 실행 모두에서 -fa on 옵션으로 활성화해 speculative decoding의 속도 변화만 비교하도록 조건을 맞춥니다.

기술

  • DSpark
  • Qwen3-8B
  • llama.cpp
  • CUDA
  • Hugging Face CLI
  • GGUF
  • Flash Attention
  • MTP
  • Medusa
  • EAGLE
  • DFlash

활용 사례

  • 단일 GPU에서 실행하는 로컬 LLM 추론
  • 긴 응답을 생성하는 코드 생성 작업
  • 추가 GPU 없이 토큰 생성 처리량을 높이는 실험
  • llama.cpp 기반 Qwen3-8B 서비스

언급된 리소스

AI 분석 전체 내용 보기

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

출처 · 인용 안내

원문 발행 2026. 08. 31.수집 2026. 08. 31.출처 타입 RSS

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