Skip to main content
PromptQuorumPromptQuorum
Home/Local LLMs/Text-Generation-WebUI vs vLLM vs llama.cpp 2026๋…„ ๋น„๊ต: ์ถ”๋ก  ์—”์ง„ ์™„๋ฒฝ ๊ฐ€์ด๋“œ
Tools & Interfaces

Text-Generation-WebUI vs vLLM vs llama.cpp 2026๋…„ ๋น„๊ต: ์ถ”๋ก  ์—”์ง„ ์™„๋ฒฝ ๊ฐ€์ด๋“œ

ยท13๋ถ„ ์ฝ๊ธฐยทBy Hans Kuepper ยท Founder of PromptQuorum, multi-model AI dispatch tool ยท PromptQuorum

Text-Generation-WebUI, vLLM, llama.cpp๋Š” ๋กœ์ปฌ LLM ์‹คํ–‰์„ ์œ„ํ•œ ์„ธ ๊ฐ€์ง€ ๋Œ€ํ‘œ์ ์ธ ์ถ”๋ก  ์—”์ง„์œผ๋กœ, ๊ฐ๊ฐ ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ ๋ชฉ์ ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. llama.cpp๋Š” ๊ฐ€์žฅ ๊ฐ€๋ณ๊ณ  Ollama์˜ ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค. vLLM์€ ๊ณ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ”„๋กœ๋•์…˜ API์—์„œ ๊ฐ€์žฅ ๋น ๋ฆ…๋‹ˆ๋‹ค. Text-Generation-WebUI๋Š” ์‹คํ—˜ ๋ฐ ์—ฐ๊ตฌ์— ๊ฐ€์žฅ ํ’๋ถ€ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Text-Generation-WebUI, vLLM, llama.cpp๋Š” ๋กœ์ปฌ LLM ์‹คํ–‰์„ ์œ„ํ•œ ์„ธ ๊ฐ€์ง€ ๋Œ€ํ‘œ์ ์ธ ์ถ”๋ก  ์—”์ง„์œผ๋กœ, ๊ฐ๊ฐ ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ์šฉ ๋ชฉ์ ์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. llama.cpp๋Š” ๊ฐ€์žฅ ๊ฐ€๋ณ๊ณ  Ollama์˜ ๊ธฐ๋ฐ˜์ด ๋ฉ๋‹ˆ๋‹ค. vLLM์€ ๊ณ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ”„๋กœ๋•์…˜ API์—์„œ ๊ฐ€์žฅ ๋น ๋ฆ…๋‹ˆ๋‹ค. Text-Generation-WebUI๋Š” ์‹คํ—˜ ๋ฐ ์—ฐ๊ตฌ์— ๊ฐ€์žฅ ํ’๋ถ€ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 2026๋…„ 4์›” ๊ธฐ์ค€์œผ๋กœ vLLM์€ ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ ๋ถ„์•ผ๋ฅผ, llama.cpp๋Š” ์†Œ๋น„์ž ๊ธฐ๊ธฐ ๋ถ„์•ผ๋ฅผ, Text-Generation-WebUI๋Š” ์—ฐ๊ตฌ ๋ฐ ํŒŒ์ธํŠœ๋‹ ์›Œํฌํ”Œ๋กœ ๋ถ„์•ผ๋ฅผ ์ฃผ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Slide Deck: Text-Generation-WebUI vs vLLM vs llama.cpp 2026๋…„ ๋น„๊ต: ์ถ”๋ก  ์—”์ง„ ์™„๋ฒฝ ๊ฐ€์ด๋“œ

์•„๋ž˜ ์Šฌ๋ผ์ด๋“œ ๋ฑ์€ ๋‹ค์Œ ๋‚ด์šฉ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค: vLLM vs llama.cpp vs Text-Generation-WebUI ๊ธฐ๋Šฅ ๋น„๊ต, ์„ฑ๋Šฅ ๋ฒค์น˜๋งˆํฌ(์ตœ๋Œ€ 1000+ tok/s), ํ”„๋กœ๋•์…˜ ์˜์‚ฌ๊ฒฐ์ • ํ”„๋ ˆ์ž„์›Œํฌ, LoRA ํŒŒ์ธํŠœ๋‹ ์‚ฌ์šฉ ์‚ฌ๋ก€, ์ง€์—ญ๋ณ„ ์ปดํ”Œ๋ผ์ด์–ธ์Šค(EU/์ผ๋ณธ/์ค‘๊ตญ). PDF๋ฅผ ์ถ”๋ก  ์—”์ง„ ์ฐธ์กฐ ์นด๋“œ๋กœ ๋‹ค์šด๋กœ๋“œํ•˜์‹ญ์‹œ์˜ค.

Browse the slides below or download as PDF for offline reference. Download Reference Card (PDF)

