모델별 실행 레시피
최종 업데이트
Qwen3.8 27B를 7.89GB로? Saluki 설치와 8GB GPU 실행 조건
작은 모델로 바꾸기 전에, 27B 모델의 파일 용량을 줄이는 선택지도 있어요.
Underdog Saluki 27B 1.0은 Qwen3.8-27B를 약 2비트 혼합 양자화1로 압축한 언어 모델이에요. 7.89GB GGUF2 파일을 llama.cpp에 불러오면 내 컴퓨터에서 질문에 답하고, 연결한 앱에 답변을 전달할 수 있어요. 모델 파일 외에 대화 저장 공간도 필요하므로, 처음에는 짧은 문맥으로 실행한 뒤 메모리 여유를 확인하며 늘려보세요.
Saluki는 Qwen3.8 27B를 작게 담은 모델이에요
Qwen3.8-27B를 써보고 싶은데 메모리 때문에 작은 모델만 고르고 있었다면 Saluki가 또 다른 선택지가 될 수 있어요. 파라미터 270억 개는 유지하면서 가중치를 저장하는 데 쓰는 비트를 줄였어요. 내려받을 파일은 7.89GB이고, 형식은 여러 로컬 실행 프로그램3이 읽을 수 있는 GGUF예요.
여기서는 llama.cpp로 모델을 불러오고, 내 컴퓨터의 8080 포트에서 질문을 받는 서버를 만들어요. 서버가 준비되면 웹 채팅이나 OpenAI 호환 앱을 연결할 수 있어요. Saluki의 가중치는 Apache 2.0으로 공개돼 있어 개인 작업뿐 아니라 라이선스 조건을 지키는 서비스에도 활용할 수 있어요.

8GB GPU에서는 대화 공간까지 계산하세요
파일이 7.89GB라면 8GB 그래픽카드에 딱 들어갈 것 같지만, 실행할 때는 모델 외에도 공간을 써요. 질문과 답변을 기억하는 KV 캐시4, 계산 중간 결과, 화면을 표시하는 프로그램이 같은 GPU5 메모리를 나눠 씁니다. 처음부터 긴 문서를 넣으면 이 공간이 먼저 부족해질 수 있어요.
아래 실행 예시는 문맥을 4,096토큰6으로 제한하고 GPU 적재량을 자동으로 정해요. GPU에 담지 못한 부분은 시스템 RAM7에서 처리할 수 있어요. 이때 RAM에는 모델과 운영체제가 함께 쓸 여유가 필요해요. 이미 가진 8GB GPU에서 시작해 작업 관리자나 활동 모니터에서 RAM·GPU 메모리 사용량과 첫 답까지 걸리는 시간도 살펴봐요.
Apple Silicon Mac에서는 CPU8와 GPU가 통합 메모리9를 함께 써요. 다른 앱을 닫고 짧은 질문부터 시작하면 현재 Mac의 여유를 파악하기 쉬워요. 대화 길이를 늘렸을 때 스왑 사용이 급증하거나 답변이 느려지면 문맥을 줄이는 편이 낫어요.

