
Qwen 35B는 평균 42W로 동작한다 — RTX 4070의 추론 중 소비 전력 프로파일 4가지 패턴 실측
요약
RTX 4070을 사용하여 Qwen 35B 모델을 로컬에서 추론할 때의 단계별 GPU 소비 전력을 실측했습니다. 분석 결과, 실제 토큰 생성(decode) 단계의 평균 소비 전력은 42W로, 일반적인 인식보다 훨씬 낮음을 확인했습니다.
핵심 포인트
- RTX 4070 기반 Qwen 35B 추론 시 decode 단계 평균 42W 소모
- Prompt-eval 단계에서 순간적인 피크 전력(175W) 발생
- LLM 추론 전력은 TGP가 아닌 실제 동작 페이즈별로 구분하여 측정해야 함
- 실측 결과 로컬 LLM의 24시간 가동 시 전기 요금 부담은 매우 낮음
먼저 결론부터 말씀드립니다.
RTX 4070으로 Qwen 35B를 구동할 때, decode(생성) 중의 GPU 소비 전력은 평균 42W였습니다.
TGP(Total Graphics Power)는 200W, 게이밍 평균은 205W, prompt-eval의 순간적인 피크는 175W까지 올라갑니다. 그것은 토큰 열을 계속 내뱉는 "정말로 동작하고 있는 시간"의 소비가 아닙니다. 저는 nvidia-smi + 와트 모니터(벽 콘센트 측)를 사용하여 idle / prompt-eval / decode / batch의 4가지 패턴을 측정하여 대조했습니다. 결과적으로 "LLM은 전기를 많이 먹는다"는 말은, 적어도 4070에서의 로컬 추론에는 해당하지 않습니다. 24시간 풀 가동해도 월 100엔대로 수렴하는 계산입니다.
동일한 장르 내에서 구분하여 작성할 필요가 있으므로, 위치를 명시합니다.
- "VRAM 12GB로 Qwen 35B를 구동하기": VRAM 분할·레이어 오프로드 (Layer Offload)
- "cpu-moe로 만족하지 마라: Qwen 35B를 더욱 빠르게 만드는 3가지 플래그 실측": 플래그 가속화
- "로컬 LLM의 체감 속도는 tok/s로 측정할 수 없다 — TTFT 실측": 체감 속도 분해
- "RTX 4070으로 로컬 LLM의 전기세를 24시간 계측": 24시간 누적 비용(엔)
본 기사: 추론 중의 GPU 와트 수 프로파일 (W 단위, 페이즈별)
측정하는 것은 누적 비용(kWh × 전기 요금 단가)이 아닙니다. "지금 이 순간 몇 W가 흐르고 있는가"를, 추론 페이즈(Phase)별로 나누어 측정합니다. 이 부분이 혼동되기 쉽습니다. 저도 처음에는 "TDP가 300W라면 300W × 24h = 7.2kWh/일"이라고 대략적으로 계산했습니다.
실측값은 그 1/7 이하였습니다.
GPU는 하나의 상태로만 존재하지 않습니다. LLM 추론에는 명확히 나눌 수 있는 페이즈가 있습니다.
| 페이즈 | 수행 내용 | GPU 부하 특성 |
|---|---|---|
| idle | 모델 로드 후 대기 | KV 캐시가 VRAM에 올라와 있을 뿐, 코어는 거의 휴식 |
| ... |
"LLM은 전기를 많이 먹는다"는 인상은 prompt-eval의 순간적인 피크나, GPU의 TGP(사양상의 상한)를 보고 판단하는 인상론인 경우가 많지만, 실제로 장시간 흐르는 전류는 decode 중의 값으로 결정됩니다.
재현 가능한 형태로 적어둡니다.
| 항목 | 값 |
|---|---|
| GPU | NVIDIA RTX 4070 12GB (GDDR6X, 504 GB/s, TGP 200W) |
| ... | |
nvidia-smi --query-gpu=power.draw를 1초 간격으로 샘플링 | |
| 반복 | llama-bench -r 3으로 3회, 표준 편차 포함 |
| 전기 요금 단가 | 27엔/kWh (2026년 관동 지역 평균·종량전등 B 가정) |
측정 방식은 이전에 쓴 책의 제4장 방침을 그대로 따랐습니다. 워밍업(Warm-up), 편차 기록, 기지의 베이스라인(Baseline)과의 병행, 포화된 척도를 의심하기 등 4가지 포인트입니다. 이 부분을 놓치면 숫자가 지저분해집니다. 번거롭더라도 지킵니다. nvidia-smi는 1초 간격으로 샘플링하여, 페이즈 경계(prompt 송신 / 첫 토큰 / 생성 완료)의 타임스탬프와 대조했습니다. 와트 모니터는 AC 입력이므로, GPU + CPU + 마더보드 + 전원 변환 손실을 모두 포함한 값입니다. 이 두 계통의 대조를 통해 GPU 단독 소비와 시스템 전체 소비 양쪽을 모두 낼 수 있습니다.
Qwen 35B (Q4_K_M)를 프롬프트 길이 2048로 실행했습니다. 페이즈별 소비 전력입니다.
| 페이즈 | GPU 전력(nvidia-smi) | 시스템 전체(와트 모니터) | 시간 |
|---|---|---|---|
| idle(모델 로드 후) | 15W ±2 | 92W ±3 | 정체 |
| ... |
놀라운 숫자는 decode의 42W였습니다.
TGP 200W인 4070을, "모델 35B 추론 중"에도 실질적으로 1/5 정도밖에 사용하지 못하고 있습니다. 그렇게 말할 수 있습니다. 이유는 메모리 대역폭 제한(Memory Bandwidth Bound) 때문입니다. decode는 1토큰씩 모델의 모든 파라미터를 VRAM에서 읽어들이는 처리로, 504 GB/s의 대역폭을 매 스텝 전부 훑는 형태가 됩니다. 연산 유닛은 대기 시간이 많습니다. 코어 전력은 올라가지 않습니다.
prompt-eval의 175W는 순간적인 피크(Peak)입니다. 프롬프트 전체를 한꺼번에 주의 메커니즘 (Attention Mechanism)에 통과시키는 병렬 처리로 인해 연산 유닛이 채워집니다. 다만, prompt-eval 시간은 「토큰 수 × 수 밀리초」이며, 생성이 시작되면 곧바로 42W 존으로 떨어집니다. batch decode가 68W까지 올라가는 이유는 여러 요청을 묶으면 각 스텝마다 연산량이 늘어나기 때문입니다. 개인 이용 가정(배치 1)이라면 42W를 예상해도 무방합니다.
decode 소비 전력은 프롬프트 길이에 거의 의존하지 않았습니다.
| 프롬프트 길이 | prompt-eval 피크(GPU) | decode 평균(GPU) | decode 시간(128tok) |
|---|---|---|---|
| 512 | 158W | 41W ±4 | 3.5초 |
| ... |
- prompt-eval 피크는 길수록 올라감 (연산량이 선형적으로 증가)
- decode 평균은 거의 일정함 (KV 캐시의 메모리 대역폭 읽기가 병목/Bottleneck)
- decode 시간도 미세하게 증가하는 수준 (생성 토큰 수가 동일한 128이므로, KV 사이즈가 약간 무거워지는 정도)
Attention 계산은 프롬프트 길이의 제곱에 비례하여 영향을 미칠 것이나, Q4_K_M 양자화 (Quantization) + Flash Attention이 활성화된 환경에서는 실측상 이 정도로 억제되었습니다.
동일한 「decode 평균」을 모델 사이즈를 바꿔가며 측정하면 어떨까요.
| 모델 | 사이즈 | decode 평균(GPU) | decode 평균(전체) | tok/s |
|---|---|---|---|---|
| Llama-3.1-8B-Instruct Q4_K_M | 4.9GB | 38W ±4 | 122W ±6 | 65.8 |
| Qwen2.5-32B-Instruct Q4_K_M | 19.8GB | 42W ±5 | 128W ±6 | 22.4 |
35B 모델도 8B와 거의 비슷한 decode 소비 전력을 보입니다. 35B는 tok/s가 1/3 정도입니다. 1토큰당 전력량은 35B가 3배 전후로 많다고 볼 수도 있습니다. 다만, 절대값 자체로는 큰 차이가 없습니다. 「35B는 전기를 많이 먹는다」라고 단정 짓기에는 성급합니다.
decode 평균을 기준으로, 계속 생성했을 때의 하루/한 달 비용을 계산합니다.
| 상태 | 평균 소비(전체) | kWh/일 | kWh/월 | 전기 요금/월 (27엔/kWh) |
|---|---|---|---|---|
| idle 상시 가동 | 92W | 2.21 | 66.2 | 1,787엔 |
| ... | ||||
| 「실제 이용」은 PC를 8시간 켜두고, 그중 30%의 시간 동안 실제로 추론을 수행한다(나머지는 편집, 사고, 대기 시간)고 가정합니다. 이 방식으로 사용하면 월 1,500엔 미만으로 35B 로컬 추론을 할 수 있습니다. 이는 Claude 3.5 Sonnet의 API 과금(제 하루 대략 100~300엔 수준의 이용 실적)보다 저렴한 범위입니다. |
하드웨어 원가를 제외한다면 말이죠.
nvidia-smi와 와트 모니터(Watt Monitor)의 차이가 「시스템 기타 컴포넌트 + 전원 변환 손실」에 부합하는지 확인했습니다.
| 페이즈 | GPU(nvidia-smi) | 전체(와트 모니터) | 차이 | 예상 내역 |
|---|---|---|---|---|
| idle | 15W | 92W | 77W | CPU idle 12W + 전원 등 45W + 변환 손실 20W |
| ... | ||||
| 부하가 높아지면 전원 효율이 올라갑니다 (85% → 92% 정도). 변환 손실은 반대로 줄어듭니다. 이러한 방향성은 전원 공급 장치(80 PLUS Gold 급)의 일반적인 사양과 일치하며, 실측값의 타당성을 뒷받침합니다. |
오차율은 3% 이내였습니다.
솔직하게 말씀드리겠습니다.
처음에는 nvidia-smi만 측정해서 「42W라면 별거 아니네」라고 말하려 했습니다. 그런데 와트 모니터로 벽 콘센트 쪽을 확인했습니다. 시스템 전체로 128W였습니다. CPU와 전원 변환 손실을 무시하면 GPU 전력만 따로 노는 것처럼 보입니다.
또 하나 있습니다. prompt-eval의 175W를 보고 「역시 LLM은 200W나 먹는구나」라고 성급하게 판단할 뻔했습니다. 이는 시간 축을 무시한 오독이었습니다. prompt-eval은 초 단위입니다. decode는 분 단위 이상 지속됩니다. 적분했을 때 지배적인 것은 decode의 42W입니다. 측정 방법론으로서 「순간적인 피크」와 「장시간의 평균」을 나누어 제시하는 것은 의외로 귀찮아지기 쉬운 부분입니다. 이 둘을 나누지 않으면 결론도 갈리게 됩니다.
- 노트북에서 4070 Laptop 추론: 배터리 소모량을 파악할 수 있습니다. Decode 시 42W라면, 80Wh 배터리로 단순 계산 시 1.9시간 동안 연속 생성이 가능합니다.
- 서버 통합: 4070 머신 3대를 콘센트 하나에 연결해도 피크 시 300~400W, 평상시에는 90W × 3 = 270W입니다. 150W 차단기(Breaker)로도 충분합니다.
- 오피스 배치: Idle 시 92W는 가정용 PC 수준이며, 게이밍 PC(Idle 100W+)보다 낮습니다.
- 심야 배치 작업 (Batch): 전력 사용 계약의 저렴한 시간대에 배치 처리를 돌리면, 월 비용이 500엔대까지 떨어질 가능성이 있습니다.
- API 과금과의 비교: 하드웨어 원가를 무시한다면, Claude API를 사용하는 것보다 전기 요금이 더 저렴합니다.
「전기 먹는 하마」라는 인상 때문에 도입을 포기했던 기업이나 개인에게 이 수치는 판단 근거가 될 것입니다.
- RTX 4070 (TGP 200W)은 Decode 중 평균 42W를 소비합니다. 게이밍 평균인 205W의 약 1/5 수준입니다.
- Prompt-eval 중에는 175W 피크가 발생하지만, 이는 초 단위의 일입니다. 전체적인 적분값(Integral)을 지배하는 것은 Decode입니다.
- 프롬프트 길이를 변경해도 Decode 전력은 거의 일정합니다 (41~44W). 메모리 대역폭 제한 (Memory Bandwidth Bound) 때문입니다.
- Qwen 35B와 Llama 8B의 Decode 전력은 거의 비슷합니다 (42W vs 38W). 차이는 tok/s (초당 토큰 수)에 있습니다.
- 24시간 실사용 가정 시 월 1,500엔 미만으로, 전기 요금 측면에서 로컬은 충분히 저렴합니다.
- nvidia-smi 단독 사용이 아니라 와트 모니터 (Watt Monitor)를 병행하여 오독을 방지합니다 (오차율 3% 이내로 일치).
「LLM은 전기를 많이 먹는다」는 것은 TGP 수치를 보고 판단한 인상론이었습니다.
직접 실측했습니다. 적어도 4070에서의 로컬 추론은 게이밍 용도보다 가벼운 전력 프로파일 (Power Profile)로 작동하고 있습니다. 하드웨어를 이미 보유하고 있는 사람이라면 추가 비용은 월 전기 요금 천 엔대 수준입니다. 전력 문제로 도입을 미루고 있는 분들은, 와트 모니터를 연결해 다시 한번 측정해 보시기 바랍니다. 벽 콘센트 쪽의 실측을 한 번만 거치는 것만으로도 인상론에서 베이스라인 (Baseline)으로 전환될 수 있습니다.
솔직하게, 이번 측정에서 다루지 못한 영역도 함께 나열해 둡니다. 이는 다음에 같은 주제로 글을 쓸 자신에게 남기는 인수인계이기도 합니다.
- 타 GPU (4090 / 3060 / A6000)와의 비교: 4070 이외의 실기기가 없으므로, TGP 차이에 따라 동일한 경향이 나타날지는 미검증 상태입니다. 특히 4090은 TGP 450W급으로, Decode 시에도 100W 전후를 사용할 가능성이 있습니다.
- 롱 컨텍스트 (Long Context, 32K 이상)의 KV 캐시 팽창: 이번에는 8192까지 측정했습니다. KV 캐시가 VRAM을 압박하는 영역에서는 Decode 전력도 서서히 상승할 것으로 예상됩니다.
- Speculative Decoding 활성화 시의 프로파일: Draft model과 Target model을 병행하면 연산량이 달라집니다. 이 부분은 별도의 글로 다루겠습니다.
「실측했습니다, 이상」으로 끝내지 않고, 다음에 측정해야 할 것을 언어화해 두는 것이 측정 방법론 (Measurement Etiquette)의 일부라고 생각합니다. 숫자는 한 번 나오면 변하지 않지만, 조건은 얼마든지 변할 수 있기 때문입니다.
RTX 4070으로 로컬 LLM을 완벽히 구동하기 위한 실무 노하우 (VRAM 설계, 양자화 (Quantization), 측정 방법론, 런타임 비교)를 Claude Code를 통한 운용까지 포함하여 정리해 두었습니다. 이번 소비 전력 프로파일 측정에 사용한 방법론도 여기에 정리되어 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기