Key Takeaways

  • ์ถ”๋ก  ์—”์ง„์€ ๋ชจ๋ธ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™€ ํ† ํฐ์„ ์ƒ์„ฑํ•˜๋Š” C/C++/Python ์†Œํ”„ํŠธ์›จ์–ด์ž…๋‹ˆ๋‹ค. UI ๋˜๋Š” API ๊ณ„์ธต๊ณผ๋Š” ๋ณ„๊ฐœ์ž…๋‹ˆ๋‹ค.
  • llama.cpp = ๊ฒฝ๋Ÿ‰, CPU ํšจ์œจ์ , Ollama์˜ ๊ธฐ๋ฐ˜. ์ตœ์  ์‚ฌ์šฉ ํ™˜๊ฒฝ: ์†Œ๋น„์ž์šฉ ๋…ธํŠธ๋ถ, ๋‹จ์ผ ์‚ฌ์šฉ์ž, ์˜์กด์„ฑ ์—†์Œ.
  • vLLM = ํ”„๋กœ๋•์…˜๊ธ‰, ์ตœ๋Œ€ GPU ์ฒ˜๋ฆฌ๋Ÿ‰, ๋ฐฐ์นญ ๋ฐ ๋ถ„์‚ฐ ์ถ”๋ก  ์ง€์›. ์ตœ์  ์‚ฌ์šฉ ํ™˜๊ฒฝ: API ์„œ๋ฒ„, ๋‹ค์ค‘ ์‚ฌ์šฉ์ž, ๊ณ ์ฒ˜๋ฆฌ๋Ÿ‰.
  • Text-Generation-WebUI = ๋‚ด์žฅ ์›น UI๊ฐ€ ์žˆ๋Š” ๊ธฐ๋Šฅ ํ’๋ถ€ํ•œ ์‹คํ—˜ ๋„๊ตฌ. ์ตœ์  ์‚ฌ์šฉ ํ™˜๊ฒฝ: ํŒŒ์ธํŠœ๋‹, LoRA ํ…Œ์ŠคํŠธ, ๊ณ ๊ธ‰ ์„ค์ • ์กฐ์ •.
  • 2026๋…„ 4์›” ๊ธฐ์ค€์œผ๋กœ vLLM์€ ํ”„๋กœ๋•์…˜ ์‚ฌ์šฉ์„, llama.cpp๋Š” ์†Œ๋น„์ž ์‚ฌ์šฉ์„, Text-Generation-WebUI๋Š” ์—ฐ๊ตฌ/ํŒŒ์ธํŠœ๋‹ ๋ถ„์•ผ๋ฅผ ์ฃผ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ”๋ก  ์—”์ง„์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€?

์ถ”๋ก  ์—”์ง„์€ ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์™€ ํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ˆ˜ํ•™์  ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค(Open WebUI ๋˜๋Š” Enchanted UI ๋“ฑ)๋‚˜ API ๊ณ„์ธต(Ollama REST API ๋“ฑ)๊ณผ๋Š” ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์ธ ๋กœ์ปฌ LLM ๋ฐฐํฌ๋Š” ์„ธ ๊ฐ€์ง€ ๊ณ„์ธต์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค:

1. ๋ชจ๋ธ ํŒŒ์ผ (์˜ˆ: llama-3.1-8b.gguf) -- ์‹ ๊ฒฝ๋ง ๊ฐ€์ค‘์น˜.

2. ์ถ”๋ก  ์—”์ง„ (์˜ˆ: llama.cpp, vLLM) -- ๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์™€ ํ† ํฐ์„ ์ƒ์„ฑ.

3. ์ธํ„ฐํŽ˜์ด์Šค ๋˜๋Š” API (์˜ˆ: REST API, ์›น ์ฑ„ํŒ…, VS Code ํ™•์žฅ) -- ์—”์ง„๊ณผ ์ƒํ˜ธ์ž‘์šฉ.

Ollama ์ž์ฒด๋Š” ์ฃผ๋กœ OpenAI ํ˜ธํ™˜ API๋ฅผ ๊ฐ–์ถ˜ llama.cpp์˜ ๋ž˜ํผ์ž…๋‹ˆ๋‹ค. vLLM์€ ๋‚ด์žฅ UI๊ฐ€ ์—†๋Š” ์ถ”๋ก  ์—”์ง„์ž…๋‹ˆ๋‹ค. Text-Generation-WebUI๋Š” ๋‚ด์žฅ ์›น UI๊ฐ€ ์žˆ๋Š” ์ถ”๋ก  ์—”์ง„์ž…๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ ๋น„๊ต: llama.cpp vs vLLM vs Text-Generation-WebUI

Featurellama.cppvLLMText-Gen-WebUI
์œ ํ˜•C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (๊ฒฝ๋Ÿ‰)Python ํ”„๋ ˆ์ž„์›Œํฌ (ํ”„๋กœ๋•์…˜)Python ์•ฑ (์‹คํ—˜์šฉ)
GPU ์ง€์›NVIDIA, AMD, Apple MetalNVIDIA๋งŒ (์ตœ๊ณ  ์ง€์›)NVIDIA, AMD, CPU
CPU ์ถ”๋ก ์šฐ์ˆ˜๋ถˆ๋Ÿ‰์–‘ํ˜ธ
์ฒ˜๋ฆฌ๋Ÿ‰ (ํ† ํฐ/์ดˆ)์ค‘๊ฐ„ (1-100)๋งค์šฐ ๋†’์Œ (100-1000+)์ค‘๊ฐ„ (1-100)
๋ฐฐ์นญ ์ง€์›์ œํ•œ์ ์™„์ „ ์ง€์› (100๊ฐœ ์ด์ƒ ๋ฐฐ์นญ)์ œํ•œ์ 
๋‚ด์žฅ ์›น UI์—†์Œ์—†์Œ์žˆ์Œ
LoRA ํŒŒ์ธํŠœ๋‹์ง์ ‘ ์ง€์› ๋ถˆ๊ฐ€์ œํ•œ์ ๋‚ด์žฅ
์–‘์žํ™” ํ˜•์‹GGUF, GGML์ „์ •๋ฐ€๋„, 8๋น„ํŠธ, 4๋น„ํŠธGGUF, safetensors, fp16
์„ค์ • ๋‚œ์ด๋„Ollama ๊ฒฝ์œ  (์‰ฌ์›€)pip install (์ค‘๊ฐ„)GitHub ํด๋ก  (์ค‘๊ฐ„)
๊ฐ€๊ฒฉ๋ฌด๋ฃŒ๋ฌด๋ฃŒ๋ฌด๋ฃŒ
๊ธฐ๋Šฅ ๋น„๊ต: llama.cpp(C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, GGUF, CUDA + Metal) vs vLLM(Python ํ”„๋ ˆ์ž„์›Œํฌ, 100-1000+ tok/s GPU, NVIDIA ์ „์šฉ) vs Text-Generation-WebUI(Python ์•ฑ, GGUF + safetensors, LoRA ๋‚ด์žฅ).
๊ธฐ๋Šฅ ๋น„๊ต: llama.cpp(C++ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, GGUF, CUDA + Metal) vs vLLM(Python ํ”„๋ ˆ์ž„์›Œํฌ, 100-1000+ tok/s GPU, NVIDIA ์ „์šฉ) vs Text-Generation-WebUI(Python ์•ฑ, GGUF + safetensors, LoRA ๋‚ด์žฅ).

