TL;DR
wgpu-llm은 Rust 언어와 WGSL 셰이더를 기반으로 바닥부터 설계된 초경량 Llama 추론 엔진이다. CUDA나 Python, 대규모 프레임워크에 의존하지 않고 wgpu 라이브러리를 통해 Windows, macOS, Linux의 다양한 GPU 하드웨어를 직접 제어한다. 특히 Snapdragon X Elite와 같은 최신 노트북의 Adreno GPU에서도 하드웨어 가속을 지원하여 기존 도구들이 CPU에만 의존하던 문제를 해결했다. TinyLlama 1.1B 모델 기준 RTX 3090에서 66 tok/s 이상의 성능을 기록하며, 모든 Transformer 연산이 독립적인 WGSL 셰이더로 구현되어 교육적 가치와 확장성이 높다.
배경
Rust 및 Cargo 설치, Vulkan, Metal 또는 DX12를 지원하는 GPU 하드웨어, 기본적인 Transformer 아키텍처에 대한 이해
대상 독자
로컬 LLM 추론 최적화에 관심 있는 Rust 개발자 및 비 NVIDIA 하드웨어 사용자
의미 / 영향
이 프로젝트는 특정 벤더(NVIDIA)의 독점 라이브러리에 의존하지 않고도 고성능 LLM 추론이 가능함을 보여줍니다. 특히 모바일 및 통합 GPU 환경에서의 AI 활용 가능성을 넓혀 로컬 AI 생태계의 하드웨어 파편화 문제를 해결하는 데 기여할 수 있습니다.
섹션별 상세

wgpu-llm --model-dir /path/to/model --prompt "The overarching philosophy of stoicism teaches us" --max-tokens 256 --f16-weights설치된 wgpu-llm 엔진을 사용하여 특정 모델 경로와 프롬프트로 추론을 실행하는 예시
python scripts/quantize_int8.py /path/to/model /path/to/model-int8 --block-size 64제공된 파이썬 스크립트를 사용하여 모델 가중치를 INT8 형식으로 양자화하는 과정
- RTX 3090(Vulkan) 환경에서 TinyLlama 1.1B 모델로 66 tok/s 이상의 성능을 기록했다. — Benchmarks 섹션의 표 데이터
- INT8 양자화 모드를 사용할 경우 VRAM 사용량을 약 2배 절감할 수 있다. — INT8 mode 설명 문단 및 Benchmarks 표
용어 해설
- WGSL
- — WebGPU 표준을 위해 설계된 프로그래밍 언어로, GPU에서 실행되는 계산 셰이더를 작성하는 데 사용된다. 이 프로젝트에서는 CUDA나 Python 없이도 다양한 하드웨어 가속을 가능하게 하는 핵심 기술로 활용된다.
- KV Cache
- — Transformer 모델의 추론 과정에서 이전 토큰들의 계산 결과(Key, Value)를 저장해두는 메모리 영역이다. 매번 처음부터 다시 계산하지 않고 저장된 값을 재사용함으로써 생성 속도를 비약적으로 높여준다.
- Quantization
- — 모델의 가중치를 정밀도가 낮은 데이터 타입(예: f16에서 INT8)으로 변환하여 메모리 사용량을 줄이는 기법이다. 이 엔진은 INT8 양자화를 통해 VRAM 사용량을 약 2배 절감하면서도 성능을 유지한다.
- Vulkan
- — 고성능 그래픽 및 계산을 위한 크로스 플랫폼 API이다. 이 엔진은 Vulkan을 지원함으로써 NVIDIA GPU뿐만 아니라 모바일 GPU인 Adreno 등에서도 하드웨어 가속을 가능하게 한다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.