CDECLOG

✔ Write down what comes to mind :: Bright size life

로컬 LLM 가속 엔진 비교: llama.cpp vs vLLM vs MLX

오픈소스 대형 언어 모델(LLM)이 가파르게 발전하면서, 모델을 로컬 환경이나 자체 서버에서 빠르고 효율적으로 서빙하기 위한 ‘추론(Inference) 가속 엔진’의 중요성이 커지고 있습니다. 각 도구들은 태생적인 개발 목적과 메인으로 타겟팅하는 하드웨어가 다르기 때문에 상황에 맞는 엔진을 선택하는 것이 필수적입니다. 이 글에서는 현재 로컬 구동 및 서버 LLM 서빙 체계의 3대장이라 부를 수 있는 llama.cpp, vLLM, 그리고 MLX의 개발 목적, 기술적 장점, 지원 모델 포맷, 간단한 실행 방법을 비교해 보겠습니다. 1. llama.cpp 📌 개발 목적 및 플랫폼 언어 개발 목적: 초기에는 Apple M시리즈 맥북에서 순수 C/C++만으로 메타(Meta)의 LLaMA 모델을 빠르고 가볍게 구동하기 위해 시작되었습니다. 이후 범용성을 넓혀 대다수의 하드웨어를 지원하는 거대한 프로젝트로 성장했습니다. 플랫폼 및 언어: C/C++ (어떠한 외부 라이브러리나 의존성도 필요로 하지 않습니다.) 🎯 목표 및 특장점 극강의 이식성과 가벼움: 외부 의존성이 없기 때문에 Windows, Linux, macOS뿐만 아니라 라즈베리 파이(Raspberry Pi), 스마트폰 등 수많은 엣지(Edge) 디바이스에서 실행이 가능한 엄청난 호환성을 자랑합니다. 가혹한 자원 환경에서의 최적화: 메모리 요구량을 줄이는 양자화(Quantization) 기술을 활용해, 값비싼 고사양 GPU가 없는 일반 소비자용 PC에서도 무거운 대용량 LLM을 구동하는 데 최적화되어 있습니다. 📦 지원 모델 특징 및 포맷 포맷: 자체 개발된 통합 양자화 포맷인 GGUF 확장자를 사용합니다. 모델의 파라미터 구조와 추론에 필요한 모든 하이퍼파라미터 메타데이터가 단일 파일에 패키징되어 있어 관리가 매우 편리합니다. 허깅페이스(Hugging Face)에서 -GGUF 접미사가 붙은 모델을 검색하여 내려받으면 됩니다. 자동 다운로드 및 저장 위치: 보통은 GGUF 파일을 사용자가 수동 다운로드하여 경로를 지정하는 것이 일반적입니다. 하지만 파이썬 라이브러리나 최신 툴에서는 허깅페이스 저장소에서 자동 다운로드를 수행할 수도 있습니다. 허깅페이스 생태계를 통한 모델 자동 다운로드 시, 모델은 로컬의 ~/.cache/huggingface/hub/ 경로에 저장됩니다. 🚀 간단한 설치 및 실행 방법 # macOS 패키지 관리자 Homebrew를 통한 쉬운 CLI 전용 설치 brew install llama.cpp # 파이썬 스크립트에서 활용하기 위한 패키지 설치 pip install llama-cpp-python # Homebrew로 설치한 CLI 명령어를 통해 다운로드한 GGUF 모델 실행 llama-cli -m ./models/llama-3-8b.gguf -p "양자컴퓨터의 원리에 대해 설명해 줘" -n 512 2. vLLM 📌 개발 목적 및 플랫폼 언어 개발 목적: 버클리 대학 연수진이 여러 사용자의 요청이 동시에 일어나는 엔터프라이즈 기반의 프로덕션(서버) 환경에서 ‘메모리 단편화 병목’을 해소하고 처리량(Throughput)을 고도로 극대화하기 위해 개발한 엔진입니다. 플랫폼 및 언어: Python 파이프라인과 내부 최적화를 위한 C++ (CUDA) 생태계를 사용하며, 주로 NVIDIA GPU에 최적화되어 있습니다. (최근 AMD ROCm 및 뉴럴 프로세서도 점진적 지원 중) 🎯 목표 및 특장점 PagedAttention 도입: 운영체제의 가상 메모리 페이징 기법에서 착안하여, LLM이 문장을 생성할 때 사용하는 KV 캐시 메모리의 심각한 낭비(단편화)를 거의 0에 가깝게 줄였습니다. 압도적인 엔터프라이즈 처리량: 일반 허깅페이스 트랜스포머 라이브러리와 비교해 동시 다발적인 추론 속도가 최대 수십 배 빠르며, 즉시 프로덕션에 투입할 수 있도록 OpenAI API와 호환되는 웹 서버를 자체 제공합니다. 📦 지원 모델 특징 및 포맷 포맷: 허깅페이스 네이티브 포맷(Safetensors, PyTorch Weights 등)을 그대로 가져다 바로 사용할 수 있습니다. 속도와 효율성을 위해 GPTQ, AWQ 등 최신 GPU 양자화 포맷을 원활히 지원합니다. 자동 다운로드 및 저장 위치: 런타임 실행 명령어에 모델명(예: mistralai/...)만 입력하면 백그라운드에서 자동으로 모델을 다운로드하여 로드합니다. 다운로드된 원본 모델 파일들은 로컬 환경의 ~/.cache/huggingface/hub/ 경로에 캐싱됩니다. 🚀 간단한 설치 및 실행 방법 # 파이썬 표준 패키지 관리자(pip, uv 등)를 통한 설치 (NVIDIA 환경 권장) pip install vllm # 또는 uv 환경에서: uv pip install vllm # 설치 즉시 OpenAI API 완벽 호환 서버로 구동 python -m vllm.entrypoints.openai.api_server \ --model mistralai/Mistral-7B-v0.1 \ --host 0.0.0.0 \ --port 8000 3. MLX (Apple) 📌 개발 목적 및 플랫폼 언어 개발 목적: 애플(Apple) 내 머신러닝 연구팀이 직접 주도하여, **Apple Silicon(M1, M2, M3 등)**의 구조적 장점을 100% 끌어내어 기계학습 모델의 트레이닝 및 초안 서빙 연구를 원활하게 만들기 위해 탄생했습니다. 플랫폼 및 언어: C++ 및 Python (macOS / Apple Silicon 전용) 🎯 목표 및 특장점 통합 메모리(Unified Memory)의 완벽한 활용: CPU와 GPU가 같은 램(RAM) 영역을 공유하는 애플 칩의 특성을 tận용하여, 메모리를 CPU 영역에서 GPU 영역으로 옮기는 복사 트랜잭션 오버헤드(지연 시간)가 발생하지 않습니다. 뛰어난 에너지 효율성과 속도를 제공합니다. PyTorch와 닳은 친숙한 인터페이스: PyTorch나 NumPy를 사용하던 ML 엔지니어라면 별도의 학습 없이 바로 사용할 수 있게끔 가장 직관적이고 친숙한 API 설계를 채택했습니다. 📦 지원 모델 특징 및 포맷 포맷: 허깅페이스 구조를 따르되 Apple의 칩 연산 구조에 최적화된 **MLX 변환 포맷(.safetensors 기반)**을 사용합니다. 주로 허깅페이스의 mlx-community 채널 등을 통해 변환된 가중치들을 배포 및 다운로드할 수 있습니다. 자동 다운로드 및 저장 위치: Python API 및 CLI 환경에서 허깅페이스 모델 ID를 지정해 주면, 누락된 가중치 파일을 자동으로 다운로드합니다. 이 역시 표준 규칙에 따라 로컬의 ~/.cache/huggingface/hub/ 경로 하위에 저장됩니다. 🚀 간단한 설치 및 실행 방법 # 초고속 파이썬 패키지 관리자 uv를 이용한 MLX 전용 패키지 설치 uv pip install mlx-lm # (기본 방식: pip install mlx-lm) # CLI 환경에서 MLX API를 이용해 즉각적인 언어 생성 실행 mlx_lm.generate \ --model mlx-community/Qwen2.5-7B-Instruct-4bit \ --prompt "Harness Engineering에 대해 쉽게 설명해 줘" 핵심 요약 및 선택 가이드 비교 항목 llama.cpp vLLM MLX 주요 목적 이식성 및 엣지 디바이스 가동 효율화 B2B, 프로덕션 서버 동시 다중 쓰레드 처리 맥북 생태계 내 최적의 기계학습 활용 및 연구 주 타겟 하드웨어 전천후 범용 (CPU 중심, 가벼운 GPU, Edge 단말) 고사양 NVIDIA 엔터프라이즈 환경 (A100, H100 등) Apple Mac 단말 시리즈 (M1 ~ M3) 핵심 경쟁 기술 단일 패키징 기반의 GGUF 고효율 양자화 방대한 KV 캐싱을 정리하는 PagedAttention 메모리 병목이 없는 Unified Memory 접근 지원 모델 구조 .gguf 독립 포맷 한정 원본 Safetensors 및 AWQ, GPTQ MLX 특화 변환 Safetensors 자동 다운로드 수동 다운로드 주류 (최신 도구 자동 지원) 실행 시 자동 다운로드 실행 시 자동 다운로드 기본 저장 위치 지정 파일 경로 (자동다운은 ~/.cache/huggingface/hub/) ~/.cache/huggingface/hub/ ~/.cache/huggingface/hub/ 사양이 높지 않은 일반 컴퓨터나 라즈베리 파이 등으로 어떻게든 LLM을 구동하며 자원을 최소화하고 싶다면 llama.cpp(혹은 내부 엔진을 공유하는 Ollama/LM Studio)가 최적입니다. 수백 명의 동시 사용자가 있는 대규모 서비스를 구축하기 위해 클라우드 GPU 자원을 최대로 뽑아내는 고성능 API 런타임이 필요하다면 vLLM을 채택해야 합니다. 가장 최신의 M시리즈 Mac 디바이스를 소유하고 있으며, 로컬에서 허깅페이스 생태계를 파이썬 코드 레벨로 직접 튜닝하고 실험해보고 싶은 로컬 기반 연구자라면 MLX가 독보적인 편의성과 성능을 제공할 것입니다.