llama.cpp ์ดํ•ดํ•˜๊ธฐ: ๊ธฐ๋ฐ˜ ์—”์ง„

llama.cpp๋Š” GPU ๊ฐ€์† ์—†์ด๋„ ์†Œ๋น„์ž์šฉ ํ•˜๋“œ์›จ์–ด์—์„œ Meta์˜ Llama ๋ชจ๋ธ์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ฒ˜์Œ ๊ฐœ๋ฐœ๋œ LLM ์ถ”๋ก ์˜ C++ ๊ตฌํ˜„์ฒด์ž…๋‹ˆ๋‹ค. 2026๋…„ 4์›” ๊ธฐ์ค€์œผ๋กœ๋„ ๊ฐ€์žฅ ๊ฐ€๋ณ๊ณ  ์ด์‹์„ฑ์ด ๋†’์€ ์ถ”๋ก  ์—”์ง„์œผ๋กœ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

llama.cpp๊ฐ€ ์†Œ๋น„์ž ์‚ฌ์šฉ ๋ถ„์•ผ๋ฅผ ์ฃผ๋„ํ•˜๋Š” ์ด์œ :

  • ์ตœ์†Œ ๋ฉ”๋ชจ๋ฆฌ ์˜ค๋ฒ„ํ—ค๋“œ -- CPU๋งŒ์œผ๋กœ 8GB RAM์—์„œ ์‹คํ–‰ ๊ฐ€๋Šฅ.
  • ๋‹ค์–‘ํ•œ GPU ๋ฐฑ์—”๋“œ ์ง€์› (NVIDIA, AMD, Apple Metal, Intel).
  • GGUF ํ˜•์‹: 70B ๋ชจ๋ธ์„ 20-40GB๋กœ ์••์ถ•ํ•˜๋Š” ์–‘์žํ™” ๋ชจ๋ธ ํ˜•์‹.
  • Ollama ๋‚ด๋ถ€์—์„œ ๊ตฌ๋™ -- Ollama ์‹คํ–‰ ์‹œ ํ•ญ์ƒ llama.cpp๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

llama.cpp๋Š” ์™„์ „ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์•„๋‹Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. Ollama(๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•)๋ฅผ ํ†ตํ•ด ๋˜๋Š” ์ด๋ฅผ ํ†ตํ•ฉํ•œ ๋‹ค๋ฅธ ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ธ‰ ํŠœ๋‹์„ ์œ„ํ•ด llama.cpp๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ปดํŒŒ์ผ ํ›„ ์ปค๋งจ๋“œ๋ผ์ธ ๋„๊ตฌ๋‚˜ Python ๋ฐ”์ธ๋”ฉ์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

vLLM ์ดํ•ดํ•˜๊ธฐ: ํ”„๋กœ๋•์…˜ ํ‘œ์ค€

vLLM์€ GPU ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๊ณ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ถ”๋ก ์„ ์œ„ํ•ด ์„ค๊ณ„๋œ Python ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ๋ฐฐ์นญ, ๋ถ„์‚ฐ ์ถ”๋ก , ๊ณ ๊ธ‰ ์Šค์ผ€์ค„๋ง์„ ์ง€์›ํ•˜์—ฌ API๋ฅผ ํ†ตํ•œ ๋ชจ๋ธ ์„œ๋น™์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

vLLM์ด ํ”„๋กœ๋•์…˜ ๋ถ„์•ผ๋ฅผ ์ฃผ๋„ํ•˜๋Š” ์ด์œ :

  • Paged Attention: vLLM์€ GPU ํ™œ์šฉ๋ฅ ์„ ~20%์—์„œ ~70%๋กœ ๊ฐœ์„ ํ•˜์—ฌ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๊ทน์ ์œผ๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋Š” ์ƒˆ๋กœ์šด ๋ฉ”๋ชจ๋ฆฌ ๋ ˆ์ด์•„์›ƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ: 50-100๊ฐœ์˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•˜์—ฌ GPU๋‹น ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ์„œ๋น™ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ„์‚ฐ ์ถ”๋ก : 70B ๋ชจ๋ธ์„ ์—ฌ๋Ÿฌ GPU์— ์ž๋™์œผ๋กœ ๋ถ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.
  • ํญ๋„“์€ ๋ชจ๋ธ ์ง€์›: HuggingFace ๋ชจ๋ธ(Llama, Qwen, Mistral, Phi ๋“ฑ) ๋ชจ๋‘ ์ง€์›.

