
최신 AI 모델을 클라우드가 아닌 내 컴퓨터에서 직접 실행할 수 있다면 어떨까요?
Moonshot AI의 Kimi-K2-Thinking은 지식, 추론, 코딩, 에이전트 작업 등에서 최첨단(SOTA) 성능을 보여주는 모델로, 이제 로컬 환경에서도 실행이 가능합니다.
이 글에서는 Kimi-K2-Thinking 모델을 내 PC에서 직접 구동하는 방법과, 필요한 사양 및 설정을 단계별로 정리합니다.
1. 왜 로컬에서 AI 모델을 실행해야 할까?
AI 모델을 활용하려면 대부분 클라우드 서비스를 이용해야 합니다. 그러나 클라우드 기반 실행은 다음과 같은 한계를 가집니다.
- 사용량에 따라 늘어나는 비용 문제
- 데이터가 외부로 전송되는 보안 우려
- 인터넷 연결에 따른 지연(latency)
이러한 이유로 많은 개발자와 연구자들이 이제는 로컬 환경에서 대형 모델을 직접 돌리는 방향으로 옮겨가고 있습니다.
Kimi-K2-Thinking은 이런 흐름에 딱 맞는 모델입니다. Moonshot AI와 Unsloth 팀의 협업으로, 고정밀 연산을 유지하면서도 로컬 장비에서 충분히 실행 가능한 형태로 최적화되었습니다.
2. Kimi-K2-Thinking이란 무엇인가?
Kimi-K2 시리즈는 Moonshot AI가 개발한 대형 언어 모델(LLM)로, 일반 지식과 추론, 코딩 능력, 에이전트 태스크 수행에서 매우 높은 성능을 보입니다.
특히 Kimi-K2-Thinking은 내부적으로 더 깊은 ‘추론(thinking)’ 단계를 거치도록 설계되어, 단순 대화형 모델보다 사고력 중심의 응답을 생성합니다.
또한, 같은 계열의 Kimi-K2-Instruct 모델과 달리, ‘사고 중간 단계’를 노출하거나 내부적으로 활용하는 Thinking 모드가 활성화되어 있습니다.
3. 실행 전 확인해야 할 시스템 요구사항
로컬에서 모델을 실행하려면 모델 크기와 메모리 요구사항을 먼저 확인해야 합니다. Kimi-K2-Thinking은 매우 대형 모델이지만, 양자화(quantization) 를 통해 용량을 크게 줄일 수 있습니다.
| 양자화 버전 | 용량 | 특징 |
| UD-TQ1_0 (1.8bit) | 약 230~247GB | 속도는 다소 느리지만 1GPU로 실행 가능 |
| UD-Q2_K_XL (2bit) | 약 360GB | 정확도와 속도의 균형 |
| UD-Q4_K_XL (4.5bit) | 약 588GB | 고정밀, 높은 정확도 |
| 원본(full) | 약 1.09TB | 완전한 정밀도, 고사양 필요 |
최소 권장 사양:
- 디스크 공간: 247GB 이상
- RAM + VRAM 합계: 247GB 이상
- GPU 메모리: 24GB 이상 (MoE 레이어 CPU 오프로딩 시 가능)
RAM+VRAM이 부족해도 실행은 가능하지만 속도가 크게 저하됩니다.
예를 들어, 247GB가 확보되지 않으면 초당 1토큰 이하로 속도가 떨어질 수 있습니다.
이를 보완하기 위해 llama.cpp의 디스크 오프로딩 기능을 활용할 수 있습니다.
4. Kimi-K2-Thinking 로컬 실행 가이드 (llama.cpp 이용)
1단계. llama.cpp 설치
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-quantize llama-cli llama-gguf-split llama-mtmd-cli
cp llama.cpp/build/bin/llama-* llama.cpp
CUDA가 없는 경우 -DGGML_CUDA=OFF로 설정하면 CPU 전용으로 빌드됩니다.
2단계. 모델 다운로드
모델은 Hugging Face에서 바로 받을 수 있습니다.
# !pip install huggingface_hub hf_transfer
import os
os.environ["HF_HUB_ENABLE_HF_TRANSFER"] = "0"
from huggingface_hub import snapshot_download
snapshot_download(
repo_id = "unsloth/Kimi-K2-Thinking-GGUF",
local_dir = "unsloth/Kimi-K2-Thinking-GGUF",
allow_patterns = ["*UD-TQ1_0*"] # 또는 "*UD-Q2_K_XL*" 버전 선택 가능
)
다운로드 중 90~95%에서 멈춘다면 Unsloth 문서의 FAQ에서 해결 방법을 참고하세요.
3단계. 모델 실행
export LLAMA_CACHE="unsloth/Kimi-K2-Thinking-GGUF"
./llama.cpp/llama-cli \
-hf unsloth/Kimi-K2-Thinking-GGUF:UD-TQ1_0 \
--n-gpu-layers 99 \
--temp 1.0 \
--min-p 0.01 \
--ctx-size 16384 \
--seed 3407 \
-ot ".ffn_.*_exps.=CPU"
이 명령은 약 8GB의 GPU 메모리를 사용하며, 나머지 레이어는 CPU로 오프로딩합니다.
만약 GPU 메모리가 충분하다면 -ot ".ffn_.*_exps.=CPU" 옵션을 제거해 속도를 높일 수 있습니다.
4단계. 서버로 구동하기 (OpenAI API 호환)
./llama.cpp/llama-server \
--model unsloth/Kimi-K2-Thinking-GGUF/UD-TQ1_0/Kimi-K2-Thinking-UD-TQ1_0-00001-of-00006.gguf \
--alias "unsloth/Kimi-K2-Thinking" \
--threads -1 \
-fa on \
--n-gpu-layers 999 \
-ot ".ffn_.*_exps.=CPU" \
--min_p 0.01 \
--ctx-size 16384 \
--port 8001 \
--jinja
이후 OpenAI의 Python 클라이언트를 통해 아래처럼 호출할 수 있습니다.
from openai import OpenAI
openai_client = OpenAI(
base_url = "http://127.0.0.1:8001/v1",
api_key = "sk-no-key-required",
)
completion = openai_client.chat.completions.create(
model = "unsloth/Kimi-K2-Thinking",
messages = [{"role": "user", "content": "What is 2+2?"}],
)
print(completion.choices[0].message.content)
5. Thinking vs Instruct: 무엇이 다를까?
| 항목 | Kimi-K2-Thinking | Kimi-K2-Instruct |
| 목적 | 사고 및 추론 중심 | 지시(instruction) 중심 |
| 기본 온도(temperature) | 1.0 | 0.6 |
| 추천 설정 | min_p = 0.01, ctx = 98,304 | min_p = 0.01, ctx = 16,384 |
| 시스템 프롬프트 | “You are Kimi, an AI assistant created by Moonshot AI.” | “You are a helpful assistant.” |
Thinking 모델은 추론 능력 향상에 초점을 맞추고 있으며, 내부 사고 태그(<think>)를 활용합니다.
만약 해당 태그가 출력되지 않는다면 --special 옵션을 추가해야 합니다.
6. 성능과 최적화 팁
- RAM+VRAM 247GB 이상: 초당 5~10 tokens 생성
- RAM+VRAM 128GB 이하: 초당 1~2 tokens
- MoE 레이어 오프로딩: GPU 자원을 절약하면서 실행 가능
예를 들어, 다음과 같은 오프로딩 설정을 사용하면 GPU 부담을 조절할 수 있습니다.
- -ot ".ffn_(up|down)_exps.=CPU" : up/down projection 레이어만 CPU로 이동
- -ot ".ffn_.*_exps.=CPU" : 모든 MoE 레이어 CPU 오프로딩
이 옵션을 조정하며 자신의 GPU 메모리 용량에 맞게 최적화할 수 있습니다.
Kimi-K2-Thinking은 단순히 대형 언어 모델을 뛰어넘어, 인간 수준의 추론 과정을 흉내 내는 모델로 평가받고 있습니다.
이제 이러한 모델을 클라우드에 의존하지 않고, 자신의 장비에서 직접 실행하고 실험할 수 있다는 점이 매우 큰 변화입니다.
물론 높은 디스크 및 메모리 요구량이라는 현실적 제약은 있지만, 양자화 기술과 llama.cpp의 최적화 기능을 통해 접근성이 점점 높아지고 있습니다.
로컬 환경에서의 AI 실행은 단순한 실험 단계를 넘어, 개인 맞춤형 AI 구축의 출발점이 될 것입니다.
Kimi K2 Thinking: How to Run Locally | Unsloth Documentation
Guide on running Kimi-K2-Thinking and Kimi-K2 on your own local device!
docs.unsloth.ai

'인공지능' 카테고리의 다른 글
| 공간 지능: AI의 다음 개척지 - AI가 언어를 넘어 ‘세계’를 이해하기 시작하다 (0) | 2025.11.12 |
|---|---|
| AI Agent 보안을 위한 인증(Authentication)과 인가(Authorization) 완벽 가이드 (0) | 2025.11.12 |
| AI 시대, TypeScript의 부상: Anders Hejlsberg의 통찰 (0) | 2025.11.11 |
| AI에게 시니어 엔지니어처럼 생각하도록 가르치기― 계획 중심 AI 개발(Plan-Driven AI Development)의 등장 (0) | 2025.11.11 |
| HackGPT: AI가 주도하는 차세대 침투 테스트 플랫폼의 탄생 (0) | 2025.11.11 |