Gemma4 26b MoE를 노트북에서 가능한 한 저전력으로 구동하는 방법
요약
본 글은 Gemma4 26b MoE와 같은 대규모 언어 모델(LLM)을 저전력의 로우-미들 클래스 노트북에서 구동하는 전력 최적화 방법을 다룹니다. 과열과 소음을 방지하면서도 높은 성능을 유지하기 위해, Mixture of Experts(MoE) 구조를 활용하고 CPU/GPU 클럭 주파수를 제한하여 효율적인 구동 환경을 구축하는 것이 핵심입니다.
핵심 포인트
- Gemma4 26b MoE는 로우-미들 노트북에서도 작동 가능하지만 전력 관리가 필수적이다.
- MoE 방식을 사용하면 적은 GPU 메모리로도 대규모 모델 구동이 가능하다.
- CPU의 e core만 활용하고 코어 수를 제한하여 AI 백그라운드 구동에 최적화했다.
- Linux 환경에서 `cpupower`와 `taskset` 명령어를 사용하여 클럭 및 코어 사용을 정밀하게 제어한다.
로컬 AI 중 하나인 Gemma4 26b MoE를 로우-미들 클래스 노트북용 GPU로 구동했을 때의 전력 최적화에 대한 이야기입니다.
이 모델은 놀랍게도 로우-미들 클래스 노트북에서 작동할 수 있지만, 일반적인 방식으로 구동하면 과열🔥하고 엄청난 소음📢이 발생하며, 무릎 위 화상을 입어 보행에 지장을 줄 것이 확실합니다. 하지만 과열을 피하는 설정을 찾아냈습니다. 이 설정이라면 상당히 좋은 느낌으로 작동합니다.
다만 환경은 Linux입니다.
아는 분들은 넘어가 주세요.
Gemma4 26b MoE는 Google에서 만든 LLM의 로컬 모델입니다. 로컬 LLM은 ollama 같은 곳에서 구동할 수 있습니다. 여기에는 정확도가 낮고 계산량이 적은 것부터, 정확도는 높지만 계산량이 많은 것까지 다양합니다.
그렇다면 정확도와 속도를 모두 확보하려면 어떻게 해야 할까요?
거대한 모델의 일부만 상시 GPU에 올려 사용하고, 자주 사용하지 않는 것은 적절히 CPU에서 사용하는 방법이 있습니다.
이러한 방식을 Mixture of Experts(MoE)라고 합니다. 이를 통해 적은 GPU 메모리로도 경쾌하게 구동할 수 있게 됩니다.
Gemma4 26b는 그러한 모델 중 하나입니다.
성능은 높습니다. 예를 들어, 비록 벤치마크에 불과하지만, 아래 벤치마크에서는 gpt-oss 120b를 능가하고 있습니다.
이 로컬 AI를 일반 게이밍 노트북이나 크리에이터 PC에서 구동하면... 정말 과열되고 팬은 최대치의 슬픔에 잠깁니다. 그래서 성능을 유지하면서도 과열되지 않도록 전력을 줄이는 것이 본고의 주제입니다.
제 노트북의 성능을 보여드리겠습니다.
| 항목 | 부품 | 성능 |
|---|---|---|
| CPU | intel core i7 13700H | p core 6, e core 8 |
| ... | ||
| 이것으로 구동하는 것입니다. 어느 정도냐면... 여유롭습니다. |
왜 여유로운가요? 대규모 모델이라도 일부만 작동시키기 때문에 GPU 메모리가 8GB여도 괜찮기 때문입니다.
게이밍/크리에이터 노트북과 같은 비(非)AI PC의 경우, AI 성능은 높더라도 그 성능에 불필요한 부분이 있을 수 있습니다. 그리고 GPGPU에서 병목 현상은 종종 메모리 전송 속도인 경우가 많습니다. 저는 병렬 계산
다른 병목 현상이 있다면, 아무리 클럭 주파수를 높여도 소용이 없을 것이 아닌가요?
그렇다면 병목 현상에 딱 맞는 효율적인 클럭 주파수가 존재하는 것 아닐까요?
목표는 제 노트북에서...
최고의 LLM 성능을 내는 가장 낮은 CPU/GPU 클럭을 찾는 것입니다.
여기서 사용할 CPU는 e core만으로 합니다. 이유는 e core가 처리량(throughput)에 특화되어 있고, 코어 수를 확보할 수 있으며, AI가 작동하더라도 p core의 일상 사용을 방해하지 않기 때문입니다. AI는 백그라운드에서 구동합니다. 좋죠?
사전 관찰 결과, 이번 조건에서는 e core를 사용하는 양이 6코어를 넘지 않는다는 것을 알게 되었습니다. 그래서 CPU는 e core 6개 분량만 확보했습니다.
그 편이 백그라운드에서 AI를 구동한다는 조건에 가깝기도 하고요.
저는 Arch linux를 사용하고 있어서 쉽습니다. Windows나 Mac에서의 설정 방법은 모르니 전문가분들께 알려주시면 좋겠습니다. 저는 이렇게 합니다.
cpupower -c 14-19 frequency-set -u ○○MHz
여기서 -c 14-19는 사용하려는 코어를 지정합니다. 그리고 그 코어를 사용해서 프로그램을 실행하려면 다음과 같습니다.
taskset -c 14-19 ○○
여기서
taskset -c 14-19 ollama serve
이라고 하면 ollama가 사용하는 코어를 제한할 수 있습니다.
제 것은 nvidia라서, nvidia 고유의 설정이 되지만 대단한 건 아닙니다.
nvidia-smi -lgc $LOW/$HIGH
이렇게 하면 $LOW부터 $HIGH 사이로 유지됩니다. 이렇게 해서 GPU 클럭을 고정할 수 있습니다.
안타깝게도 저는 CPU 소비 전력을 측정하는 방법을 모르기 때문에, 이번에는 CPU의 소비 전력은 측정하지 못했습니다.
여기서 CPU와 GPU의 클럭을 설정했지만, CPU는 상한선만 정해둔 것이고 서멀 스로틀링(thermal throttling)은 정상적으로 일어나므로, 그 점에서는 정확한 값은 아닙니다. 목표 클럭이라고 생각해주세요.
위와 같이 GPU와 CPU 조건을 준비하고, 각각의 조건에서 ollama상의 gemma4 26b MoE에 질문했습니다. 두 번째 Token/Seconds 값을 측정했습니다.
프롬프트는 아래의 2가지입니다.
측정된 클럭 주파수는 다음과 같습니다.
- CPU Clock은 800~3600MHz를 400MHz 간격으로
- GPU Clock은 300~2400MHz를 300MHz 간격으로
길기 때문에 보고 싶으시면 펼쳐보세요.
코드는 임시로 사용한 코드입니다.
벤치마크 코드
from subprocess import run, PIPE
from time import sleep
import json
...
플롯 코드
from matplotlib import pyplot as plt
from pathlib import Path
import json
...
우선 Token/Seconds 결과입니다.
Hello의 경우
CPU에서 고클럭일 때는 도중에 써멀 스로틀링(thermal throttling)인지 클럭 저하가 관찰되었습니다.
CPU의 와트(W)를 측정하는 방법을 몰랐기 때문에 GPU의 와트를 측정했습니다.
'Hello' 같은 전문 지식이 필요 없는 대화든, 시그널 프로그래밍에 관한 주제든, 어쨌든 GPU와 CPU 클럭이 높은 쪽이 유리한 경향입니다. 당연하죠.
다만, 잘 봐주세요.
CPU 클럭이 2400~3600MHz일 경우, 오히려 3600MHz가 더 느린 결과가 나왔습니다. 이는 아마도 과열(爆熱)로 인해 클럭이 강제로 떨어진 것 때문이라고 생각합니다. 실제로 작동하는 동안 htop 화면을 봤는데 클럭이 들쑥날쑥했습니다. 겨울에 했으면 또 달랐을지도 모릅니다?
그리고 CPU가 2400MHz, GPU가 1200MHz~1500MHz 이후부터는 성능 증가가 플래토(plateau)에 도달하고 있습니다. 아마도 메모리 전송 속도 등이 병목 현상(bottleneck)이 되고 있는 것 같습니다.
그리고 와트를 보면 9001500MHz에서 와트가 가장 강력합니다. 이 부분은 CPU가 고려되지 않았기 때문에 그다지 의미 있는 수치는 아닐 수도 있지만, 그래도 성능 증가가 플래토에 도달하는 1200MHz1500MHz에서 좋은 것이 좋습니다.
아니, 2100MHz 이상의 풀 파워로 돌려도 별로 의미가 없다는 것을 알게 됩니다.
그리고 CPU 클럭을 2800MHz 이상으로 올리면 엄청 시끄럽습니다.
이 컴퓨터는 GPU 메모리가 8GB밖에 안 되는데 25 Token/Seconds로 출력이 되고 있었습니다. 물론, chatgpt 같은 클라우드에는 미치지 못하지만, 사용 방식에 따라 다르다고 생각합니다.
기본적으로 실력 자체는 클라우드의 프론티어 모델(frontier model)에 크게 뒤처지지만, 외부에 노출하고 싶지 않은 정보를 처리할 경우에는 실용 범위 내라고 생각합니다.
- AI의 성능은 풀 파워를 낼 수 있으면 좋은 것이 아니다.
- 써멀 스로틀링을 유발하는 설정은 오히려 성능을 저하시킨다.
- Gemma4 26b MoE는 개인 PC에서 백그라운드에서도 구동할 수 있다.
- 적절한 설정으로 과열과 소음을 피하면서 충분한 성능을 낼 수 있다.
게이밍 노트북에서도 뜨거워지지 않는 로컬 AI에 대한 고찰이었습니다.
AI는 가볍게 사용할 수 있으면 좋잖아요.
저는 클럭을 낮춰서 운영하려고 생각했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기