Key Takeaways
- 1๋จ๊ณ (๊ฐ๋จ): `ollama run llama3.2` + OpenWebUI. ์ฝ๋ ๋ถํ์.
- 2๋จ๊ณ (ํ์ค): vLLM + FastAPI ๋ํผ. Python 3.10+, pip์ผ๋ก ํจํค์ง 2๊ฐ ์ค์น, 30๋ถ ์ค์ .
- 3๋จ๊ณ (ํ๋ก๋์ ): vLLM + nginx ๋ก๋ ๋ฐธ๋ฐ์ + ๋ชจ๋ํฐ๋ง(Prometheus). ๋ฉํฐ GPU, ๋ฉํฐ ์ฌ์ฉ์, ๊ฒฐํจ ํ์ฉ.
- IDE ํตํฉ: vLLM OpenAI API ์๋ํฌ์ธํธ์ ํจ๊ป VS Code Copilot ๋๋ Cursor ์ฌ์ฉ.
- ๋ฐฐ์น ์ฒ๋ฆฌ: ํ ๋ฒ์ ํ๋กฌํํธ 10๊ฐ ์ ์ก, 10๊ฐ์ ์๋ต์ ๋ณ๋ ฌ๋ก ์์ (์์ฐจ ์ฒ๋ฆฌ ์๋).
- ๋น์ฉ: ๋ฌด๋ฃ(์คํ์์ค) ๋ ์ $20(Claude Pro) ๋๋ ์ $200(๋๊ท๋ชจ ํ ํด๋ผ์ฐ๋).
- ์๋: 2๋จ๊ณ๋ ์ฝ๋ฉ์์ ์ด๋น 30-50 ํ ํฐ ๋ฌ์ฑ. 3๋จ๊ณ๋ ์ฌ์ฉ์ ์ ์ฒด์์ ์ด๋น 200+ ํ ํฐ ๋ฌ์ฑ.
- ๋ณต์ก๋: 1๋จ๊ณ(1/10), 2๋จ๊ณ(4/10), 3๋จ๊ณ(8/10).
3๋จ๊ณ ๊ตฌ์ฑ
์ฌ์ฉ ์ฌ๋ก์ ๋ฐ๋ผ ์ ํํ์ญ์์ค:
- 1๋จ๊ณ: ๊ฐ์ธ ๊ฐ๋ฐ์, ์ผ๋ฐ์ ์ธ ์ฑํ , API ์๋ฒ ๋ถํ์. Ollama + ์ฑํ UI.
- 2๋จ๊ณ: ๋จ์ผ ๊ฐ๋ฐ์, IDE ํตํฉ, ์ปค์คํ ์คํฌ๋ฆฝํธ. vLLM + FastAPI.
- 3๋จ๊ณ: ํ ๋ฐฐํฌ, ๊ฐ๋ฐ์ 5๋ช ์ด์, ์์ ์๋น์ค. vLLM + nginx + ๋ชจ๋ํฐ๋ง.
1๋จ๊ณ: CLI ๋น ๋ฅธ ์์ (5๋ถ)
์ฝ๋ฉ์ฉ: VS Code ํ์ฅ "Continue" (`continue.dev`)๋ฅผ ์ค์นํ๊ณ , Ollama API์ ์ฐ๊ฒฐํ๋ฉด ์ค์๊ฐ ์ฝ๋ ์์ฑ์ ๋ฐ์ ์ ์์ต๋๋ค.
- 1`brew install ollama` (macOS) ๋๋ Windows ์ค์น ํ๋ก๊ทธ๋จ ๋ค์ด๋ก๋.
- 2`ollama run llama3.2` (8B ๋ชจ๋ธ ๋ค์ด๋ก๋ ๋ฐ ์คํ).
- 3๋ธ๋ผ์ฐ์ ์ด๊ธฐ: `http://localhost:11434` (Ollama ์น UI).
- 4์ฑํ ์์. ์๋ฃ.
2๋จ๊ณ: FastAPI API ์๋ฒ (30๋ถ)
FastAPI๋ฅผ ์ฌ์ฉํ๋ ์ด์ : OpenAI ํธํ ์๋ํฌ์ธํธ. ์ฝ๋์์ ์ค์ OpenAI API์ ๋์ฒด ๋๋กญ์ธ.
- 1Python 3.10+ ์ค์น: `python --version`.
- 2vLLM ์ค์น: `pip install vllm torch`.
- 3vLLM ์๋ฒ ์์: `python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-3.3-8B-Instruct --port 8000`.
- 4์๋ํฌ์ธํธ ํ ์คํธ: `curl http://localhost:8000/v1/chat/completions -d '{"model": "Llama-3.1-8B-Instruct", "messages": [{"role": "user", "content": "Write Python code for Fibonacci"}]}' -H "Content-Type: application/json"`.
- 5IDE ํตํฉ: Copilot ํ์ฅ์ `http://localhost:8000`์ผ๋ก ์ฐ๊ฒฐ.
- 6๋ฐฐ์น ์์ฒญ: ์ฌ๋ฌ ํ๋กฌํํธ๋ฅผ ๋ณ๋ ฌ๋ก ์ ์ก, vLLM์ด ํ๊บผ๋ฒ์ ์ฒ๋ฆฌ.
3๋จ๊ณ: ํ๋ก๋์ ๋ฉํฐ ์ฌ์ฉ์ (2์๊ฐ)
๋์ผ GPU ์ฅ๋น์์ ๋์ ๊ฐ๋ฐ์ 50๋ช ์ด์ ์ฒ๋ฆฌ ๊ฐ๋ฅ(๊ฐ๊ฐ ์ด๋น 5 ํ ํฐ). ๋น์ฉ: ์ ๊ธฐ๋ฃ๋ง ํด๋น(24/7 ์ด์ ์ ์ ์ฝ $100).
- 1๋ณ๋์ GPU์ vLLM ์ธ์คํด์ค 2๊ฐ ๋ฐฐํฌ(GPU 0, GPU 1).
- 2์์ชฝ ์ธ์คํด์ค์ ์์ฒญ์ ๋ถ์ฐํ๋๋ก nginx ๊ตฌ์ฑ.
- 3๋ฉํธ๋ฆญ ์์ง์ ์ํด Prometheus ์ค์ (์์ฒญ ์ง์ฐ ์๊ฐ, ์ด๋น ํ ํฐ, ์ค๋ฅ).
- 4์ฌ์ฉ์๋ณ ์๋ ์ ํ ์ถ๊ฐ(ํ ํฐ ๋ฒํท ์๊ณ ๋ฆฌ์ฆ).
- 510Gbps ๋คํธ์ํฌ๋ฅผ ๊ฐ์ถ ํด๋ผ์ฐ๋ VM ๋๋ ์จํ๋ ๋ฏธ์ค ์๋ฒ์ ๋ฐฐํฌ.
- 6Grafana ๋์๋ณด๋๋ก ๋ชจ๋ํฐ๋ง(์ ํ ์ฌํญ).
IDE ํตํฉ (VS Code, Cursor)
์ค์๊ฐ ์ฝ๋ ์์ฑ ์ค์ :
๋์(๋ค์ดํฐ๋ธ IDE ์ง์): Cursor ์๋ํฐ๋ ๋ก์ปฌ LLM์ ๊ธฐ๋ณธ ์ง์ํฉ๋๋ค(ํ์ฅ ๋ถํ์).
- 1"Continue" ํ์ฅ ์ค์น(`continue.dev`).
- 2ํ์ฅ ์ค์ ์ ์ด๊ณ , ์ปค์คํ API ๊ตฌ์ฑ: `http://localhost:8000/v1` (vLLM ์๋ํฌ์ธํธ).
- 3๋ชจ๋ธ ์ด๋ฆ์ vLLM ์๋ฒ์ ๋ง๊ฒ ์ค์ (`meta-llama/Llama-3.3-8B-Instruct`).
- 4Ctrl+Shift+Space(๋๋ cmd+shift+space)๋ฅผ ๋๋ฌ ์์ฑ ํธ๋ฆฌ๊ฑฐ.
- 5์์ฑ์ด ์ค์๊ฐ์ผ๋ก ์คํธ๋ฆฌ๋ฐ๋ฉ๋๋ค(์ด๋น 10-20 ํ ํฐ).
๋๋ฒ๊น ๋ฐ ๋ชจ๋ํฐ๋ง
- vLLM ๋ก๊ทธ: ์ค๋ฅ์ ๋ํ stdout ํ์ธ(๋ชจ๋ธ ๋ก๋ฉ, OOM, CUDA ์ค๋ฅ).
- Prometheus ๋ฉํธ๋ฆญ: vLLM์ด `/metrics` ์๋ํฌ์ธํธ ๋ ธ์ถ(์์ฒญ ์, ์ง์ฐ ์๊ฐ ํ์คํ ๊ทธ๋จ, ์์ฑ๋ ํ ํฐ).
- ํ ํฐ ์นด์ดํ : ์ ์ก ์ ์ `tiktoken` ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํ ํฐ ์ ๊ณ์ฐ(OOM ์๊ธฐ์น ์์ ์ํฉ ๋ฐฉ์ง).
- ์ง์ฐ ์๊ฐ ํ๋กํ์ผ๋ง: vLLM ํธ์ถ ์ ํ์ ํ์์คํฌํ ๋ก๊น ์ ์ถ๊ฐํ์ฌ ๋ณ๋ชฉ ํ์ ํ์ .
์ง์ญ๋ณ ๋งฅ๋ฝ ๋ฐ ์ปดํ๋ผ์ด์ธ์ค
- EU / GDPR (์ ๋ฝ): ๋ก์ปฌ ์ถ๋ก ์ GDPR ์ 28์กฐ๋ฅผ ์ถฉ์กฑํฉ๋๋ค -- ๋ฐ์ดํฐ๊ฐ ์ธํ๋ผ๋ฅผ ๋ฒ์ด๋์ง ์์ต๋๋ค. DPA ๋ถํ์. ์๋ฃ, ๋ฒ๋ฅ , ๊ธ์ต ์ํฌ๋ก๋์ ๊ถ์ฅ๋ฉ๋๋ค. ๋ ์ผ ๊ธฐ์ ๋ฐฐํฌ๋ฅผ ์ํ BSI-Grundschutz-Kataloge ์ธ์ฆ.
- ์ผ๋ณธ / METI: 2024๋ METI AI ๊ฑฐ๋ฒ๋์ค ๊ฐ์ด๋๋ผ์ธ์ ๋ฏผ๊ฐํ ๊ธฐ์ ๋ฐ์ดํฐ๋ฅผ ์ํ ์จํ๋ ๋ฏธ์ค ์ถ๋ก ์ ๊ถ์ฅํฉ๋๋ค. vLLM + 3๋จ๊ณ ์ค์ ์ METI ๊ฐ์ฌ ์ถ์ ์๊ฑด์ ์ถฉ์กฑํฉ๋๋ค.
- ์ค๊ตญ / PIPL: ์ค๊ตญ ๊ฐ์ธ์ ๋ณด๋ณดํธ๋ฒ(2021)์ ๋ฐ์ดํฐ ๊ฑฐ์ฃผ์ง๋ฅผ ์๋ฌดํํฉ๋๋ค. 2/3๋จ๊ณ ๋ก์ปฌ ์คํ์ ๋ชจ๋ ์ถ๋ก ์ ๊ตญ๋ด์ ์ ์งํฉ๋๋ค. Alibaba Cloud ๋ฐ Tencent Cloud GPU ์ธ์คํด์ค์ ํธํ๋ฉ๋๋ค.
- ๋ฏธ๊ตญ: 2026๋ ๊ธฐ์ค ์ฐ๋ฐฉ AI ๋ฐ์ดํฐ ๊ฑฐ์ฃผ์ง ์๋ฌด ์์. HIPAA ์ ์ฉ ๊ธฐ๊ด์ PHI๊ฐ ํต์ ๋ ์ธํ๋ผ๋ฅผ ๋ฒ์ด๋์ง ์๋๋ก ํด์ผ ํฉ๋๋ค -- 2/3๋จ๊ณ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฅผ ์ถฉ์กฑํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ์ค์ ์ค์
- ๋ค๋ฅธ ํ๋ก์ธ์ค(Discord, ๊ฒ์)์ ๋์ผํ GPU์์ vLLM ์คํ. GPU ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ค๋ฅ ๋ฐ์.
- ํ์์์ ์์ด ์์ฒญ ์ ์ก. vLLM์ด ์ค๋จ๋๋ฉด ํด๋ผ์ด์ธํธ๋ ์์ํ ์ค๋จ๋ฉ๋๋ค. ํญ์ ์์ฒญ์ `timeout=60`์ ์ค์ ํ์ญ์์ค.
- vLLM์ด ์ฌ๋ฌ GPU์์ ์๋์ผ๋ก ํ์ฅ๋๋ค๊ณ ๊ฐ์ . ๋ช ์์ ์ธ `--tensor-parallel-size` ํ๋๊ทธ ํ์.
- ๋ฉํฐ GPU์์ CUDA_VISIBLE_DEVICES ์ค์ ๋๋ฝ. vLLM์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ GPU๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- 2026๋ ์ Llama 3.3 ๋ชจ๋ธ ์ฌ์ฉ. Meta๋ 2026๋ 1์ ์์ ์ ์ฌ์ฉ์์ Llama 3.3์ ํ๊ธฐํ์ต๋๋ค. Apache 2.0 ๋ผ์ด์ ์ค๋ก ์ ํ ์๋ Llama 3.3 8B Instruct๋ฅผ ์ฌ์ฉํ์ญ์์ค.
- Llama 3.3๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ Llama 3.3์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ. Llama 3.3 8B Instruct๋ ๋ ๋์ ๋ช ๋ น์ด ๋ฐ๋ฅด๊ธฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, 2026๋ 4์ ๊ธฐ์ค ๊ถ์ฅ ๊ธฐ๋ณธ๊ฐ์ ๋๋ค. `ollama run llama3.3:8b-instruct`๋ฅผ ์ฌ์ฉํ์ญ์์ค.
FAQ
์ด๋ค ๋จ๊ณ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๊น?
ํผ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ 1๋จ๊ณ, ๋จ์ผ ๊ฐ๋ฐ์ + IDE ํตํฉ์ 2๋จ๊ณ, ํ + 24/7 ์๋น์ค๋ 3๋จ๊ณ๋ฅผ ์ฌ์ฉํ์ญ์์ค.
Ollama ๋์ vLLM์ ์ฌ์ฉํ ์ ์์ต๋๊น?
๊ฐ๋ฅํฉ๋๋ค๋ง ์ค์ ์ด ๋ ๋ณต์กํฉ๋๋ค. vLLM์ ๋ ๋น ๋ฅด๊ณ (๋ฐฐ์น ์ฒ๋ฆฌ) ๋ ์ ์ฐํฉ๋๋ค(Python API).
์ฌ๋ฌ GPU์์ ๋ชจ๋ธ์ ์๋นํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
vLLM: `--tensor-parallel-size 2`. ๋ชจ๋ธ์ 2๊ฐ์ GPU์ ๋ถ์ฐํ์ฌ ์ฒ๋ฆฌ๋์ 2๋ฐฐ๋ก ๋๋ฆฝ๋๋ค.
vLLM ์ถ๋ก ์์์ ํ์ธํ๋ํ ์ ์์ต๋๊น?
๋ถ๊ฐ๋ฅํฉ๋๋ค. ํ์ธํ๋์ ๋ณ๋๋ก(HuggingFace Transformers), ๊ทธ๋ฐ ๋ค์ ํ์ธํ๋๋ ๋ชจ๋ธ์ vLLM์ ๋ก๋ํ์ญ์์ค.
vLLM์ด OOM ์ค๋ฅ๋ฅผ ๋ฐ์์ํค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
๋ ์์ ์์ํ(Q4 ๋ Q8)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ๋ฐฐ์น ํฌ๊ธฐ๋ฅผ ์ค์ด๊ฑฐ๋, ๋ชจ๋ธ๋น VRAM ํ ๋น๋์ ์ค์ด์ญ์์ค. `nvidia-smi`๋ฅผ ํ์ธํ์ญ์์ค.
3๋จ๊ณ๋ ํ๋ก๋์ ์ค๋น๊ฐ ๋์ด ์์ต๋๊น?
๋ชจ๋ํฐ๋ง์ ์ถ๊ฐํ๋ฉด ๊ฐ๋ฅํฉ๋๋ค. Prometheus, Grafana, ์๋ฆผ(Alertmanager)์ ์ถ๊ฐํ์ญ์์ค. ํ์ค ์ธํ๋ผ ํจํด์ ๋๋ค.
์ถ์ฒ
- vLLM OpenAI ํธํ ์๋ฒ ๋ฌธ์ -- ๊ณต์ vLLM API ์๋ฒ ์ค์ ๊ฐ์ด๋
- Continue.dev ๊ตฌ์ฑ ๋ฌธ์ -- ์ปค์คํ OpenAI ์๋ํฌ์ธํธ๋ฅผ ์ํ IDE ํ์ฅ ๊ตฌ์ฑ
- Meta Llama 3.3 ๋ชจ๋ธ ์นด๋ -- Meta. ์ ๋ฐ์ดํธ๋ instruct ๋ชจ๋ธ, Apache 2.0. Llama 3.3 8B ๊ถ์ฅ ๋์ฒด ๋ชจ๋ธ.
- Qwen3-Coder ๋ชจ๋ธ ์นด๋ -- Alibaba. 82% HumanEval, Apache 2.0 ๋ผ์ด์ ์ค. 8 GB VRAM ๋ฏธ๋ง์์ ์ต๊ณ ์ ์ฝ๋ฉ ๋ชจ๋ธ.