2026๋…„ 4์›” ๊ธฐ์ค€์œผ๋กœ ๊ธฐ์—…์˜ ๋Œ€๋ถ€๋ถ„ ํ”„๋กœ๋•์…˜ ๋กœ์ปฌ LLM ๋ฐฐํฌ์— vLLM์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋‹จ์ ์€ vLLM์ด NVIDIA GPU๋ฅผ ํ•„์š”๋กœ ํ•˜๋ฉฐ CPU ์„ฑ๋Šฅ์ด ๋‚ฎ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

bash
# vLLM ์„ค์น˜
pip install vllm

# API๋กœ ๋ชจ๋ธ ์‹คํ–‰
vllm serve meta-llama/Llama-3.3-8B-Instruct \
  --host 0.0.0.0 --port 8000 \
  --gpu-memory-utilization 0.9

# http://localhost:8000/v1/completions ์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅ

Text-Generation-WebUI ์ดํ•ดํ•˜๊ธฐ: ์—ฐ๊ตฌ์ž์˜ ๋„๊ตฌ

Text-Generation-WebUI(oobabooga๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ)๋Š” ๋ชจ๋ธ ์‹คํ—˜์„ ์œ„ํ•œ ์›น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋‚ด์žฅ๋œ ์™„์ „ํ•œ ๊ธฐ๋Šฅ์˜ Python ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. ํŒŒ์ธํŠœ๋‹, LoRA ํ•™์Šต, ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ, ๊ณ ๊ธ‰ ํ”„๋กฌํ”„ํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋‚ด์žฅ ๋„๊ตฌ์™€ ํ•จ๊ป˜ ์ถ”๋ก  ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ตฌ์ž๋“ค์ด Text-Generation-WebUI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ :

  • ๋‚ด์žฅ LoRA ํŒŒ์ธํŠœ๋‹: ์™ธ๋ถ€ ํ•™์Šต ์Šคํฌ๋ฆฝํŠธ ์—†์ด ๋ฒ ์ด์Šค ๋ชจ๋ธ ์œ„์— ์ปค์Šคํ…€ LoRA ์–ด๋Œ‘ํ„ฐ๋ฅผ ํ•™์Šต์‹œํ‚ต๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ์ถ”๋ก  ์—”์ง„: llama.cpp, GPTQ, exllama ๋“ฑ ์—ฌ๋Ÿฌ ๋ฐฑ์—”๋“œ ๊ฐ„ ์ „ํ™˜์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ์บ๋ฆญํ„ฐ ๋กคํ”Œ๋ ˆ์ด: ์บ๋ฆญํ„ฐ ํŽ˜๋ฅด์†Œ๋‚˜ ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ ๋‚ด์žฅ ์‹œ์Šคํ…œ.
  • API ๋…ธ์ถœ: ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹ ์‚ฌ์šฉ์„ ์œ„ํ•œ FastAPI ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต.
  • ํ™•์žฅ ์—์ฝ”์‹œ์Šคํ…œ: ์ปค์Šคํ…€ ์›Œํฌํ”Œ๋กœ๋ฅผ ์œ„ํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ ์ œ์ž‘ ํ™•์žฅ.

Text-Generation-WebUI๋Š” ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„๋ณด๋‹ค๋Š” ์—ฐ๊ตฌ ๋ฐ ์‹คํ—˜ ๋„๊ตฌ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ์„ค์ •์ด ๋” ๋ณต์žกํ•˜์ง€๋งŒ(GitHub ํด๋ก  ๋ฐ Python ์˜์กด์„ฑ ๊ด€๋ฆฌ ํ•„์š”), ์ผ๋‹จ ์‹คํ–‰๋˜๋ฉด ๊ฐœ๋ฐœ์— ๋งค์šฐ ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ์—”์ง„์˜ ์†๋„๋Š”? ์ฒ˜๋ฆฌ๋Ÿ‰ ๋น„๊ต

์ฒ˜๋ฆฌ๋Ÿ‰(์ดˆ๋‹น ํ† ํฐ ์ˆ˜)์€ ๋ชจ๋ธ ํฌ๊ธฐ, ํ•˜๋“œ์›จ์–ด, ์—”์ง„ ์ตœ์ ํ™”์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. 2026๋…„ 4์›” ๊ธฐ์ค€ ์†Œ๋น„์ž์šฉ ํ•˜๋“œ์›จ์–ด์—์„œ์˜ ์‹ค์ œ ๋ฒค์น˜๋งˆํฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

Scenariollama.cppvLLMText-Gen-WebUI
Llama 3.3 8B (RTX 4090 GPU)150 ํ† ํฐ/์ดˆ300 ํ† ํฐ/์ดˆ (๋ฐฐ์นญ ์‹œ)150 ํ† ํฐ/์ดˆ
Llama 3.3 8B (8์ฝ”์–ด CPU)5 ํ† ํฐ/์ดˆ0.5 ํ† ํฐ/์ดˆ (์‚ฌ์šฉ ๋ถˆ๊ฐ€)4 ํ† ํฐ/์ดˆ
Llama 3.3 70B (RTX 4090 2์žฅ)20 ํ† ํฐ/์ดˆ (๋‹จ์ผ GPU)100 ํ† ํฐ/์ดˆ (๋ถ„์‚ฐ)20 ํ† ํฐ/์ดˆ
Phi-3 3.8B (M4 MacBook Pro)30 ํ† ํฐ/์ดˆํ•ด๋‹น ์—†์Œ (Metal ๋ฏธ์ง€์›)25 ํ† ํฐ/์ดˆ
์„ฑ๋Šฅ ์ฐจํŠธ: llama.cpp์™€ Text-Gen-WebUI๋Š” RTX 4090์—์„œ ~150 tok/s๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. vLLM์€ ์š”์ฒญ ๋ฐฐ์นญ์œผ๋กœ 300 tok/s๋ฅผ ๋‹ฌ์„ฑํ•˜์ง€๋งŒ CPU์—์„œ๋Š” ~0.5 tok/s๋กœ CPU ์ „์šฉ ์ถ”๋ก ์—๋Š” ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์„ฑ๋Šฅ ์ฐจํŠธ: llama.cpp์™€ Text-Gen-WebUI๋Š” RTX 4090์—์„œ ~150 tok/s๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. vLLM์€ ์š”์ฒญ ๋ฐฐ์นญ์œผ๋กœ 300 tok/s๋ฅผ ๋‹ฌ์„ฑํ•˜์ง€๋งŒ CPU์—์„œ๋Š” ~0.5 tok/s๋กœ CPU ์ „์šฉ ์ถ”๋ก ์—๋Š” ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ์— ์ ํ•ฉํ•œ ์—”์ง„์€?

