<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Vllm on cdeclog</title><link>https://cdecl.github.io/tags/vllm/</link><description>Recent content in Vllm on cdeclog</description><generator>Hugo -- 0.160.1</generator><language>ko-kr</language><lastBuildDate>Tue, 14 Apr 2026 00:00:00 +0900</lastBuildDate><atom:link href="https://cdecl.github.io/tags/vllm/index.xml" rel="self" type="application/rss+xml"/><item><title>로컬 LLM 가속 엔진 비교: llama.cpp vs vLLM vs MLX</title><link>https://cdecl.github.io/devops/llm-inference-engines-comparison/</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0900</pubDate><guid>https://cdecl.github.io/devops/llm-inference-engines-comparison/</guid><description>&lt;p&gt;오픈소스 대형 언어 모델(LLM)이 가파르게 발전하면서, 모델을 로컬 환경이나 자체 서버에서 빠르고 효율적으로 서빙하기 위한 &amp;lsquo;추론(Inference) 가속 엔진&amp;rsquo;의 중요성이 커지고 있습니다. 각 도구들은 태생적인 개발 목적과 메인으로 타겟팅하는 하드웨어가 다르기 때문에 상황에 맞는 엔진을 선택하는 것이 필수적입니다.&lt;/p&gt;
&lt;p&gt;이 글에서는 현재 로컬 구동 및 서버 LLM 서빙 체계의 3대장이라 부를 수 있는 &lt;strong&gt;llama.cpp&lt;/strong&gt;, &lt;strong&gt;vLLM&lt;/strong&gt;, 그리고 &lt;strong&gt;MLX&lt;/strong&gt;의 개발 목적, 기술적 장점, 지원 모델 포맷, 간단한 실행 방법을 비교해 보겠습니다.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="1-llamacpp"&gt;1. llama.cpp&lt;/h2&gt;
&lt;h3 id="-개발-목적-및-플랫폼-언어"&gt;📌 개발 목적 및 플랫폼 언어&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;개발 목적&lt;/strong&gt;: 초기에는 Apple M시리즈 맥북에서 순수 C/C++만으로 메타(Meta)의 LLaMA 모델을 빠르고 가볍게 구동하기 위해 시작되었습니다. 이후 범용성을 넓혀 대다수의 하드웨어를 지원하는 거대한 프로젝트로 성장했습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;플랫폼 및 언어&lt;/strong&gt;: &lt;code&gt;C/C++&lt;/code&gt; (어떠한 외부 라이브러리나 의존성도 필요로 하지 않습니다.)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-목표-및-특장점"&gt;🎯 목표 및 특장점&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;극강의 이식성과 가벼움&lt;/strong&gt;: 외부 의존성이 없기 때문에 Windows, Linux, macOS뿐만 아니라 라즈베리 파이(Raspberry Pi), 스마트폰 등 수많은 엣지(Edge) 디바이스에서 실행이 가능한 엄청난 호환성을 자랑합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;가혹한 자원 환경에서의 최적화&lt;/strong&gt;: 메모리 요구량을 줄이는 양자화(Quantization) 기술을 활용해, 값비싼 고사양 GPU가 없는 일반 소비자용 PC에서도 무거운 대용량 LLM을 구동하는 데 최적화되어 있습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-지원-모델-특징-및-포맷"&gt;📦 지원 모델 특징 및 포맷&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;포맷&lt;/strong&gt;: 자체 개발된 통합 양자화 포맷인 &lt;strong&gt;GGUF&lt;/strong&gt; 확장자를 사용합니다.&lt;/li&gt;
&lt;li&gt;모델의 파라미터 구조와 추론에 필요한 모든 하이퍼파라미터 메타데이터가 단일 파일에 패키징되어 있어 관리가 매우 편리합니다. 허깅페이스(Hugging Face)에서 &lt;code&gt;-GGUF&lt;/code&gt; 접미사가 붙은 모델을 검색하여 내려받으면 됩니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;자동 다운로드 및 저장 위치&lt;/strong&gt;: 보통은 GGUF 파일을 사용자가 수동 다운로드하여 경로를 지정하는 것이 일반적입니다. 하지만 파이썬 라이브러리나 최신 툴에서는 허깅페이스 저장소에서 &lt;strong&gt;자동 다운로드&lt;/strong&gt;를 수행할 수도 있습니다. 허깅페이스 생태계를 통한 모델 자동 다운로드 시, 모델은 로컬의 &lt;code&gt;~/.cache/huggingface/hub/&lt;/code&gt; 경로에 저장됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-간단한-설치-및-실행-방법"&gt;🚀 간단한 설치 및 실행 방법&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# macOS 패키지 관리자 Homebrew를 통한 쉬운 CLI 전용 설치&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;brew install llama.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# 파이썬 스크립트에서 활용하기 위한 패키지 설치&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install llama-cpp-python
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# Homebrew로 설치한 CLI 명령어를 통해 다운로드한 GGUF 모델 실행&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;llama-cli -m ./models/llama-3-8b.gguf -p &lt;span style="color:#f1fa8c"&gt;&amp;#34;양자컴퓨터의 원리에 대해 설명해 줘&amp;#34;&lt;/span&gt; -n &lt;span style="color:#bd93f9"&gt;512&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="2-vllm"&gt;2. vLLM&lt;/h2&gt;
&lt;h3 id="-개발-목적-및-플랫폼-언어-1"&gt;📌 개발 목적 및 플랫폼 언어&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;개발 목적&lt;/strong&gt;: 버클리 대학 연수진이 여러 사용자의 요청이 동시에 일어나는 엔터프라이즈 기반의 프로덕션(서버) 환경에서 &amp;lsquo;메모리 단편화 병목&amp;rsquo;을 해소하고 처리량(Throughput)을 고도로 극대화하기 위해 개발한 엔진입니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;플랫폼 및 언어&lt;/strong&gt;: &lt;code&gt;Python&lt;/code&gt; 파이프라인과 내부 최적화를 위한 &lt;code&gt;C++ (CUDA)&lt;/code&gt; 생태계를 사용하며, 주로 &lt;strong&gt;NVIDIA GPU&lt;/strong&gt;에 최적화되어 있습니다. (최근 AMD ROCm 및 뉴럴 프로세서도 점진적 지원 중)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-목표-및-특장점-1"&gt;🎯 목표 및 특장점&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PagedAttention 도입&lt;/strong&gt;: 운영체제의 가상 메모리 페이징 기법에서 착안하여, LLM이 문장을 생성할 때 사용하는 KV 캐시 메모리의 심각한 낭비(단편화)를 거의 0에 가깝게 줄였습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;압도적인 엔터프라이즈 처리량&lt;/strong&gt;: 일반 허깅페이스 트랜스포머 라이브러리와 비교해 동시 다발적인 추론 속도가 최대 수십 배 빠르며, 즉시 프로덕션에 투입할 수 있도록 OpenAI API와 호환되는 웹 서버를 자체 제공합니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-지원-모델-특징-및-포맷-1"&gt;📦 지원 모델 특징 및 포맷&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;포맷&lt;/strong&gt;: 허깅페이스 네이티브 포맷(&lt;code&gt;Safetensors&lt;/code&gt;, PyTorch Weights 등)을 그대로 가져다 바로 사용할 수 있습니다.&lt;/li&gt;
&lt;li&gt;속도와 효율성을 위해 GPTQ, AWQ 등 최신 GPU 양자화 포맷을 원활히 지원합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;자동 다운로드 및 저장 위치&lt;/strong&gt;: 런타임 실행 명령어에 모델명(예: &lt;code&gt;mistralai/...&lt;/code&gt;)만 입력하면 백그라운드에서 &lt;strong&gt;자동으로 모델을 다운로드하여 로드&lt;/strong&gt;합니다. 다운로드된 원본 모델 파일들은 로컬 환경의 &lt;code&gt;~/.cache/huggingface/hub/&lt;/code&gt; 경로에 캐싱됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-간단한-설치-및-실행-방법-1"&gt;🚀 간단한 설치 및 실행 방법&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# 파이썬 표준 패키지 관리자(pip, uv 등)를 통한 설치 (NVIDIA 환경 권장)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install vllm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# 또는 uv 환경에서: uv pip install vllm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# 설치 즉시 OpenAI API 완벽 호환 서버로 구동&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python -m vllm.entrypoints.openai.api_server &lt;span style="color:#f1fa8c"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --model mistralai/Mistral-7B-v0.1 &lt;span style="color:#f1fa8c"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --host 0.0.0.0 &lt;span style="color:#f1fa8c"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --port &lt;span style="color:#bd93f9"&gt;8000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="3-mlx-apple"&gt;3. MLX (Apple)&lt;/h2&gt;
&lt;h3 id="-개발-목적-및-플랫폼-언어-2"&gt;📌 개발 목적 및 플랫폼 언어&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;개발 목적&lt;/strong&gt;: 애플(Apple) 내 머신러닝 연구팀이 직접 주도하여, **Apple Silicon(M1, M2, M3 등)**의 구조적 장점을 100% 끌어내어 기계학습 모델의 트레이닝 및 초안 서빙 연구를 원활하게 만들기 위해 탄생했습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;플랫폼 및 언어&lt;/strong&gt;: &lt;code&gt;C++&lt;/code&gt; 및 &lt;code&gt;Python&lt;/code&gt; (macOS / Apple Silicon 전용)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-목표-및-특장점-2"&gt;🎯 목표 및 특장점&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;통합 메모리(Unified Memory)의 완벽한 활용&lt;/strong&gt;: CPU와 GPU가 같은 램(RAM) 영역을 공유하는 애플 칩의 특성을 tận용하여, 메모리를 CPU 영역에서 GPU 영역으로 옮기는 복사 트랜잭션 오버헤드(지연 시간)가 발생하지 않습니다. 뛰어난 에너지 효율성과 속도를 제공합니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PyTorch와 닳은 친숙한 인터페이스&lt;/strong&gt;: PyTorch나 NumPy를 사용하던 ML 엔지니어라면 별도의 학습 없이 바로 사용할 수 있게끔 가장 직관적이고 친숙한 API 설계를 채택했습니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-지원-모델-특징-및-포맷-2"&gt;📦 지원 모델 특징 및 포맷&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;포맷&lt;/strong&gt;: 허깅페이스 구조를 따르되 Apple의 칩 연산 구조에 최적화된 **MLX 변환 포맷(.safetensors 기반)**을 사용합니다. 주로 허깅페이스의 &lt;code&gt;mlx-community&lt;/code&gt; 채널 등을 통해 변환된 가중치들을 배포 및 다운로드할 수 있습니다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;자동 다운로드 및 저장 위치&lt;/strong&gt;: Python API 및 CLI 환경에서 허깅페이스 모델 ID를 지정해 주면, 누락된 가중치 파일을 &lt;strong&gt;자동으로 다운로드&lt;/strong&gt;합니다. 이 역시 표준 규칙에 따라 로컬의 &lt;code&gt;~/.cache/huggingface/hub/&lt;/code&gt; 경로 하위에 저장됩니다.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="-간단한-설치-및-실행-방법-2"&gt;🚀 간단한 설치 및 실행 방법&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# 초고속 파이썬 패키지 관리자 uv를 이용한 MLX 전용 패키지 설치&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;uv pip install mlx-lm
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# (기본 방식: pip install mlx-lm)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#6272a4"&gt;# CLI 환경에서 MLX API를 이용해 즉각적인 언어 생성 실행&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;mlx_lm.generate &lt;span style="color:#f1fa8c"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --model mlx-community/Qwen2.5-7B-Instruct-4bit &lt;span style="color:#f1fa8c"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --prompt &lt;span style="color:#f1fa8c"&gt;&amp;#34;Harness Engineering에 대해 쉽게 설명해 줘&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="핵심-요약-및-선택-가이드"&gt;핵심 요약 및 선택 가이드&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: left"&gt;비교 항목&lt;/th&gt;
&lt;th style="text-align: left"&gt;llama.cpp&lt;/th&gt;
&lt;th style="text-align: left"&gt;vLLM&lt;/th&gt;
&lt;th style="text-align: left"&gt;MLX&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;주요 목적&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;이식성 및 엣지 디바이스 가동 효율화&lt;/td&gt;
&lt;td style="text-align: left"&gt;B2B, 프로덕션 서버 동시 다중 쓰레드 처리&lt;/td&gt;
&lt;td style="text-align: left"&gt;맥북 생태계 내 최적의 기계학습 활용 및 연구&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;주 타겟 하드웨어&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;전천후 범용 (CPU 중심, 가벼운 GPU, Edge 단말)&lt;/td&gt;
&lt;td style="text-align: left"&gt;고사양 NVIDIA 엔터프라이즈 환경 (A100, H100 등)&lt;/td&gt;
&lt;td style="text-align: left"&gt;Apple Mac 단말 시리즈 (M1 ~ M3)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;핵심 경쟁 기술&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;단일 패키징 기반의 GGUF 고효율 양자화&lt;/td&gt;
&lt;td style="text-align: left"&gt;방대한 KV 캐싱을 정리하는 PagedAttention&lt;/td&gt;
&lt;td style="text-align: left"&gt;메모리 병목이 없는 Unified Memory 접근&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;지원 모델 구조&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;code&gt;.gguf&lt;/code&gt; 독립 포맷 한정&lt;/td&gt;
&lt;td style="text-align: left"&gt;원본 Safetensors 및 AWQ, GPTQ&lt;/td&gt;
&lt;td style="text-align: left"&gt;MLX 특화 변환 Safetensors&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;자동 다운로드&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;수동 다운로드 주류 (최신 도구 자동 지원)&lt;/td&gt;
&lt;td style="text-align: left"&gt;실행 시 자동 다운로드&lt;/td&gt;
&lt;td style="text-align: left"&gt;실행 시 자동 다운로드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: left"&gt;&lt;strong&gt;기본 저장 위치&lt;/strong&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;지정 파일 경로 (자동다운은 &lt;code&gt;~/.cache/huggingface/hub/&lt;/code&gt;)&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;code&gt;~/.cache/huggingface/hub/&lt;/code&gt;&lt;/td&gt;
&lt;td style="text-align: left"&gt;&lt;code&gt;~/.cache/huggingface/hub/&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ol&gt;
&lt;li&gt;사양이 높지 않은 일반 컴퓨터나 라즈베리 파이 등으로 어떻게든 LLM을 구동하며 자원을 최소화하고 싶다면 &lt;strong&gt;llama.cpp&lt;/strong&gt;(혹은 내부 엔진을 공유하는 Ollama/LM Studio)가 최적입니다.&lt;/li&gt;
&lt;li&gt;수백 명의 동시 사용자가 있는 대규모 서비스를 구축하기 위해 클라우드 GPU 자원을 최대로 뽑아내는 고성능 API 런타임이 필요하다면 &lt;strong&gt;vLLM&lt;/strong&gt;을 채택해야 합니다.&lt;/li&gt;
&lt;li&gt;가장 최신의 M시리즈 Mac 디바이스를 소유하고 있으며, 로컬에서 허깅페이스 생태계를 파이썬 코드 레벨로 직접 튜닝하고 실험해보고 싶은 로컬 기반 연구자라면 &lt;strong&gt;MLX&lt;/strong&gt;가 독보적인 편의성과 성능을 제공할 것입니다.&lt;/li&gt;
&lt;/ol&gt;</description></item></channel></rss>