Development

[로컬 LLM 성능 비교] 맥북 M3 Max 36GB vs 고성능 워크스테이션 (Ollama, Qwen3-Coder 30B 테스트 결과)

chbae 2026. 9. 7. 21:00
반응형

실무에서 시스템 아키텍처를 설계하고 C++ 기반의 코드를 작성하다 보면, 생산성 향상을 위해 자연스럽게 AI 코딩 어시스턴트의 도입을 고려하게 된다. 하지만 기업의 핵심 자산인 소스 코드, 특히 자동차 제어 및 보안과 직결된 민감한 데이터를 외부 클라우드 서버(OpenAI, Anthropic 등)로 전송하는 것은 엄격한 보안 규정상 허용되지 않는 경우가 많다. 이러한 제약을 극복하고 안전한 개발 환경을 구축하기 위해 외부 인터넷 연결 없이 오프라인으로 동작하는 로컬 LLM(Local Large Language Model) 을 고려하고 있다.

 

이 글에서는 개인적으로 사용 중인 두 가지 이질적인 컴퓨팅 환경, 즉 Apple MacBook M3 Max 36GB 모델과 AMD Threadripper Pro 7985WX 기반의 고성능 워크스테이션을 활용하여 로컬 LLM의 추론(Inference) 성능을 벤치마크한 결과를 분석한다. 워크스테이션의 경우 Yocto, Android 빌드용으로 CPU와 시스템 메모리는 서버급이지만 장착된 GPU(NVIDIA T400 4GB)의 사양이 현저히 낮은 불균형한 구성을 띠고 있다. 이러한 하드웨어적 특성이 LLM 구동에 어떠한 영향을 미치는지 객관적인 지표를 통해 확인해 보려고 한다.


1. 오픈소스 LLM과 Ollama의 이해

오픈소스 대형 언어 모델 (Open Source LLM)

오픈소스 LLM은 모델의 가중치(Weights)와 아키텍처가 공개되어 누구나 자유롭게 다운로드하고 로컬 환경에서 실행할 수 있는 AI 모델을 의미한다. 최근 Meta의 Llama 시리즈, Alibaba의 Qwen, Mistral AI 등의 모델들은 비약적인 발전을 이루었으며, 특히 코딩이나 논리적 추론과 같은 특정 도메인에서는 상용 클라우드 모델에 필적하는 성능을 제공한다. 이는 데이터 프라이버시를 완벽하게 보장하면서도 강력한 AI 어시스턴트를 사내 망이나 개인 PC에 구축할 수 있음을 시사한다.

Ollama 플랫폼의 혁신성

과거 로컬 환경에 LLM을 구축하기 위해서는 복잡한 Python 가상 환경 설정, CUDA 툴킷 설치, 수많은 의존성 패키지 해결 등 상당한 진입 장벽이 존재했다. 그러나 Ollama 플랫폼의 등장으로 이러한 과정이 극적으로 단순화되었다.

Ollama는 마치 Docker 컨테이너를 다루듯 단일 명령어로 수십 기가바이트에 달하는 LLM을 다운로드하고 최적화하여 실행할 수 있는 환경을 제공한다. 내부적으로 Llama.cpp 백엔드를 활용하여 하드웨어 자원(Apple Silicon의 Metal API 또는 NVIDIA CUDA)을 최대한 효율적으로 이끌어내며, REST API를 기본적으로 제공하여 외부 애플리케이션과의 연동성도 매우 뛰어나다.

2. 벤치마크 테스트 환경 및 하드웨어 사양

객관적인 성능 비교를 위해 구성된 두 시스템의 하드웨어 스펙과 그 건축적 특징을 정리한다.

  • Machine A: Apple MacBook M3 Max
    • 메모리: 36GB Unified Memory (통합 메모리)
    • 특징: CPU와 GPU가 고대역폭 통합 메모리를 공유하는 아키텍처이다. 대형 LLM 추론 시 가장 큰 병목이 되는 GPU VRAM(비디오 메모리) 용량 문제를 36GB의 통합 메모리로 해결할 수 있어, 로컬 AI 구동에 매우 유리한 조건을 갖추고 있다.
  • Machine B: High-End Workstation
    • CPU: AMD Ryzen Threadripper PRO 7985WX
    • RAM: 256GB ECC Memory
    • GPU: NVIDIA T400 4GB
    • 특징: 엔터프라이즈급 CPU 연산 능력과 거대한 시스템 메모리를 보유하고 있으나, GPU의 VRAM이 4GB에 불과하다. LLM 구동 시 모델의 파라미터를 VRAM에 모두 적재하지 못하고 시스템 메모리로 오프로딩(Offloading)해야 하므로 심각한 성능 저하가 예상되는 환경이다.

3. 벤치마크 방법론 및 테스트 스크립트

테스트는 코딩 작업에 특화되어 있으며 300억 개의 파라미터를 가진 무거운 모델, Qwen3-Coder:30BGPT OSS 20B 모델기준으로 진행했다. 비슷한 방식으로 oss 평가의 변별력을 높이기 위해 "C++17을 이용한 LRU 캐시(LRU Cache) 구현 및 시간 복잡도, 스레드 안전성(Thread-safety) 분석"이라는 전문적이고 긴 문맥을 요구하는 프롬프트를 입력했다. 컨텍스트 윈도우(Context Window)는 32K(32768)로 고정했다.

 