모델을 받을 폴더부터 준비해요
Mac과 Linux에서는 Python 3와 Git, CMake를 준비하세요. Mac은 Xcode 명령줄 도구도 필요해요. 이미 Homebrew를 쓰고 있다면 brew install git cmake로 빌드 도구를 설치할 수 있고, Xcode 도구는 xcode-select --install을 실행해 설치 화면에서 진행하면 돼요.
아래 명령은 saluki-local 폴더 안에 Python 가상환경10을 만들고 모델 파일을 models에 저장해요. 모델만으로 약 8GB를 내려받고, 실행 프로그램과 임시 파일도 생기므로 저장 공간을 넉넉히 남겨두세요. 이후 명령도 같은 saluki-local 폴더에서 이어서 실행해요.
mkdir -p saluki-local
cd saluki-local
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U huggingface_hub
hf download ConwayResearch/Underdog-Saluki-27B-1.0 Underdog-Saluki-27B-1.0-IQ2-mix.gguf --local-dir modelsMac은 Metal, NVIDIA는 CUDA로 실행해요
llama.cpp를 받으면 내 장비에 맞는 실행 프로그램을 만들 수 있어요. Mac 빌드는 기본으로 Metal11 GPU를 사용해요. 아래 Mac 명령을 실행한 뒤 llama.cpp/build/bin/llama-server가 생겼으면 서버를 시작할 준비가 끝난 거예요.
NVIDIA GPU를 쓰는 Linux PC에서는 드라이버와 CUDA12 Toolkit을 설치한 뒤 CUDA 빌드 명령을 선택하세요. Mac용 빌드와 둘 다 실행할 필요는 없어요. nvidia-smi에서 GPU가 보이고 nvcc --version에서 Toolkit 버전이 나오면 빌드를 시작할 수 있어요.
Windows에서는 llama.cpp 릴리스의 CUDA 빌드 압축 파일을 받아 풀고, PowerShell에서 llama-server.exe를 실행할 수 있어요. 아래 서버 명령의 실행 파일 경로만 바꿔 사용하세요. 직접 빌드하려면 Visual Studio의 C++ 개발 도구와 CUDA Toolkit을 함께 준비해야 해요.
git clone https://github.com/ggml-org/llama.cpp.git
cmake -S llama.cpp -B llama.cpp/build
cmake --build llama.cpp/build --config Release --target llama-server -j 4git clone https://github.com/ggml-org/llama.cpp.git
cmake -S llama.cpp -B llama.cpp/build -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release --target llama-server -j 4서버를 켜고 첫 질문을 보내세요
첫 번째 터미널에서 서버를 켜세요. 모델을 읽는 동안은 기다리고, 로컬 주소에서 대기한다는 로그가 나오면 두 번째 터미널을 열어요. /health가 정상 상태를 돌려주면 아래 질문을 보낼 수 있어요. 주소는 127.0.0.1로 두어 현재 컴퓨터에서만 연결해요.
짧은 설치 확인에서는 사고 과정을 끄고 답변을 바로 받도록 했어요. JSON의 choices[0].message.content에 문장이 돌아오면 실행이 된 거예요. 그다음 질문만 바꿔 평소 요약하던 문서 일부를 넣어보세요. 긴 추론이 필요한 작업은 enable_thinking을 true로 바꾸고 출력 한도도 넉넉히 늘려요.
./llama.cpp/build/bin/llama-server -m models/Underdog-Saluki-27B-1.0-IQ2-mix.gguf --alias saluki27b --jinja -ngl auto -fa on -c 4096 --host 127.0.0.1 --port 8080curl -sS http://127.0.0.1:8080/health
curl -sS http://127.0.0.1:8080/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{"model":"saluki27b","messages":[{"role":"user","content":"Explain local AI in two sentences."}],"max_tokens":128,"temperature":0,"chat_template_kwargs":{"enable_thinking":false}}'도구 호출과 수학 문제는 따로 시험하세요
Saluki를 문서 요약뿐 아니라 에이전트에 붙이려면, 답변 문장과 도구 호출13을 나눠 시험하는 게 좋아요. 도구 호출은 모델이 필요한 함수 이름과 인자를 선택하는 작업이에요. 예를 들어 메모 검색 함수에 검색어를 전달하고, 앱이 가져온 결과를 받아 다음 답변을 만들 수 있어요.
개발사의 120개 도구 호출 과제에서는 Saluki가 88개, 원본 Qwen3.8-27B가 84개를 통과했어요. 다만 복잡한 수학 추론을 주로 한다면 용량 절감과 함께 풀이 품질도 비교해보세요. Saluki의 AIME 2025 점수는 79.2였고, 비교 대상으로 제시한 원본의 공개 점수는 96.7이었어요.
| 모델 | 통과한 과제 |
|---|---|
| Underdog Saluki 27B 1.0 | 88 / 120 |
| Qwen3.8-27B | 84 / 120 |
개발사 평가 · 도구 호출: UnderdogBench 120개, thinking off, temperature 0. AIME 2025: Saluki 평균@4, 원본은 공개 참고 점수로 평가 환경이 다릅니다.
처음 연결할 때는 파일 삭제나 결제 대신 읽기 전용 메모 검색처럼 되돌릴 일이 적은 도구부터 쓰세요. 실제 업무의 질문 10개 정도를 고정해 두면 모델을 바꿨을 때 검색어, 인자 형식, 최종 답변이 나아졌는지 빠르게 비교할 수 있어요.