April 14, 2026 · Byung Kyu KIM

oMLX 가이드: Apple Silicon용 MLX 추론 서버와 운영 포인트

omlx는 Apple Silicon 환경에서 로컬 LLM을 좀 더 “운영 가능한 서버” 형태로 다루기 위해 만든 도구입니다. 단순히 모델 하나를 띄우는 수준을 넘어, 연속 배칭(continuous batching), SSD 기반 KV 캐시, 멀티 모델 관리, 관리자 대시보드, macOS 메뉴바 앱까지 포함한 것이 특징입니다. 한 줄로 요약하면 이렇습니다. MLX는 Apple이 만든 머신러닝 프레임워크입니다. **mlx-lm**은 MLX 기반으로 LLM을 실행하고 파인튜닝하는 패키지입니다. oMLX는 그 위에서 실제 서비스 운영에 필요한 서버 기능과 관리 UX를 덧붙인 제품에 가깝습니다. 즉, oMLX는 “MLX를 대체하는 것"이라기보다, MLX 생태계 위에서 로컬 추론 서버를 더 쉽게 운영하게 해주는 계층이라고 보는 편이 정확합니다. ...

April 6, 2026 · Byung Kyu KIM

Karpathy의 LLM Wiki: RAG를 넘어 지식이 쌓이는 위키 만들기