vLLM์€ 2026๋…„ 4์›” ๊ธฐ์ค€ ํ”„๋กœ๋•์…˜ ํ‘œ์ค€์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜์—์„œ ๋กœ์ปฌ LLM API๋ฅผ ์šด์˜ํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ์—…์€ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ตœ์ ํ™”์™€ ๋ฐฐ์นญ ์ง€์› ๋•๋ถ„์— vLLM์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ผ vLLM ์ธ์Šคํ„ด์Šค๋Š” ํ•˜๋‚˜์˜ GPU์—์„œ 50๋ช… ์ด์ƒ์˜ ๋™์‹œ ์‚ฌ์šฉ์ž๋ฅผ ์„œ๋น™ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, llama.cpp์˜ ๊ฒฝ์šฐ 1-2๋ช…์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํ”„๋กœ๋•์…˜ ์„ ํƒ์€ ์ œ์•ฝ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค:

  • ์ œํ•œ๋œ GPU๋กœ ํ•˜๋ฃจ 100๊ฑด ์ด์ƒ์˜ ์š”์ฒญ ์„œ๋น™: vLLM ์‚ฌ์šฉ (์ตœ๊ณ  ์ฒ˜๋ฆฌ๋Ÿ‰).
  • CPU ๋˜๋Š” Apple Silicon๋งŒ์œผ๋กœ ์„œ๋น™: Ollama ๊ฒฝ์œ  llama.cpp ์‚ฌ์šฉ (์ตœ๊ณ  CPU ์ง€์›).
  • Llama ๋ชจ๋ธ ์ „์šฉ ์‚ฌ์šฉ: llama.cpp ๋˜๋Š” vLLM ๋ชจ๋‘ ๊ฐ€๋Šฅ; vLLM์ด ๋” ๋น ๋ฆ…๋‹ˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ๋ชจ๋ธ ํ˜•์‹ ์‚ฌ์šฉ (GPTQ, GGUF, safetensors): Text-Generation-WebUI๊ฐ€ ๋ชจ๋‘ ์ง€์›; vLLM์€ ์ „์ •๋ฐ€๋„ ๋˜๋Š” ํŠน์ • ์–‘์žํ™” ํ˜•์‹ ํ•„์š”.

๊ฐ ์—”์ง„์€ ์–ธ์ œ ์„ ํƒํ•ด์•ผ ํ•˜๋Š”๊ฐ€?

๋‹ค์Œ ์˜์‚ฌ๊ฒฐ์ • ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค:

  • llama.cpp (Ollama ๊ฒฝ์œ ): ์†Œ๋น„์ž, ๋น„๊ฐœ๋ฐœ์ž์ด๊ฑฐ๋‚˜ CPU/Apple Silicon์— ๋ฐฐํฌํ•˜๋Š” ๊ฒฝ์šฐ. ์ „๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.
  • vLLM: 50๋ช… ์ด์ƒ์˜ ๋™์‹œ ์‚ฌ์šฉ์ž์—๊ฒŒ API๋ฅผ ์„œ๋น™ํ•˜๊ณ , NVIDIA GPU๋ฅผ ๋ณด์œ ํ•˜๋ฉฐ, ์ตœ๋Œ€ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ. ํ”„๋กœ๋•์…˜ ํ‘œ์ค€.
  • Text-Generation-WebUI: ๋ชจ๋ธ์„ ํŒŒ์ธํŠœ๋‹ํ•˜๊ฑฐ๋‚˜, LoRA ์–ด๋Œ‘ํ„ฐ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ฑฐ๋‚˜, ๊ณ ๊ธ‰ ์ถ”๋ก  ์„ค์ •์„ ์‹คํ—˜ํ•˜๋Š” ๊ฒฝ์šฐ. ์—ฐ๊ตฌ์— ์ตœ์ .
์ถ”๋ก  ์—”์ง„ ์˜์‚ฌ๊ฒฐ์ • ๊ฐ€์ด๋“œ: Mac/CPU ๋˜๋Š” Ollama์—๋Š” llama.cpp, NVIDIA GPU์™€ 50๋ช… ์ด์ƒ์˜ ๋™์‹œ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ๋Š” ํ”„๋กœ๋•์…˜์—๋Š” vLLM, LoRA ํŒŒ์ธํŠœ๋‹ ๋ฐ ์—ฐ๊ตฌ์—๋Š” Text-Generation-WebUI๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค.
์ถ”๋ก  ์—”์ง„ ์˜์‚ฌ๊ฒฐ์ • ๊ฐ€์ด๋“œ: Mac/CPU ๋˜๋Š” Ollama์—๋Š” llama.cpp, NVIDIA GPU์™€ 50๋ช… ์ด์ƒ์˜ ๋™์‹œ ์‚ฌ์šฉ์ž๊ฐ€ ์žˆ๋Š” ํ”„๋กœ๋•์…˜์—๋Š” vLLM, LoRA ํŒŒ์ธํŠœ๋‹ ๋ฐ ์—ฐ๊ตฌ์—๋Š” Text-Generation-WebUI๋ฅผ ์„ ํƒํ•˜์‹ญ์‹œ์˜ค.