이미지 입력은 별도 파일을 더해요
텍스트 질문이 먼저 잘 동작했다면 이미지 입력도 추가할 수 있어요. 사진과 화면을 모델이 읽도록 연결하는 mmproj 파일을 모델 옆에 내려받고 서버에 지정합니다. Q8_0 파일은 629MB, F16 파일은 928MB예요. 처음에는 작은 Q8_0 파일로 시작할 수 있어요.
다운로드 후 기존 서버를 Ctrl+C로 종료하고, 같은 실행 명령 뒤에 --mmproj models/mmproj-Underdog-Saluki-27B-1.0-Q8_0.gguf를 붙여 다시 켜세요. 웹 채팅에서 이미지 첨부가 보이면 단순한 스크린샷을 넣고 내용을 요약해보세요. 파일과 이미지 처리에도 메모리를 쓰므로 텍스트 실행 때 남은 여유를 확인한 뒤 추가하는 순서가 좋아요.
hf download ConwayResearch/Underdog-Saluki-27B-1.0 mmproj-Underdog-Saluki-27B-1.0-Q8_0.gguf --local-dir models첫 실행이 막히면 이 순서로 해결해요
hf: command not found가 나오면 모델 폴더의 가상환경을 다시 활성화하세요. source .venv/bin/activate 후에도 명령이 없으면 python -m pip install -U huggingface_hub를 다시 실행해요. 파일을 찾지 못한다는 오류는 현재 폴더가 saluki-local인지, 모델 경로가 models로 시작하는지 살펴보면 돼요.
auto 인자를 읽지 못하거나 모델 형식 오류가 나면 먼저 llama.cpp를 최신 릴리스로 업데이트하세요. GPU 메모리가 부족하면 다른 GPU 앱을 닫고 문맥을 4,096보다 줄여 다시 시작해요. 그래도 적재가 실패하면 -ngl auto를 -ngl 0으로 바꿔 시스템 RAM에서 먼저 동작을 확인할 수 있어요. 이때는 CPU 계산이 늘어나 답변 대기가 길어질 수 있어요.
connection refused가 나오면 서버 터미널이 살아 있는지와 8080 포트를 확인하세요. 이미 다른 앱이 쓰는 포트라면 서버의 --port와 요청 주소를 함께 바꿔야 해요. 사용을 마치면 서버 터미널에서 Ctrl+C를 누르면 됩니다. 모델 파일은 남아 다음 실행 때 다시 받을 필요가 없어요.
NVIDIA에서 답변 생성을 더 빠르게 하고 싶다면 NInfer 실행 가이드를 이어서 읽어보세요. Mac에서 긴 문서의 첫 답이 늦다면 Splash 가이드에서 입력 처리 시간을 줄이는 방법을 살펴볼 수 있어요.
용어 각주
양자화 — 모델의 가중치나 계산값을 더 적은 비트로 표현해 저장 공간과 메모리 사용량을 줄이는 방법입니다. 표현 단계가 거칠어져 정확도에도 영향을 줄 수 있습니다.
본문으로 돌아가기GGUF — 모델 정보를 담는 파일 형식으로 llama.cpp 계열 도구에서 널리 사용됩니다.
본문으로 돌아가기런타임 — 프로그램이 실행될 때 필요한 기능을 제공하는 소프트웨어 환경입니다. 로컬 AI에서는 모델을 실행하는 엔진을 가리키기도 합니다.
본문으로 돌아가기KV 캐시 — 어텐션에서 이전 토큰의 키·값을 저장해 다음 토큰 생성 때 재사용하는 메모리입니다. 문맥 길이와 배치 크기에 따라 용량이 달라집니다.
본문으로 돌아가기GPU — 많은 계산을 병렬로 처리하는 프로세서입니다. AI 모델 실행에서는 모델 계산을 맡습니다.
본문으로 돌아가기토큰 — 모델이 입력이나 출력을 나누어 처리하는 단위입니다.
본문으로 돌아가기시스템 RAM — 프로그램이 실행되는 동안 데이터를 임시로 보관하는 시스템 메모리입니다.
본문으로 돌아가기CPU — 운영체제와 일반 프로그램 명령을 실행하고, AI에서는 전처리·데이터 이동 등 범용 연산을 맡는 중앙 처리 장치입니다.
본문으로 돌아가기통합 메모리 — CPU와 GPU가 같은 물리 메모리 풀을 공유하는 구조입니다.
본문으로 돌아가기Python 가상환경 — 프로젝트별로 Python 패키지를 분리해 설치하는 공간입니다. 패키지 버전 충돌을 줄이는 데 쓰입니다.
본문으로 돌아가기Metal — Apple 기기에서 그래픽과 GPU 병렬 계산을 실행하는 저수준 기술입니다.
본문으로 돌아가기CUDA — NVIDIA GPU에서 범용 계산을 실행하기 위한 소프트웨어 플랫폼입니다.
본문으로 돌아가기도구 호출 — 모델이 파일 읽기·검색·명령 실행 같은 외부 기능의 이름과 인자를 요청하는 형식입니다. 요청을 실제로 실행할지는 에이전트 런타임과 권한 설정이 결정합니다.
본문으로 돌아가기
자주 묻는 질문
- 이 글에서 가장 먼저 확인할 것은 무엇인가요?
- Underdog Saluki 27B 1.0은 Qwen3.8-27B를 약 2비트 혼합 양자화로 압축한 언어 모델이에요. 7.89GB GGUF 파일을 llama.cpp에 불러오면 내 컴퓨터에서 질문에 답하고, 연결한 앱에 답변을 전달할 수 있어요. 모델 파일 외에 대화 저장 공간도 필요하므로, 처음에는 짧은 문맥으로 실행한 뒤 메모리 여유를 확인하며 늘려보세요.
- 필요한 메모리는 어느 정도인가요?
- Qwen3.8-27B를 써보고 싶은데 메모리 때문에 작은 모델만 고르고 있었다면 Saluki가 또 다른 선택지가 될 수 있어요. 파라미터 270억 개는 유지하면서 가중치를 저장하는 데 쓰는 비트를 줄였어요. 내려받을 파일은 7.89GB이고, 형식은 여러 로컬 실행 프로그램이 읽을 수 있는 GGUF예요.
- 조건과 출처는 어디서 확인하나요?
- 여기서는 llama.cpp로 모델을 불러오고, 내 컴퓨터의 8080 포트에서 질문을 받는 서버를 만들어요. 서버가 준비되면 웹 채팅이나 OpenAI 호환 앱을 연결할 수 있어요. Saluki의 가중치는 Apache 2.0으로 공개돼 있어 개인 작업뿐 아니라 라이선스 조건을 지키는 서비스에도 활용할 수 있어요.