Andrej Karpathy가 남긴 LLM Wiki는 단순한 아이디어 메모가 아닙니다. 이 글은 “LLM을 검색기처럼 쓰는 방식"에서 한 단계 더 나아가, LLM이 지식을 계속 정리하고 갱신하는 누적형 위키(compounding wiki) 를 어떻게 만들 수 있는지 보여줍니다. DevOps 관점에서 이 아이디어가 흥미로운 이유는 분명합니다. 운영 문서, 장애 보고서, 러닝 노트, 회의록, 런북은 시간이 갈수록 쌓이지만, 그 가치는 자동으로 커지지 않습니다. 오히려 오래될수록 흩어지고, 서로 충돌하고, 찾기 어려워집니다. Karpathy가 제안한 방식은 이 문제를 LLM이 대신 정리하도록 설계합니다. ...

April 4, 2026 · Byung Kyu KIM

agent-browser: AI 에이전트를 위한 브라우저 자동화 CLI

agent-browser는 AI 에이전트가 웹 브라우저를 직접 다루도록 만든 CLI 도구입니다. 단순히 클릭과 입력만 하는 자동화 스크립트가 아니라, 페이지 구조를 스냅샷으로 읽고, ref 기반으로 요소를 조작하고, 세션과 상태를 유지하고, 네트워크와 디버그 정보까지 함께 다룰 수 있도록 설계되어 있습니다. DevOps 관점에서 보면 이 도구의 매력은 분명합니다. 사람이 브라우저에서 하던 반복 작업을 쉘 명령으로 옮길 수 있고, AI 에이전트가 사용할 수 있는 안정적인 웹 조작 인터페이스를 제공합니다. 특히 Playwright를 직접 코드로 짜는 방식보다, 탐색과 검증을 훨씬 빠르게 시도해볼 수 있습니다. ...