์ง€์—ญ๋ณ„ ์ถ”๋ก  ์—”์ง„ ์„ ํƒ

์ถ”๋ก  ์—”์ง„์˜ ์„ ํƒ์€ ์„œ๋กœ ๋‹ค๋ฅธ ๊ทœ์ œ ๊ด€ํ•  ๊ตฌ์—ญ์— ๊ฑธ์ณ ์ง€์—ญ ์ปดํ”Œ๋ผ์ด์–ธ์Šค ๋ฐ ๊ธฐ์—… ๋ฐฐํฌ์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

  • EU / GDPR: EU ๊ธฐ์—… ๋ฐฐํฌ์˜ ๊ฒฝ์šฐ, ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์‹คํ–‰๋˜๋Š” vLLM์€ ๋ชจ๋“  ์ถ”๋ก ์„ EU ์ธํ”„๋ผ ๋‚ด์— ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค -- ํ† ํฐ, ํ”„๋กฌํ”„ํŠธ, ์ถœ๋ ฅ ์ค‘ ์–ด๋А ๊ฒƒ๋„ ์„œ๋ฒ„ ์™ธ๋ถ€๋กœ ์ „์†ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋…์ผ BSI IT-Grundschutz ์ปดํ”Œ๋ผ์ด์–ธ์Šค๋ฅผ ์œ„ํ•ด vLLM์€ ํ”„๋กœ๋•์…˜ ์—”์ง„์œผ๋กœ ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค. Prometheus ๋ฉ”ํŠธ๋ฆญ(/metrics ์—”๋“œํฌ์ธํŠธ)์„ ํ†ตํ•œ ๊ตฌ์กฐํ™”๋œ ๊ฐ์‚ฌ ๋กœ๊น…์„ ์ œ๊ณตํ•˜๋ฉฐ, ๋ชจ๋“  ๋ชจ๋ธ ๋ฒ„์ „์€ ์ปดํ”Œ๋ผ์ด์–ธ์Šค ๋ฌธ์„œํ™”๋ฅผ ์œ„ํ•ด HuggingFace ๋ชจ๋ธ ID๋กœ ๊ณ ์ • ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. Mistral ๋ชจ๋ธ(Mistral AI, ํ”„๋ž‘์Šค, Apache 2.0)์€ vLLM ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ EU ์„ ํ˜ธ ์„ ํƒ์ž…๋‹ˆ๋‹ค -- EU ์ถœ์ฒ˜, ๋ช…ํ™•ํ•œ ๋ผ์ด์„ ์Šค, ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ. vLLM ๋ช…๋ น์–ด: `vllm serve mistralai/Mistral-7B-Instruct-v0.3`
  • ์ผ๋ณธ (METI): METI AI ๊ฑฐ๋ฒ„๋„Œ์Šค๋Š” ์ถ”๋ก  ์ธํ”„๋ผ ๋ฌธ์„œํ™”๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค. vLLM์˜ ๊ตฌ์กฐํ™”๋œ Prometheus ๋ฉ”ํŠธ๋ฆญ์€ llama.cpp์˜ stdout ๋กœ๊น…๋ณด๋‹ค ๊ฐ์‚ฌ ์ถ”์  ์š”๊ฑด์„ ๋” ์ž˜ ์ถฉ์กฑํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ณธ ๊ธฐ์—… ๋ฐฐํฌ์˜ ๊ฒฝ์šฐ, vLLM์„ ํ†ตํ•œ Qwen3 7B๊ฐ€ ๊ถŒ์žฅ ์Šคํƒ์ž…๋‹ˆ๋‹ค -- ๋„ค์ดํ‹ฐ๋ธŒ ์ผ๋ณธ์–ด ํ† ํฌ๋‚˜์ด์ œ์ด์…˜๊ณผ ํ”„๋กœ๋•์…˜ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๊ฒฐํ•ฉํ•ฉ๋‹ˆ๋‹ค. vLLM ๋ช…๋ น์–ด: `vllm serve Qwen/Qwen3-7B-Instruct`
  • ์ค‘๊ตญ: ์ค‘๊ตญ ๋ฐ์ดํ„ฐ ์•ˆ์ „๋ฒ•(ๆ•ฐๆฎๅฎ‰ๅ…จๆณ•)์— ๋”ฐ๋ผ ๋ฏผ๊ฐํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ถ”๋ก ์€ ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. vLLM์€ Alibaba Cloud A10 ๋ฐ A100 GPU ์ธ์Šคํ„ด์Šค์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. Qwen3(Alibaba) ๋ชจ๋ธ์€ vLLM์— ๋„ค์ดํ‹ฐ๋ธŒ๋กœ ์ตœ์ ํ™”๋˜์–ด ์ตœ๊ณ ์˜ ์ค‘๊ตญ์–ด ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ค‘๊ตญ ๊ธฐ์—… ํ”„๋กœ๋•์…˜ ํ‘œ์ค€: 2026๋…„ 4์›” ๊ธฐ์ค€ Alibaba Cloud์—์„œ์˜ vLLM + Qwen3 14B.