curl -s http://localhost:11434/api/generate \
  -d '{
    "model": "qwen3-coder:30b",
    "prompt": "Write a C++17 implementation of an LRU cache. Explain the design, time complexity, and thread-safety considerations.",
    "stream": false,
    "options": {
      "num_ctx": 32768
    }
  }' | jq '{
    eval_tokens: .eval_count,
    eval_time_sec: (.eval_duration / 1000000000),
    tok_per_sec: (.eval_count / .eval_duration * 1000000000),
    prompt_tokens: .prompt_eval_count,
    total_time_sec: (.total_duration / 1000000000)
  }'

해당 Bash 스크립트는 Ollama의 REST API에 직접 질의를 전송한 후, 반환되는 JSON 응답에서 eval_count(생성된 토큰 수)와 eval_duration(순수 텍스트 생성 시간)을 파싱하여 초당 토큰 생성 속도(Tokens per second)를 정밀하게 계산한다.

4. 벤치마크 결과 상세 분석

오픈소스 LLM 모델 비교 결과
오픈소스 LLM 모델 비교 결과

 

첨부된 데이터에 기반한 머신별 추론 성능 분석 결과입니다. 하드웨어 아키텍처의 차이가 LLM 성능에 미치는 영향을 명확히 보여줍니다.

MacBook M3 Max 36GB (Qwen3-Coder 30B)

  • 생성 속도 (Generation Speed): 74.11 tok/s
  • 생성 소요 시간 (Generation Time): 23.86초
  • 총 소요 시간 (Total Time): 34.69초

M3 Max 36GB 모델은 30B 파라미터라는 거대한 모델을 구동함에도 불구하고 초당 74.11 토큰이라는 매우 인상적인 처리 속도를 기록했다. 이는 인간의 독해 속도를 상회하는 수준이다. 이러한 성능의 근간에는 Apple Silicon의 통합 메모리 아키텍처가 있다. GPU가 36GB의 고대역폭 메모리에 직접 접근하여 대량의 모델 가중치를 지연 없이 병렬 처리할 수 있기 때문이다.

TR Pro 7985WX + 256GB + T400 4GB (Qwen3-Coder 30B)

  • 생성 속도 (Generation Speed): 34.15 tok/s
  • 생성 소요 시간 (Generation Time): 49.48초
  • 총 소요 시간 (Total Time): 65.92초

반면, 압도적인 CPU 성능과 256GB의 막대한 시스템 메모리를 갖춘 워크스테이션은 M3 Max 대비 절반에 미치지 못하는 초당 34.15 토큰의 속도를 기록했다. 그 원인은 4GB에 불과한 NVIDIA T400 GPU의 VRAM 한계에 있다. 30B 모델을 원활히 처리하기 위해서는 최소 16GB 이상의 VRAM이 요구된다. VRAM이 부족할 경우 Ollama는 연산 부하를 시스템 메모리와 CPU로 분산(Offload)하게 되며, 순수 CPU 기반의 연산은 GPU의 고도화된 병렬 처리 및 메모리 대역폭을 물리적으로 따라잡을 수 없기 때문에 병목 현상이 발생한다.

 

이러한 하드웨어 병목은 초거대 모델 구동 시 더욱 극명하게 드러난다. 파라미터 1,230억 개 규모의 Devstral 2 123B 모델 테스트 결과를 보면, 워크스테이션 환경에서 속도가 1.65 tok/s로 급감하였으며 1회의 응답을 완료하는 데 1,007초(약 16분) 이상이 소요되었다. 이는 대규모 언어 모델 추론에 있어 시스템 RAM 용량이나 CPU 코어 수보다 GPU VRAM 용량과 메모리 대역폭이 절대적인 성능 지표임을 방증한다.

5. 결론 및 실무 적용을 위한 시사점

이번 벤치마크 테스트를 통해 로컬 AI 환경 구축을 고려하는 소프트웨어 엔지니어 및 IT 관리자들을 위한 몇 가지 중요한 기술적 인사이트를 도출할 수 있었다.

  1. Apple Silicon의 비용 효율성: 로컬 환경에서 대규모 LLM(30B 이상)을 구동하기 위한 목적이라면, M 시리즈 Max 칩셋이 탑재된 Mac 장비가 현재로서는 가장 합리적인 솔루션이다. 수천만 원을 호가하는 엔터프라이즈급 멀티 GPU 구성 없이도 수십 기가바이트의 VRAM 효과를 누릴 수 있으며, 발열과 전력 소모 측면에서도 데스크톱 워크스테이션을 압도한다.
  2. GPU 중심의 워크스테이션 설계 필요: x86 기반의 데스크톱 또는 워크스테이션을 AI 용도로 활용하려면 CPU 사양보다 GPU의 VRAM 용량 확보에 예산을 집중해야 한다. 만약 본 테스트의 워크스테이션에 24GB VRAM을 지원하는 RTX 4090 또는 48GB VRAM의 RTX A6000 하드웨어가 장착되어 있었다면, 결과는 전혀 다르게 나타났을 것이다.
  3. 오픈소스 LLM의 실무 적용 가능성: Qwen3-Coder 모델은 복잡한 C++17 기반의 스레드 안전성 고려 사항까지 훌륭하게 설계하고 분석해 냈다. 이는 최신 오픈소스 모델들이 실무 개발 환경에서 충분히 독립적인 코딩 어시스턴트로 활약할 수 있는 수준에 도달했음을 의미한다.

결론적으로 보안이 중시되는 자동차 시스템 소프트웨어 개발 환경에서는 MacBook M3 Max와 Ollama 조합이 강력한 오프라인 생산성 도구로 자리매김할 수 있다. 

728x90
반응형