April 2, 2026 · Byung Kyu KIM

프롬프트, 컨텍스트, 하네스 엔지니어링: AI 제어 기술의 진화

생성형 AI 모델(LLM)이 발전함에 따라, 단순히 모델에 질문을 던지는 것을 넘어 AI의 성능을 끌어올리고 원하는 결과를 안전하게 얻어내기 위한 방법론도 빠르게 진화해 왔습니다. 처음에는 AI와 ‘대화하는 법’을 조율했다면, 이제는 AI에게 ‘지식을 주입’하고, 나아가 능동적인 AI 에이전트가 활동할 수 있는 ‘안전하고 자동화된 운영 환경’을 구축하는 단계에 이르렀습니다. 이 글에서는 인공지능 제어의 핵심 발전 흐름인 프롬프트 엔지니어링(Prompt Engineering), 컨텍스트 엔지니어링(Context Engineering), 그리고 자율 에이전트의 부상과 함께 각광받는 **하네스 엔지니어링(Harness Engineering)**의 정의와 특징, 발전 과정, 그리고 핵심 요소를 정리해 보겠습니다. 또한 각 개념을 직관적으로 이해할 수 있도록 대상 프로젝트 예시를 함께 소개합니다. ...

April 1, 2026 · Byung Kyu KIM

AI 에이전트를 길들이는 기술: 하네스 엔지니어링(Harness Engineering)의 모든 것

하네스 엔지니어링(Harness Engineering)이란? 최근 AI 에이전트(AI Agent)의 발전과 함께 소프트웨어 개발 생태계에서 새롭게 대두되고 있는 개념이 바로 **하네스 엔지니어링(Harness Engineering)**입니다. 말과 마차를 연결하는 장비인 ‘하네스(마구)‘에서 유래한 이 용어는, 강력하지만 예측이 어려운 AI 에이전트가 안전하고 신뢰할 수 있는 방식으로 목표를 수행하도록 환경을 조성하고 관리하는 기술을 의미합니다. 통제되지 않은 야생마 같은 AI 모델에 안장을 얹어 목적지까지 안전하게 이끄는 일련의 과정이라 할 수 있습니다. 궁극적인 목표 하네스 엔지니어링의 궁극적인 목표는 **“AI를 단순한 조수(Copilot) 수준을 넘어, 신뢰할 수 있고 자율적인 동료(Agent)로 운영하는 시스템을 구축하는 것”**입니다. 이를 통해 개발자는 코드 작성 자체에 매달리기보다 AI가 잘 일할 수 있는 환경(도구, 권한, 컨텍스트)을 설계하고, 결과물의 품질과 안정성을 보장하는 아키텍트의 역할을 수행하게 됩니다. ...

March 29, 2026 · Byung Kyu KIM

macOS에서 MLX 환경 설치 및 운영 (Ollama와 비교)