์ถ”๋ก  ์—”์ง„ ์‚ฌ์šฉ ์‹œ ์ž์ฃผ ํ•˜๋Š” ์‹ค์ˆ˜

  • Ollama์™€ ์ด๋Ÿฌํ•œ ์—”์ง„ ์ค‘์—์„œ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ. Ollama๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ llama.cpp๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Ollama vs vLLM์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. vLLM์€ ์ฑ„ํŒ… ์•ฑ์ด ์•„๋‹Œ Ollama์˜ ๋Œ€์•ˆ *๋ฐฑ์—”๋“œ*์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ ์šฉ๋„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CPU์—์„œ vLLM์ด ๋” ๋น ๋ฅด๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋Š” ๊ฒƒ. vLLM์€ CPU ์„ฑ๋Šฅ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค. llama.cpp๋Š” CPU์—์„œ 10๋ฐฐ ๋น ๋ฆ…๋‹ˆ๋‹ค. vLLM์„ ์„ ํƒํ•˜๊ธฐ ์ „์— GPU ๊ฐ€์šฉ์„ฑ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ๋…ธํŠธ๋ถ GPU์—์„œ vLLM ์‹คํ–‰. vLLM์€ ๋ฐ์ดํ„ฐ์„ผํ„ฐ GPU(RTX 4090, A100)์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ๋น„์ž์šฉ GPU์—์„œ๋Š” vLLM์˜ ๋ฐฐ์นญ ์Šค์ผ€์ค„๋Ÿฌ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋‹จ์ผ ์š”์ฒญ ์„ฑ๋Šฅ์„ ์˜คํžˆ๋ ค ์ €ํ•˜์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ธํŠธ๋ถ์—๋Š” llama.cpp๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.
  • ์ถ”๋ก  ์ฒ˜๋ฆฌ๋Ÿ‰์ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ๋™์ผํ•˜๋‹ค๊ณ  ์ฐฉ๊ฐํ•˜๋Š” ๊ฒƒ. vLLM์€ 100๊ฐœ์˜ ์š”์ฒญ์„ ๋ฐฐ์นญํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ฐ ์š”์ฒญ์€ ์—ฌ์ „ํžˆ ํ† ํฐ์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์˜๋ฏธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.
  • Text-Generation-WebUI์˜ ์˜์กด์„ฑ์„ ์ž˜๋ชป ์„ค์น˜ํ•˜๋Š” ๊ฒƒ. GitHub ์ง€์นจ์€ Git, Python 3.10+, pip๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. Windows์—์„œ๋Š” ์ข…์ข… ์ž๋™์œผ๋กœ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ํด๋ก ํ•˜๊ธฐ ์ „์— ํ•ญ์ƒ Python ๋ฒ„์ „์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

์ถ”๋ก  ์—”์ง„์— ๊ด€ํ•œ ์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

๋ชจ๋ธ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  ์ถ”๋ก  ์—”์ง„์„ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. GGUF ํ˜•์‹์˜ ๋ชจ๋ธ ํŒŒ์ผ์€ llama.cpp(Ollama) ๋ฐ Text-Generation-WebUI์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. vLLM์€ ์ „์ •๋ฐ€๋„ ๋˜๋Š” ํŠน์ • ์–‘์žํ™” ํ˜•์‹์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. HuggingFace safetensors ๋ชจ๋ธ์€ ์„ธ ๊ฐ€์ง€ ๋ชจ๋‘์™€ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค.

Mac์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ์—”์ง„์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Ollama ๊ฒฝ์œ  llama.cpp์ž…๋‹ˆ๋‹ค. Apple Silicon(M ์‹œ๋ฆฌ์ฆˆ) ์ตœ์ ํ™”๊ฐ€ ์šฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. vLLM์€ Metal(Apple GPU)์„ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ CPU ์„ฑ๋Šฅ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค. Text-Generation-WebUI๋Š” Mac์—์„œ ์ž‘๋™ํ•˜์ง€๋งŒ Ollama๋ณด๋‹ค ๋А๋ฆฝ๋‹ˆ๋‹ค.

vLLM์€ Ollama์˜ ์ผ๋ถ€์ž…๋‹ˆ๊นŒ?

์•„๋‹™๋‹ˆ๋‹ค. Ollama๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ llama.cpp๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. vLLM์€ UC Berkeley๊ฐ€ ๊ฐœ๋ฐœํ•œ ๋ณ„๋„์˜ ์ถ”๋ก  ์—”์ง„์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ ๋‹ค๋ฅธ ๋ชฉ์ ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค: Ollama๋Š” ๊ฐ„ํŽธํ•จ์„ ์œ„ํ•œ ๊ฒƒ์ด๊ณ , vLLM์€ ํ”„๋กœ๋•์…˜ ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

GPU ์—†์ด vLLM์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์„ ์ •๋„๋กœ ๋А๋ฆฝ๋‹ˆ๋‹ค. vLLM์€ GPU์šฉ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. CPU ์ „์šฉ ๋ฐฐํฌ์—๋Š” llama.cpp(Ollama)๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

Text-Generation-WebUI๋ฅผ ํ”„๋กœ๋•์…˜์œผ๋กœ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Text-Generation-WebUI๋Š” ์—ฐ๊ตฌ ๋„๊ตฌ์ด์ง€ ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜ ์„œ๋น„์Šค์— ํ•„์š”ํ•œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ, ๋ชจ๋‹ˆํ„ฐ๋ง, ๋ถ„์‚ฐ ์ถ”๋ก  ๋“ฑ์˜ ๊ธฐ๋Šฅ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๋•์…˜์—๋Š” vLLM์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