최근 로컬 환경에서 대규모 언어 모델(LLM)을 구동하기 위한 도구들이 눈부시게 발전하고 있습니다. 특히 Apple Silicon(M칩 시리즈)을 탑재한 macOS에서는 디바이스의 하드웨어 리소스를 얼마나 잘 활용하는지에 따라 추론 속도와 메모리 효율이 크게 달라집니다. 오늘은 Apple에서 직접 개발한 머신러닝 프레임워크인 MLX에 대해 알아보고, 가장 대중적인 도구인 Ollama와의 비교, 그리고 강력한 성능을 자랑하는 Qwen3.5 9B 모델을 기준으로 로컬 환경을 구성하는 방법을 정리해 보겠습니다. 1. MLX란 무엇인가? MLX는 Apple의 머신러닝 연구 팀(Apple Machine Learning Research)에서 Apple Silicon을 위해 특별히 설계한 배열(Array) 및 머신러닝 프레임워크입니다. PyTorch나 JAX와 매우 유사한 Python API를 제공하면서도, Apple의 통합 메모리(Unified Memory) 아키텍처를 가장 깊은 수준에서 최적화하여 사용할 수 있도록 만들어졌습니다. ...

March 29, 2026 · Byung Kyu KIM

LLM의 뇌 구조 해부: 파라미터(지식의 숲)와 어텐션(길을 찾는 빛)

최근 GPT, Claude, DeepSeek 같은 대규모 언어 모델(LLM)이 보여주는 놀라운 추론 능력은 어디에서 기인할까요? 단순히 데이터를 많이 읽어서일까요? 그 핵심은 방대한 정보를 저장하는 **‘파라미터(Parameter)’**와, 그 정보들 사이에서 맥락을 짚어내는 **‘어텐션(Attention)’**의 상호작용에 있습니다. 오늘은 이 두 개념이 어떻게 ‘연관 지식의 중첩’을 만들고, 실시간으로 변별력 있는 답변을 생성하는지, 나아가 우리가 왜 프롬프트를 잘 써야 하는지 심층적으로 살펴보겠습니다. 1. 파라미터(Parameter): 지식이 중첩된 ‘다차원 도서관’ 많은 분이 파라미터 개수(예: 7B, 70B 등)를 단순히 ‘AI의 용량 혹은 크기’로 이해합니다. 하지만 더 정확한 표현은 **‘지식의 밀도와 중첩도’**입니다. ...

March 9, 2026 · Byung Kyu KIM

macOS 잠자기 방지 완벽 가이드: Amphetamine vs caffeinate 비교 및 클램쉘 모드 활용

macOS를 사용하다 보면 대용량 파일 다운로드, 긴 빌드 작업, 또는 백그라운드 스크립트 실행 등을 위해 화면이 꺼지거나 시스템이 잠자기에 들지 않도록 설정해야 할 때가 있습니다. 이를 위해 사용하는 대표적인 두 가지 방식이 CLI 기반의 caffeinate 명령어와 GUI 기반의 Amphetamine 앱입니다. 이 글에서는 두 도구의 기능과 옵션을 면밀히 비교하고, 작업 환경에 따른 제어 방법, 그리고 맥북 유저들의 고민거리인 **클램쉘 모드(Clamshell Mode)**에서의 동작 차이까지 종합적으로 정리해 보겠습니다. 1. 내장 명령어 caffeinate caffeinate는 macOS에 기본 탑재된 커맨드라인 유틸리티로, 별도의 앱 설치 없이 터미널에서 즉시 사용할 수 있습니다. 스크립트나 자동화 파이프라인(DevOps)에 통합하기 매우 좋습니다. ...

March 8, 2026 · Byung Kyu KIM

2026 글로벌 LLM 생태계 비교: 파운데이션 모델부터 인프라 서비스까지

2026년 현재 LLM 시장은 모델을 직접 학습시켜 배포하는 파운데이션 모델 제공자(Builders) 와, 이 모델들을 기업 및 개발자가 쉽게 도입·최적화할 수 있도록 돕는 인프라 및 통합 서비스 제공자(Enablers) 로 생태계가 양분되어 있습니다. 북미의 프론티어 모델과 중국의 고효율 모델들이 치열하게 경쟁하는 가운데, Provider 관점에서 각 모델의 세부 특징과 인프라 서비스를 총정리합니다. 1. 파운데이션 모델 생태계 (Builders): 북미 vs 중국 LLM의 원천 지능을 제공하는 기업들입니다. 북미는 범용적 에이전트와 멀티모달에, 중국은 극강의 가성비와 오픈소스 생태계에 집중하고 있습니다. ...

February 25, 2026 · Byung Kyu KIM