Paged Attention์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์™œ ์ค‘์š”ํ•ฉ๋‹ˆ๊นŒ?

Paged Attention์€ ์šด์˜ ์ฒด์ œ์˜ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ฐœ๋…์„ ์ฐจ์šฉํ•œ vLLM์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์š”์ฒญ๋‹น ๊ณ ์ •๋œ ์—ฐ์† GPU ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก์„ ํ• ๋‹นํ•˜๋Š” ๋Œ€์‹ , ์š”์ฒญ ๊ฐ„์— ๊ณต์œ ํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŽ˜์ด์ง€ ๋‹จ์œ„๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด GPU ๋ฉ”๋ชจ๋ฆฌ ํ™œ์šฉ๋ฅ ์ด ~20%์—์„œ ~70%๋กœ ํ–ฅ์ƒ๋˜์–ด, ๋‹จ์ˆœํ•œ ์–ดํ…์…˜ ๊ตฌํ˜„์— ๋น„ํ•ด GPU๋‹น 3-4๋ฐฐ ๋” ๋งŽ์€ ๋™์‹œ ์‚ฌ์šฉ์ž๋ฅผ ์„œ๋น™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋‹ค์ค‘ ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ vLLM์ด llama.cpp๋ณด๋‹ค ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•˜๋Š” ํ•ต์‹ฌ ์ด์œ ์ž…๋‹ˆ๋‹ค.

RAM์ด 8GB๋ฐ–์— ์—†๋‹ค๋ฉด ์–ด๋–ค ์—”์ง„์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

Ollama ๊ฒฝ์œ  llama.cpp์ž…๋‹ˆ๋‹ค. ์ „์ฒด RAM 8GB ๊ธฐ์ค€์œผ๋กœ Q4_K_M์˜ 7B ๋ชจ๋ธ์€ ์•ฝ 4.7GB๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. llama.cpp๋Š” CPU์—์„œ ~5 tok/sec, ์ „์šฉ GPU์—์„œ ~80 tok/sec๋กœ ์ด๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. vLLM์€ ์ƒ๋‹นํžˆ ๋” ๋งŽ์€ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ํ•„์š”๋กœ ํ•˜๋ฉฐ ์†Œ๋น„์ž์šฉ RAM์—์„œ ์„ฑ๋Šฅ์ด ๋‚ฎ์Šต๋‹ˆ๋‹ค. Text-Generation-WebUI๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ Ollama๋ณด๋‹ค ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋” ํฝ๋‹ˆ๋‹ค.

๋™์ผํ•œ ๋จธ์‹ ์—์„œ vLLM๊ณผ Ollama๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

VRAM์ด ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ํฌํŠธ์—์„œ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค(vLLM ๊ธฐ๋ณธ๊ฐ’: 8000, Ollama ๊ธฐ๋ณธ๊ฐ’: 11434). ์ผ๋ฐ˜์ ์ธ ๊ตฌ์„ฑ: Ollama๋Š” ๋น ๋ฅธ ๋‹จ์ผ ์‚ฌ์šฉ์ž ์ฑ„ํŒ… ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , vLLM์€ ๋ฐฐ์น˜ API ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ VRAM์„ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ฆฌ์ง€ ์•Š๊ณ ๋Š” ๋™์ผํ•œ ๋ชจ๋ธ์„ ๋™์‹œ์— ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ์— ๋”ฐ๋ผ ์–ด๋–ค ์„œ๋น„์Šค๋ฅผ ํ™œ์„ฑํ™”ํ• ์ง€ ๊ด€๋ฆฌํ•˜์‹ญ์‹œ์˜ค.

์ถœ์ฒ˜

  • Gerganov, G. (2024). "llama.cpp GitHub." https://github.com/ggerganov/llama.cpp -- C++ ์ถ”๋ก  ์—”์ง„ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ์–‘์žํ™” ๋ฌธ์„œ.
  • vLLM Team. (2024). "vLLM GitHub." https://github.com/vllm-project/vllm -- ํ”„๋กœ๋•์…˜ ์ถ”๋ก  ์—”์ง„ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ API ์„œ๋ฒ„ ๋ฌธ์„œ.
  • Kwon et al. (2023). "Efficient Memory Management for Large Language Model Serving with PagedAttention." https://arxiv.org/abs/2309.06180 -- vLLM ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•˜๋Š” ์›๋ณธ Paged Attention ๋…ผ๋ฌธ.
  • oobabooga. (2024). "Text-Generation-WebUI GitHub." https://github.com/oobabooga/text-generation-webui -- Text-Generation-WebUI ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ์„ค์น˜ ๊ฐ€์ด๋“œ.

A Note on Third-Party Facts

This article references third-party AI models, benchmarks, prices, and licenses. The AI landscape changes rapidly. Benchmark scores, license terms, model names, and API prices can shift between the time of writing and the time you read this. Before making deployment or compliance decisions based on this article, verify current figures on each providerโ€™s official source: Hugging Face model cards for licenses and benchmarks, provider websites for API pricing, and EUR-Lex for current GDPR and EU AI Act text. This article reflects publicly available information as of May 2026.

Run PromptQuorum with a local LLM, your own API keys, or both โ€” you pick the backend.

Join the PromptQuorum Waitlist โ†’

โ† Back to Local LLMs

Text-Generation-WebUI vs vLLM vs llama.cpp | PromptQuorum