ํต์ฌ ์์
- Llama 3.2 Vision 11B๋ VRAM 8~16 GB๋ฅผ ๋ณด์ ํ ๋๋ถ๋ถ์ ๊ฐ๋ฐ์์๊ฒ ์ต๊ณ ์ ๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ ๋๋ค. ์ฌ์ง, ๋ฌธ์, ํผํฉ ์ฝํ ์ธ ๋ฅผ ๋๊ธ ์ต๊ณ ์ ์ ํ๋๋ก ์ฒ๋ฆฌํ๋ฉฐ Ollama์์ ์ง์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- MiniCPM-V 2.6 (8B)๋ VRAM 6 GB์์ ๋ฌธ์ OCR์ ๊ฐ์ฅ ์ ํฉํ ๋ชจ๋ธ์ ๋๋ค. ํ๋ จ ๋ฐ์ดํฐ์ ๊ณ ํด์๋ ๋ฌธ์ ์ค์บ์ด ํฌํจ๋์ด ์์ด ํ, ์ฒญ๊ตฌ์, ๋นฝ๋นฝํ ํ ์คํธ์์ LLaVA๋ณด๋ค ๋ ์ ํํฉ๋๋ค.
- LLaVA 1.6 7B๋ ์ปค๋ฎค๋ํฐ์์ ๊ฐ์ฅ ๋ง์ด ๋ฌธ์ํ๋๊ณ ๊ฒ์ฆ๋ ๋ก์ปฌ VLM์ ๋๋ค. ํ๋ถํ ์์ , ํํ ๋ฆฌ์ผ, ๋ฌธ์ ํด๊ฒฐ ์๋ฃ๊ฐ ํ์ํ๋ค๋ฉด ๊ฐ์ฅ ์์ ํ ๋ฒ์ฉ ์ ํ์ ๋๋ค.
- Moondream 2 (1.9B)๋ VRAM 4 GB ๋ฏธ๋ง์์ ์ ์ผํ ์ค์ฉ์ ์ ํ์ ๋๋ค. ๋น ๋ฅด๊ณ ๊ฐ๋ณ์ง๋ง ๋ณต์กํ ์ฅ๋ฉด, ๋นฝ๋นฝํ ํ ์คํธ, ์ ํํ ์ฐจํธ ์ฝ๊ธฐ์๋ ์ด๋ ค์์ด ์์ต๋๋ค.
- InternVL 2.5 (8B)๋ ์ฝ๋ ์คํฌ๋ฆฐ์ท ๋ฐ UI ๋ถ์์์ ๊ฐ์ฅ ๊ฐ๋ ฅํฉ๋๋ค. GitHub ์คํฌ๋ฆฐ์ท, UI ๋ชฉ์ , ์ฝ๋ ์คํ ๊ฒฐ๊ณผ๋ก ํ๋ จ๋์ด ๋ค๋ฅธ ๋ชจ๋ธ๋ค๋ณด๋ค ์ด ๋ถ์ผ์์ ๋ฐ์ด๋ฉ๋๋ค.
- **๋ชจ๋ ๋ชจ๋ธ์ ๋จ์ผ
pull๋ช ๋ น์ด๋ก Ollama์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.** ๋ชจ๋ธ ๋ณํ, ์์ํ, Python ์ค์ ์ด ํ์ ์์ต๋๋ค. CLI์ HTTP API๊ฐ ์ฆ์ ๋์ํฉ๋๋ค. - ์ด ๋ชจ๋ธ๋ค ์ค GPT-5.5 Vision์ ํ์ง์ ๊ทผ์ ํ๋ ๊ฒ์ ์์ต๋๋ค. 2026๋ ์ ๋ก์ปฌ VLM์ ๊ตฌ์กฐํ๋ ๋ฌธ์์ ์ ๋ช ํ ์ฌ์ง์๋ ์ฐ์ํ์ง๋ง, ์๊ธ์จ์ ๋ณต์กํ ์ฐจํธ์๋ ์ฌ์ ํ ์ฝํฉ๋๋ค.
๋น ๋ฅธ ์ฌ์ค
- VLM์ ์ญํ : ์ด๋ฏธ์ง + ํ ์คํธ๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ํ ์คํธ๋ฅผ ์ถ๋ ฅํฉ๋๋ค. ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ์ด ์๋๋ผ, ์ด๋ฏธ์ง๋ฅผ *์ดํด*ํ๋ ๋ชจ๋ธ์ ๋๋ค.
- Ollama ์ง์: ์ด ๋น๊ต์ ๋ชจ๋ ๋ชจ๋ธ์ 2026๋ 5์ ๊ธฐ์ค์ผ๋ก Ollama ๊ณต์ ๋๋ ์ปค๋ฎค๋ํฐ ํตํฉ์ ์ง์ํฉ๋๋ค.
- ๊ฐ์ฅ ์์ ์ฌ์ฉ ๊ฐ๋ฅ ๋ชจ๋ธ: Moondream 2, 1.9B ํ๋ผ๋ฏธํฐ, ~2 GB VRAM.
- ๊ฐ์ฅ ํฐ ์ค์ฉ์ ๋ก์ปฌ ๋ชจ๋ธ: Llama 3.2 Vision 90B, ~64 GB ํตํฉ ๋ฉ๋ชจ๋ฆฌ ํ์ (Apple M-series ๋๋ ๋ฉํฐ GPU).
- ์ด๋ฏธ์ง ์ ๋ ฅ ํ์: JPEG, PNG, WebP ์ง์. ์ต๋ ํด์๋๋ ๋ชจ๋ธ๋ณ๋ก ๋ค๋ฆ (์ผ๋ฐ์ ์ผ๋ก 1024ร1024~4096ร4096).
- OCR ์ ํ๋: Qwen2-VL 7B โ MiniCPM-V 2.6 > Llama 3.2 Vision 11B > LLaVA 1.6 13B > LLaVA 1.6 7B > Moondream 2.
- ๋ฉํฐ๋ชจ๋ฌ โ ๋น ๋ฆ: ๋น์ ๋ชจ๋ธ์ LLM์ ์๊ฐ ์ธ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ฏ๋ก, ๊ฐ์ ํ๋ผ๋ฏธํฐ ์์ ํ ์คํธ ์ ์ฉ ๋ชจ๋ธ๋ณด๋ค ํ ํฐ ์์ฑ์ด ์ฝ 30~60% ๋๋ฆฝ๋๋ค.
๋น์ -์ธ์ด ๋ชจ๋ธ(VLM)์ด๋ ๋ฌด์์ ๋๊น?
๋น์ -์ธ์ด ๋ชจ๋ธ(VLM)์ ์ด๋ฏธ์ง์ ํ ์คํธ ์ ๋ ฅ์ ๋์์ ์ฒ๋ฆฌํ๊ณ ํ ์คํธ๋ฅผ ์ถ๋ ฅํ๋ ์ ๊ฒฝ๋ง์ ๋๋ค. ํ์ค ์ํคํ ์ฒ๋ ์๊ฐ ์ธ์ฝ๋(์ฃผ๋ก CLIP ๋๋ SigLIP)์ ์ธ์ด ๋์ฝ๋(LLM)๋ฅผ ๊ฒฐํฉํ๋ฉฐ, ์ด๋ฏธ์ง ํน์ง์ LLM์ด ์ดํดํ๋ ํ ํฐ ๊ณต๊ฐ์ ๋งคํํ๋ ํ๋ก์ ์ ๋ ์ด์ด๋ก ์ฐ๊ฒฐ๋ฉ๋๋ค.
- ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ๊ณผ์ ์ฐจ์ด: Stable Diffusion, FLUX, DALL-E 3๋ ํ ์คํธ์์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ชจ๋ธ์ ๋๋ค. VLM์ ์ด๋ฏธ์ง์์ ํ ์คํธ๋ฅผ ์์ฑํ๋ ๋ชจ๋ธ๋ก, ์ด๋ฏธ์ง๋ฅผ ๋ฌ์ฌํ๊ณ ๋ถ์ํ๋ฉฐ ์ง๋ฌธ์ ๋ต๋ณํฉ๋๋ค.
- ์ ํต์ ์ธ OCR ๋๊ตฌ์์ ์ฐจ์ด: ์ ํต์ ์ธ OCR(Tesseract, PaddleOCR)์ ํจํด ์ธ์์ผ๋ก ๊ตฌ์กฐํ๋ ๋ฌธ์์์ ํ ์คํธ๋ฅผ ์ถ์ถํฉ๋๋ค. VLM์ ๋ฌธ๋งฅ์ ์ดํดํฉ๋๋ค โ ํ์ ์๋ฏธ๋ฅผ ์ค๋ช ํ๊ณ , ์ฐจํธ์ ๋ํ ์ง๋ฌธ์ ๋ตํ๋ฉฐ, ์ฌ์ง์ ๊ฐ์ฒด๋ฅผ ์๋ณํ ์ ์์ต๋๋ค.
- ๋ก์ปฌ ์คํ์ ์ด์ : ๊ฐ์ธ ๋ฌธ์(์๋ฃ ๊ธฐ๋ก, ๋ฒ์ ๋ฌธ์, ์ฌ๋ฌด์ ํ), ๋ ์ ์ ์คํฌ๋ฆฐ์ท(๋ด๋ถ ๋์๋ณด๋, ์์ค ์ฝ๋), ๋๋ ํด๋ผ์ฐ๋ API์ ์ด๋ฏธ์ง๋ฅผ ์ ์กํ๋ ๊ฒ์ด ์ปดํ๋ผ์ด์ธ์ค๋ ๊ธฐ๋ฐ ๋ฌธ์ ๋ฅผ ์ผ๊ธฐํ๋ ๋ชจ๋ ์ํฌํ๋ก์ฐ.
- ํ ์ ์๋ ๊ฒ: ์ด๋ฏธ์ง ์์ฑ, ์คํฌ๋ฆฐ์ท์ ํ์๋ ์ฝ๋ ์คํ, ์ธํฐ๋ท ์ ์. VLM์ ์ด๋ฏธ์ง์์ ๋ณด์ด๋ ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์คํธ๋ง ์ถ๋ ฅํฉ๋๋ค.
๋ก์ปฌ ๋น์ ๋ชจ๋ธ ๋น๊ตํ
2026๋ 5์ ๊ธฐ์ค์ผ๋ก Ollama ๋๋ ์ง์ ์ถ๋ก ์ ํตํด ์ฌ์ฉ ๊ฐ๋ฅํ ์ฃผ์ ๋ก์ปฌ ๋น์ ๋ชจ๋ธ ๋น๊ต. VRAM ์์น๋ ๋ณ๋ ํ์๊ฐ ์๋ ํ 4๋นํธ ์์ํ(Q4) ๋ณํ ๊ธฐ์ค์ ๋๋ค.
๐ ํ ๋ฌธ์ฅ์ผ๋ก
VRAM 6~8 GB์ ๊ฒฝ์ฐ: ๋ฌธ์ OCR์๋ MiniCPM-V 2.6, ์ผ๋ฐ ์ด๋ฏธ์ง ์ง์์๋ต์๋ Llama 3.2 Vision 11B โ ๋ ๋ชจ๋ธ ๋ชจ๋ Ollama๋ฅผ ํตํด ๋ก์ปฌ์์ ์คํ ๊ฐ๋ฅํฉ๋๋ค.
๐ฌ ์ฝ๊ฒ ๋งํ๋ฉด
Moondream์ ์ด๋์๋ ์คํ๋์ง๋ง ์ดํด๋ ฅ์ด ๋ฎ์ ๊ฒฝ๋ ์ต์ , LLaVA๋ ์์ ํ ๋ฒ์ฉ ์ ํ, MiniCPM-V๋ OCR ์ ๋ฌธ๊ฐ, Llama 3.2 Vision์ ์ ๋ฐ์ ์ต๊ณ ์ฑ๋ฅ, InternVL์ UI ์คํฌ๋ฆฐ์ท ๋ฐ ์ฝ๋ ์ ๋ฌธ๊ฐ๋ก ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
| ๋ชจ๋ธ | ํ๋ผ๋ฏธํฐ | VRAM (Q4) | ์ด๋ฏธ์ง ์ ํ | ํ์ง | Ollama ์ง์? |
|---|---|---|---|---|---|
| Moondream 2 | 1.9B | ~2 GB | ๋จ์ ์ฌ์ง | ๊ธฐ๋ณธ | ์ |
| LLaVA 1.6 7B | 7B | ~6 GB | ์ฌ์ง, ๋ฌธ์, ์ฐจํธ | ์ข์ | ์ |
| LLaVA 1.6 13B | 13B | ~10 GB | ์ฌ์ง, ๋ฌธ์, ์ฐจํธ | ๋งค์ฐ ์ข์ | ์ |
| MiniCPM-V 2.6 | 8B | ~6 GB | ์ฌ์ง, ๋ฌธ์, OCR | ๋งค์ฐ ์ข์ | ์ |
| Llama 3.2 Vision 11B | 11B | ~8 GB | ์ฌ์ง, ๋ฌธ์ | ์ฐ์ | ์ |
| Llama 3.2 Vision 90B | 90B | ~64 GB | ์ฌ์ง, ๋ฌธ์, ๋ณต์กํ ์ฝํ ์ธ | ๋ก์ปฌ ์ต๊ณ | ์ |
| InternVL 2.5 8B | 8B | ~8 GB | ๋ฌธ์, ์ฐจํธ, UI, ์ฝ๋ | ์ฐ์ (UI/์ฐจํธ) | ์ปค๋ฎค๋ํฐ |
| Qwen2-VL 7B | 7B | ~6 GB | ์ฌ์ง, ๋ฌธ์, OCR, ๋ค๊ตญ์ด | ์ฐ์ | ์ |
| Qwen2-VL 72B | 72B | ~48 GB | ์ฌ์ง, ๋ฌธ์, ๋ณต์กํ ์ฝํ ์ธ | ์ต๊ณ (์คํ์์ค) | ์ |
| PaliGemma 2 3B | 3B | ~3 GB | ์ฌ์ง, ๋ฌธ์ | ์ข์ | ์ปค๋ฎค๋ํฐ |
| SmolVLM 2.2B | 2.2B | ~2 GB | ๋จ์ ์ฌ์ง, ์ค๋ช | ๊ธฐ๋ณธ+ | ์ปค๋ฎค๋ํฐ |
์ค์ ์ ํ๋ ํ ์คํธ: ์ฒญ๊ตฌ์ ์ถ์ถ
๊ตฌ์กฐํ๋ ๋ฌธ์ ์ถ์ถ ์์ ์์ ๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ ์ ํ๋ ๋น๊ต. ํ ์คํธ: ๋์ผํ ์ํ ์ฒญ๊ตฌ์์์ 5๊ฐ ํ๋(๊ณต๊ธ์ ์ฒด๋ช , ๋ ์ง, ํฉ๊ณ, ์ธ๊ธ ๊ธ์ก, ํญ๋ชฉ ์) ์ถ์ถ.
| ๋ชจ๋ธ | ๊ณต๊ธ์ ์ฒด | ๋ ์ง | ํฉ๊ณ | ์ธ๊ธ | ํญ๋ชฉ ์ | ์ ์ |
|---|---|---|---|---|---|---|
| Moondream 2 | โ | โ | โ | โ | โ | 2/5 |
| LLaVA 1.6 7B | โ | โ | โ | โ | โ | 4/5 |
| MiniCPM-V 2.6 | โ | โ | โ | โ | โ | 5/5 |
| Qwen2-VL 7B | โ | โ | โ | โ | โ | 5/5 |
| Llama 3.2 11B | โ | โ | โ | โ | โ | 5/5 |
| GPT-5.5 Vision | โ | โ | โ | โ | โ | 5/5 |
๐Note: ๋จ์ผ ์ํ ์ฒญ๊ตฌ์๋ก ์ป์ ๊ฒฐ๊ณผ์ ๋๋ค. ์ค์ ์ ํ๋๋ ๋ฌธ์ ํ์ง, ์์ฒด, ๋์์ธ ๋ณต์ก๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์ถ์ถ๋ ์ซ์๋ ํญ์ ์๋ณธ ๋ฌธ์์ ๋์กฐํ์ฌ ํ์ธํ์ญ์์ค.
๋ค์ค ์ด๋ฏธ์ง ์ง์
๋ชจ๋ ๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ด ๋จ์ผ ์์ฒญ์์ ์ฌ๋ฌ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ๋ ๊ฒ์ ์๋๋๋ค. ๋ค์ค ์ด๋ฏธ์ง ์ง์์ ๋ฌธ์ ์ฒ๋ฆฌ(์ฌ๋ฌ ํ์ด์ง PDF์ ๋ชจ๋ ํ์ด์ง ์ ์ก)์ ์๊ฐ์ ๋น๊ต ์์ (๋ ์ ํ ์ฌ์ง ๋น๊ต)์ ์ค์ํฉ๋๋ค.
- MiniCPM-V 2.6์ ํ๋กฌํํธ๋น ์ต๋ 4๊ฐ ์ด๋ฏธ์ง๋ฅผ, Qwen2-VL์ ์ต๋ 8๊ฐ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํฉ๋๋ค. LLaVA์ Moondream์ ์์ฒญ๋น ์ด๋ฏธ์ง 1๊ฐ๋ง ํ์ฉํฉ๋๋ค.
- ๋ค์ค ์ด๋ฏธ์ง๊ฐ ์ค์ํ ๊ฒฝ์ฐ: ์์ ํ ๋ฌธ์ ์ถ์ถ์ ์ํด ์ฌ๋ฌ ํ์ด์ง PDF์ ๋ชจ๋ ํ์ด์ง ์ ์ก. ๋ ์ ํ ์ฌ์ง์ ๋๋ํ ๋น๊ต. ๋จ์ผ ํ๋กฌํํธ์์ ๋ณ๊ฒฝ ์ /ํ ์คํฌ๋ฆฐ์ท ๋ถ์.
| ๊ธฐ๋ฅ | Moondream | LLaVA 7B | MiniCPM-V | Qwen2-VL | LLaVA 13B | Llama 3.2 Vision | InternVL |
|---|---|---|---|---|---|---|---|
| ๋ค์ค ์ด๋ฏธ์ง ์ ๋ ฅ | ์๋์ค | ์๋์ค | ์ (์ต๋ 4) | ์ (์ต๋ 8) | ์๋์ค | ์ (๋ค์ค ํ์ด์ง) | ์ |
Ollama ์ค์ โ ๋จ๊ณ๋ณ ๊ฐ์ด๋
Ollama๋ ๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ ์คํํ๋ ๊ฐ์ฅ ๊ฐํธํ ๋ฐฉ๋ฒ์ ๋๋ค. Ollama๋ฅผ ์ค์นํ๋ฉด ๋น์ ๋ชจ๋ธ์ด ๋จ์ผ pull ๋ช ๋ น์ด๋ก ๋์ํ๋ฉฐ CLI ํ๋๊ทธ๋ HTTP API๋ฅผ ํตํด ์ด๋ฏธ์ง๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
- 1๋จ๊ณ โ Ollama ์ค์น: macOS, Linux ๋๋ Windows์ฉ ํ์ผ์ ollama.com์์ ๋ค์ด๋ก๋ํ์ญ์์ค. ์ค์น์ 2๋ถ ๋ฏธ๋ง์ด ์์๋ฉ๋๋ค.
- 2๋จ๊ณ โ ๋น์ ๋ชจ๋ธ ๋ค์ด๋ก๋:
ollama pull llama3.2-vision(11B, ~8 GB ๋ค์ด๋ก๋) ๋๋ VRAM์ด ์ ์ ๊ฒฝ์ฐollama pull moondream(1.9B, ~2 GB). - 3๋จ๊ณ โ CLI์์ ์ฌ์ฉ:
ollama run llama3.2-vision "์ด ์ด๋ฏธ์ง์ ๋ฌด์์ด ์์ต๋๊น?" --image /๊ฒฝ๋ก/์ฌ์ง.jpg - 4๋จ๊ณ โ HTTP API ์ฌ์ฉ:
http://localhost:11434/api/generate์ POST ์์ฒญ์ ๋ณด๋ด๊ณimages๋ฐฐ์ด์ Base64 ์ธ์ฝ๋ฉ๋ ์ด๋ฏธ์ง ๋ฌธ์์ด์ ํฌํจ์ํค์ญ์์ค. - 5๋จ๊ณ โ Python ์์ : Base64 ์ธ์ฝ๋ฉ๊ณผ ํจ๊ป
requests๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ โ ์๋ ์ฝ๋ ๋ธ๋ก์ ์ฐธ์กฐํ์ญ์์ค.
import base64
import requests
def ask_vision_model(image_path: str, prompt: str, model: str = "llama3.2-vision") -> str:
with open(image_path, "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf-8")
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": prompt,
"images": [image_b64],
"stream": False,
},
)
return response.json()["response"]
# ์ฌ์ฉ ์์
result = ask_vision_model("์ฒญ๊ตฌ์.png", "์ด ์ฒญ๊ตฌ์์์ ๋ชจ๋ ํญ๋ชฉ๊ณผ ํฉ๊ณ๋ฅผ ์ถ์ถํ์ญ์์ค.")
print(result)ํ์ฉ ์ฌ๋ก 1: OCR ๋ฐ ๋ฌธ์ ์ถ์ถ
VLM์ ๋ฐ๊ตฌ์กฐํ๋ ๋ฌธ์์์ ์ ํต์ ์ธ OCR๋ณด๋ค ์ฐ์ํ ์ฑ๋ฅ์ ๋ฐํํฉ๋๋ค โ ์ฒญ๊ตฌ์, ์์์ฆ, ๊ณ์ฝ์, ํ ์คํธ ์์ฒด๋งํผ ๋ ์ด์์์ด ์ค์ํ ํ. ์ ํต์ ์ธ OCR(Tesseract)์ ๋ฌธ์๋ฅผ ์ถ์ถํ์ง๋ง, VLM์ ๋ฌธ๋งฅ์์ ๊ทธ ๋ฌธ์๋ค์ด ์๋ฏธํ๋ ๋ฐ๋ฅผ ์ดํดํฉ๋๋ค.
- ์ ์๋ํ๋ ๊ฒฝ์ฐ: ์ค์บ๋ ์ฒญ๊ตฌ์, PDF ์คํฌ๋ฆฐ์ท, ์ธ์์ฒด ์๊ธ์จ ๋ฉ๋ชจ, ๋ช ํํ ํ ๋๋ฆฌ๊ฐ ์๋ ํ, ๋ช ํจ.
- ์ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ: ํ๊ธฐ์ฒด ์๊ธ์จ, 150 DPI ๋ฏธ๋ง์ ์ค์บ, ๊ณผ๋ํ ์์ถ JPEG, ๊ฒน์น ํ ์คํธ.
- OCR ์ต์ ๋ชจ๋ธ: MiniCPM-V 2.6 (6 GB ์นดํ ๊ณ ๋ฆฌ์์ ์ต๊ณ OCR ์ ํ๋), Llama 3.2 Vision 11B (ํผํฉ ๋ฌธ์ ์ ํ์ ์ต์ ).
- OCR ํ๋กฌํํธ ์์ง๋์ด๋ง: "์ค๋ฐ๊ฟ์ ์ ์งํ๋ฉด์ ์ด ๋ฌธ์์ ๋ชจ๋ ํ ์คํธ๋ฅผ ์ ํํ ์ถ์ถํ์ญ์์ค." ๋๋ "์ด ์ฒญ๊ตฌ์์ ๋ด์ฉ์ ๋ค์ ํ๋๊ฐ ์๋ JSON์ผ๋ก ๋ฐํํ์ญ์์ค: ๊ณต๊ธ์ ์ฒด, ๋ ์ง, ํญ๋ชฉ[], ํฉ๊ณ."
- ์ ํต์ ์ธ OCR ๋๋น: VLM์ ๋ ๋๋ฆฌ์ง๋ง ๋ ์๋ฏธ๋ก ์ ์ ๋๋ค. Tesseract๋ ๊นจ๋ํ ๋ฌธ์์ ์์ํ ํ ์คํธ ์ถ์ถ์ ๋ ๋น ๋ฆ ๋๋ค. ๋จ์ ์ผ๋ฐ ํ ์คํธ๊ฐ ์๋ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ์ถ์ถ์ด ํ์ํ ๋ VLM์ ์ฌ์ฉํ์ญ์์ค.
ํ์ฉ ์ฌ๋ก 2: ์ด๋ฏธ์ง ์ง์์๋ต
์ผ๋ฐ์ ์ธ ์ฅ๋ฉด ์ดํด, ์ ํ ์ค๋ช , ์๊ฐ์ ์ง์์๋ต์๋ Llama 3.2 Vision 11B๊ฐ ๊ถ์ฅ ๋ก์ปฌ ๋ชจ๋ธ์ ๋๋ค. ์์ฐ์ค๋ฝ๊ณ ์์ธํ ์ค๋ช ์ ์์ฑํ๋ฉฐ ์ฌ์ง ๋ด์ฉ์ ๋ํ ๋ฏธ๋ฌํ ์ง๋ฌธ๋ ์ฒ๋ฆฌํฉ๋๋ค.
- ์ฅ๋ฉด ์ค๋ช : "์ด ์ฌ์ง์ ๋ฌด์์ด ์์ต๋๊น?" โ ๊ฐ์ฒด, ์ฌ๋, ํ๋, ํ๊ฒฝ, ๋ถ์๊ธฐ.
- ์ ํ ์นดํ๋ก๊ทธ ์์ฑ: ํ๋กฌํํธ ํ ํ๋ฆฟ์ผ๋ก ์ ํ ์ฌ์ง ์ฒ๋ฆฌ: "์ด ์ ํ์ ์ค๋ช ํ์ญ์์ค: ์์, ํํ, ์์ฌ, ์ํ." ํด๋ผ์ฐ๋ API ์์ด ์ ์์๊ฑฐ๋ ์ฌ๊ณ ๊ด๋ฆฌ์ ์ ์ฉ.
- ์ ๊ทผ์ฑ: ์ด๋ฏธ์ง์ ๋ํ ๋์ฒด ํ ์คํธ๋ฅผ ๋๊ท๋ชจ๋ก ์์ฑํฉ๋๋ค. ํ์ค ์ ํ ์ฌ์ง์ ์ ๊ทผ์ฑ ์ปดํ๋ผ์ด์ธ์ค์ ์ถฉ๋ถํ ์ ํ๋๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ต์ ๋ชจ๋ธ: ์ผ๋ฐ ์ฌ์ง ์ง์์๋ต์๋ LLaVA 1.6 13B ๋๋ Llama 3.2 Vision 11B. ์ ํ๋๋ณด๋ค ์๋๊ฐ ์ค์ํ ๋๋ ์ฒ๋ฆฌ์๋ LLaVA 1.6 7B.
- ์๋ ๊ณ ๋ ค์ฌํญ: 6 GB GPU์์ Llama 3.2 Vision 11B Q4๋ ์ด๋ฏธ์ง ์๋ต ์์ฑ ์ ์ด๋น ์ฝ 8~12ํ ํฐ์ ์์ฑํฉ๋๋ค โ 100๊ฐ ์ด๋ฏธ์ง ์ฒ๋ฆฌ์ ์ค๋ช ๊ธธ์ด์ ๋ฐ๋ผ ์ฝ 2~5๋ถ์ด ์์๋ฉ๋๋ค.
ํ์ฉ ์ฌ๋ก 3: ์คํฌ๋ฆฐ์ท ๋ฐ UI ๋ถ์
์ ํ๋ฆฌ์ผ์ด์ ์คํฌ๋ฆฐ์ท, ์ค๋ฅ ๋ฉ์์ง, ๋์๋ณด๋ ๋ถ์์๋ InternVL 2.5๊ฐ ๊ฐ์ฅ ๊ฐ๋ ฅํ ๋ก์ปฌ ๋ชจ๋ธ์ ๋๋ค โ ํ๋ จ ๋ฐ์ดํฐ์ ์ํํธ์จ์ด UI, GitHub ์คํฌ๋ฆฐ์ท, ์ฝ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ๊ฐ์กฐ๋์ด ์์ต๋๋ค.
- ๊ฐ๋ฐ์ ์ํฌํ๋ก์ฐ: ์ค๋ฅ ๋ฉ์์ง ์คํฌ๋ฆฐ์ท์ ๋ชจ๋ธ์ ์ ์ก: "์ด ์คํฌ๋ฆฐ์ท์์ ๋ฌด์์ด ์๋ชป๋์์ผ๋ฉฐ ์ด๋ป๊ฒ ์์ ํ๊ฒ ์ต๋๊น?"
- ๋ฒ๊ทธ ๋ฆฌํฌํธ ์์ฑ: ๊ตฌ์กฐํ๋ ํ๋กฌํํธ๋ก ์คํฌ๋ฆฐ์ท์์ ๋ฒ๊ทธ ์ค๋ช ์ ์๋ ์์ฑํฉ๋๋ค.
- ๋์๋ณด๋ ๋ชจ๋ํฐ๋ง: ๋ชจ๋ํฐ๋ง ๋์๋ณด๋ ์คํฌ๋ฆฐ์ท์์ ์ด์ ์งํ ๋ถ์ โ "์ด Grafana ์คํฌ๋ฆฐ์ท์์ ๊ฒฝ๊ณ ์์ค์ ์๋ ์งํ๊ฐ ์์ต๋๊น?"
- ์ ๊ทผ์ฑ ํ ์คํธ: UI ๋ณ๊ฒฝ ์ /ํ ์คํฌ๋ฆฐ์ท์ ๋น๊ตํ์ฌ ์๊ฐ์ ์ ๊ทผ์ฑ ์์ฑ์ ํ์ธํฉ๋๋ค.
- ์ต์ ๋ชจ๋ธ: InternVL 2.5 8B (์ต๊ณ UI ์ดํด), MiniCPM-V 2.6 (๋ ๋ฒ์งธ ์ ํ, Ollama ์ง์).
ํ์ฉ ์ฌ๋ก 4: ์ฐจํธ ๋ฐ ๋ค์ด์ด๊ทธ๋จ ์ฝ๊ธฐ
๋ง๋ํ, ์ ํ ์ฐจํธ, ํ์์ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๋ ๊ฒ์ ๊ฐ๋ฅํ์ง๋ง ์ ์คํ ํ๋กฌํํ ์ด ํ์ํฉ๋๋ค. ๋ชจ๋ ๋ก์ปฌ VLM์ ์ฌ์ง ์ค๋ช ๋ณด๋ค ์ฐจํธ ์ฝ๊ธฐ์์ ์ฝํฉ๋๋ค โ ํญ์ ์ฐจํธ์์ ์ถ์ถํ ์ซ์๋ฅผ ์๋ณธ ๋ฐ์ดํฐ์ ๋์กฐํ์ฌ ํ์ธํ์ญ์์ค.
- ์ ์๋ํ๋ ๊ฒฝ์ฐ: ์ถ ๋ ์ด๋ธ ์ฝ๊ธฐ, ์ถ์ธ ํ์ , ๋ง๋์ ์๋์ ๋์ด ๋น๊ต, ๋ช ํํ ํฐํธ๊ฐ ์๋ ํ ๊ฐ ์ฝ๊ธฐ.
- ์ ๋ขฐํ ์ ์๋ ๊ฒฝ์ฐ: ์ฐ์ํ ์ฐจํธ์์์ ์ ๋ฐํ ์์น ์ถ์ถ (์: "3๋ถ๊ธฐ ๋ง๋๋ 43.7 ๋จ์"), ๋ช ์์ ๋ ์ด๋ธ์ด ์๋ ํ์ด ์ฐจํธ ๋ฐฑ๋ถ์จ.
- ํ๋กฌํํธ ์ ๋ต: "์ด ์ ํ ์ฐจํธ์ ํ์๋ ์ถ์ธ๋ฅผ ์ค๋ช ํ์ญ์์ค"๊ฐ "2026๋ 3์์ ์ ํํ ๊ฐ์ ๋ฌด์์ ๋๊น?"๋ณด๋ค ํจ๊ณผ์ ์ ๋๋ค.
- ์ฐจํธ ์ต์ ๋ชจ๋ธ: InternVL 2.5 (์ต๊ณ ์ฐจํธ ์ดํด), Llama 3.2 Vision 11B (๋ช ํํ ๋ ์ด๋ธ์ด ์๋ ์ฐจํธ์ ์ฐ์).
- ์ ํ ์ฌํญ ์ฐธ๊ณ : 2026๋ ์ ์ด๋ค ๋ก์ปฌ VLM๋ ์๊ฐ์ ์ผ๋ก ๋ณต์กํ ์ฐจํธ์์ ์ ๋ฐํ ์ซ์๋ฅผ ์ ๋ขฐํ ์ ์๊ฒ ์ถ์ถํ์ง ๋ชปํฉ๋๋ค. ๊ตฌ์กฐํ๋ ์ฐจํธ ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ค๋ฉด ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์์ค์์ ์ถ์ถํ์ญ์์ค.
ํ์ฉ ์ฌ๋ก 5: ๋์์ ํ๋ ์ ๋ถ์
๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ ๊ฐ๋ณ ํ๋ ์์ ์ฒ๋ฆฌํ์ฌ ๋์์์ ๋ถ์ํ ์ ์์ต๋๋ค โ ffmpeg์ผ๋ก ํ๋ ์์ ์ถ์ถํ๊ณ , ๋น์ ๋ชจ๋ธ์ ์ ์กํ์ฌ ๋ถ์ํ ๋ค์, ํ ์คํธ LLM์ผ๋ก ํ๋ ์ ๊ฐ ์์ฝ์ ์์ฑํฉ๋๋ค. ์ค์๊ฐ์ด ์๋: ๋ชจ๋ธ๊ณผ ํ๋์จ์ด์ ๋ฐ๋ผ ํ๋ ์๋น 0.5~3์ด๋ฅผ ์์ํ์ญ์์ค.
- ํ๋ ์ ์ถ์ถ: ffmpeg์ผ๋ก 1fps ์ถ์ถ:
ffmpeg -i video.mp4 -vf fps=1 frames/frame_%04d.jpg - ํ๋ ์๋ณ ๋ถ์: ์ผ๊ด๋ ํ๋กฌํํธ๋ก ๊ฐ ํ๋ ์์ ๋น์ ๋ชจ๋ธ์ ์คํ (์: "์ด ํ๋ ์์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช ํ์ญ์์ค").
- ํ๋ ์ ๊ฐ ์์ฝ: ๋ชจ๋ ํ๋ ์ ์ค๋ช ์ ์์งํ์ฌ ์์ฝ ํ๋กฌํํธ์ ํจ๊ป ํ ์คํธ LLM์ ์ ๋ฌํฉ๋๋ค.
- ํ์ฉ ์ฌ๋ก: ๋ณด์ ์นด๋ฉ๋ผ ๊ฒํ (๋น์ ์์ ์ธ ํ๋์ด ์๋ ํ๋ ์ ํ์), ๊ฐ์ ๋ นํ ๋ถ์ (์ฌ๋ผ์ด๋๋ณ ๋ ธํธ ์์ฑ), ์ ์กฐ ํ์ง ๊ฒ์ฌ (๊ฒฐํจ์ด ๋ํ๋๋ ํ๋ ์ ํ์).
- ๋์์ ํ๋ ์ ์ต์ ๋ชจ๋ธ: ํ์ง์๋ Llama 3.2 Vision 11B, ์๋์๋ LLaVA 1.6 7B (๋ ๋์ ํ๋ ์ ์ฒ๋ฆฌ๋).
- ์๋ ํ์ค: RTX 4070์์ 1fps ์ถ์ถ๊ณผ ํ๋ ์๋น ์ฝ 1์ด ์ถ๋ก ์ผ๋ก, 10๋ถ ๋์์์ ์์ ํ ์ฒ๋ฆฌ์๋ ์ฝ 20~30๋ถ์ด ์์๋ฉ๋๋ค.
import base64
import subprocess
import os
import requests
def extract_frames(video_path: str, output_dir: str, fps: int = 1) -> list[str]:
os.makedirs(output_dir, exist_ok=True)
subprocess.run([
"ffmpeg", "-i", video_path,
"-vf", f"fps={fps}",
f"{output_dir}/frame_%04d.jpg",
"-y"
], check=True)
return sorted([
os.path.join(output_dir, f)
for f in os.listdir(output_dir)
if f.endswith(".jpg")
])
def analyze_frame(image_path: str, model: str = "llama3.2-vision") -> str:
with open(image_path, "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf-8")
response = requests.post(
"http://localhost:11434/api/generate",
json={
"model": model,
"prompt": "์ด ํ๋ ์์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ํ ๋ฌธ์ฅ์ผ๋ก ์ค๋ช
ํ์ญ์์ค.",
"images": [image_b64],
"stream": False,
},
)
return response.json()["response"]
frames = extract_frames("๊ฐ์.mp4", "frames/", fps=1)
descriptions = [analyze_frame(f) for f in frames]
print("
".join(f"[{i+1}์ด] {d}" for i, d in enumerate(descriptions)))VRAM ๋ฐ ์ค์ ์ฑ๋ฅ ํ์ธ
๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ ๊ธฐ๋ณธ LLM์ ์๊ฐ ์ธ์ฝ๋๋ฅผ ์ถ๊ฐํ์ฌ ํ ์คํธ ์ ์ฉ ๋ชจ๋ธ์ ๋นํด VRAM ์๊ตฌ ์ฌํญ๊ณผ ์ถ๋ก ์๊ฐ์ด ๋ชจ๋ ์ฆ๊ฐํฉ๋๋ค.
| ๋ชจ๋ธ | VRAM (Q4) | ํ ํฐ/์ด (RTX 4070) | ํ ํฐ/์ด (M5 Pro 36GB) | ํ๋ก๋์ ์ ํฉ? |
|---|---|---|---|---|
| Moondream 2 (1.9B) | ~2 GB | ~25โ35 | ~30โ40 | ์ โ ๋จ์ ์์ ์ |
| LLaVA 1.6 7B | ~6 GB | ~15โ20 | ~18โ25 | ์ โ ๋ฒ์ฉ |
| MiniCPM-V 2.6 (8B) | ~6 GB | ~12โ18 | ~15โ20 | ์ โ OCR ๋ฐ ๋ฌธ์ |
| Llama 3.2 Vision 11B | ~8 GB | ~10โ14 | ~12โ16 | ์ โ ์ ๋ฐ์ ์ต๊ณ ํ์ง |
| LLaVA 1.6 13B | ~10 GB | ~8โ12 | ~10โ14 | ์ โ 12 GB GPU์์ |
| Llama 3.2 Vision 90B | ~64 GB | N/A (๋ฉํฐ GPU ๋๋ M-Max ํ์) | N/A (M5 Max 128GB+ ํ์) | ๊ณ ๊ธ Apple Silicon์์๋ง |
๐Note: ๋น์ ๋ชจ๋ธ์ ํ ํฐ ์์ฑ ์๋๋ ๊ฐ์ ํฌ๊ธฐ์ ํ ์คํธ ์ ์ฉ ๋ชจ๋ธ๋ณด๋ค ๋๋ฆฝ๋๋ค. ์๊ฐ ์ธ์ฝ๋๊ฐ ์ฒซ ๋ฒ์งธ ์ด๋ฏธ์ง ํ ํฐ์์ ์๋นํ ๊ณ์ฐ ์ค๋ฒํค๋๋ฅผ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ดํ ํ ์คํธ ํ ํฐ์ ๊ฑฐ์ ์ ์ ์๋๋ก ์์ฑ๋ฉ๋๋ค.
๐Note: Apple Silicon์ ํตํฉ ๋ฉ๋ชจ๋ฆฌ๋ ์ ์ฉ GPU VRAM์ ๋ง์ง ์๋ ๋ ํฐ ๋ชจ๋ธ(M5 Max 128GB์์ ์ต๋ 90B)์ ์คํํ ์ ์๊ฒ ํฉ๋๋ค. ์๋๋ ๋๊ธ NVIDIA GPU๋ณด๋ค ์ฝ๊ฐ ๋ฎ์ง๋ง VRAM ์ ํ์ด ์์ต๋๋ค.
๋ก์ปฌ ๋น์ ๋ชจ๋ธ vs GPT-5.5 Vision ๋น๊ต
๋ก์ปฌ VLM์ ๊ตฌ์กฐํ๋ ๋ฌธ์์์ ๊ฒฉ์ฐจ๋ฅผ ํฌ๊ฒ ์ขํ์ง๋ง, ๋ณต์กํ๊ณ ๋ชจํธํ ์์ ์์๋ ์ฌ์ ํ GPT-5.5 Vision์ ๋ค์ฒ์ง๋๋ค.
- ๊ตฌ์กฐํ๋ ๋ฌธ์ (์ฒญ๊ตฌ์, ์์): ๋ก์ปฌ ๋ชจ๋ธ์ด GPT-5.5 ํ์ง์ 80~90% โ ๊นจ๋ํ๊ณ ํ์์ด ์ ๋ ๋ฌธ์์์ ํ๋ก๋์ ์ฌ์ฉ์ ์ถฉ๋ถํฉ๋๋ค.
- ๋ณต์กํ ์ฅ๋ฉด, ๋ชจํธํ ์ด๋ฏธ์ง: ๋ก์ปฌ ๋ชจ๋ธ์ด GPT-5.5์ 50~70% โ ๋น์ ์์ ์ธ ๋งฅ๋ฝ, ์กฐ๋ช ๋๋ ๋ชจํธํ ๋ด์ฉ์ด ์๋ ์ด๋ฏธ์ง์์ ๋์ ๋๋ ํ์ง ๊ฒฉ์ฐจ.
- ์๊ธ์จ ์ธ์: ๋ก์ปฌ ๋ชจ๋ธ์ ํนํ ํ๊ธฐ์ฒด์์ ํฌ๊ฒ ์ฝํฉ๋๋ค. GPT-5.5 Vision์ ์๊ธ์จ ์ฒ๋ฆฌ๊ฐ ์ค์ง์ ์ผ๋ก ๋ ์ฐ์ํฉ๋๋ค.
- ์ฐจํธ ๋ฐ์ดํฐ ์ถ์ถ: ๋ก์ปฌ ๋ชจ๋ธ๊ณผ GPT-5.5 ๋ชจ๋์์ ์ ๋ขฐํ ์ ์์ง๋ง, GPT-5.5๋ ์ ํํ ์์น์์ ๋ ์ ํํฉ๋๋ค.
- ๋น์ฉ: GPT-5.5 Vision์ด ์ด๋ฏธ์ง๋น $0.01~0.03 vs ๋ก์ปฌ์์ $0. ์ 10,000๊ฐ ์ด๋ฏธ์ง = ๋ก์ปฌ ๋ชจ๋ธ๋ก $100~300 ์ ์ฝ.
- ๊ฐ์ธ์ ๋ณด ๋ณดํธ: ๋ก์ปฌ ๋ชจ๋ธ์ ๊ธฐ๊ธฐ ๋ด์์ ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํ๋ฏ๋ก ๋ฐ์ดํฐ๊ฐ ์ธ๋ถ๋ก ๋๊ฐ์ง ์์ต๋๋ค. GPT-5.5๋ ์ด๋ฏธ์ง๋ฅผ OpenAI ์๋ฒ๋ก ์ ์กํฉ๋๋ค.
- ์๋: ๋ก์ปฌ ๋ชจ๋ธ์ 10~20 ํ ํฐ/์ด vs GPT-5.5์ 30~80 ํ ํฐ/์ด์ด์ง๋ง, ๋ฐฐ์น ์ฒ๋ฆฌ ์ ๋ก์ปฌ์ ๋คํธ์ํฌ ์ง์ฐ์ด ์์ต๋๋ค.
๐Note: ๊นจ๋ํ ์ ๋ ฅ์ผ๋ก ์ฒญ๊ตฌ์์ ์์์ ํ๋ก๋์ ์์ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ, ๋ก์ปฌ VLM(Llama 3.2 Vision 11B, Qwen2-VL 7B)์ ๋น์ฉ ์์ด GPT-5.5 Vision์ ๋์ฒดํ ์ ์์ต๋๋ค. ์๊ธ์จ, ๋ณต์กํ ์ฅ๋ฉด ๋ถ์, ๋ชจํธํ ๋ด์ฉ์ด ํฌํจ๋ ๋ชจ๋ ๊ฒ์๋ GPT-5.5๊ฐ ์ฌ์ ํ ์ฐ์ํฉ๋๋ค.
LLaVA ์ฌ์ธต ๋ถ์
LLaVA(Large Language and Vision Assistant)๋ ๊ธฐ๋ณธ์ ์ธ ์คํ์์ค VLM ์ํคํ ์ฒ์ ๋๋ค. 2023๋ ์์ค์ฝ์ -๋งค๋์จ ๋ํ๊ต์ Microsoft Research๊ฐ ์ถ์ํ์ฌ ๋๋ถ๋ถ์ ํ๋ ๋ก์ปฌ VLM์ด ๋ฐ๋ฅด๋ CLIP ์ธ์ฝ๋ + LLM ๋์ฝ๋ ํจํด์ ํ๋ฆฝํ์ต๋๋ค.
- ์ํคํ ์ฒ: CLIP ViT-L/14 ์๊ฐ ์ธ์ฝ๋ + Llama-2 ๋๋ Mistral ํ ์คํธ ๋์ฝ๋, ๋จ์ํ ์ ํ ํ๋ก์ ์ ๋ ์ด์ด๋ก ์ฐ๊ฒฐ.
- LLaVA 1.5 vs 1.6: ๋ฒ์ 1.6(2024๋ ์ด ์ถ์)์ ๋์ ํจ์น๋ฅผ ํตํด ๊ณ ํด์๋ ์ ๋ ฅ ์ง์์ ์ถ๊ฐํ์ฌ OCR ์ ํ๋์ ์ฐจํธ ์ฝ๊ธฐ๊ฐ ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
- ํ๋ จ: LLaVA-Instruct-150K์์ ์ง์ ํ๋ โ ์ด๋ฏธ์ง ์ค๋ช ๊ณผ ๊ฐ์ฒด ๊ฐ์ง ์ฃผ์์์ ์์ฑ๋ ์๊ฐ์ ๋ํ ๋ฐ์ดํฐ์ .
- ๊ฐ์ : ๊ด๋ฒ์ํ ์ผ๋ฐ ์ง์, ์ ๋ฌธ์ํ๋จ, ๋๊ท๋ชจ ์ปค๋ฎค๋ํฐ, ๊ด๋ฒ์ํ Ollama ํตํฉ.
- ์ฝ์ : MiniCPM-V 2.6๋ณด๋ค ์ฝํ OCR, InternVL 2.5๋ณด๋ค ์ฝํ UI ๋ถ์, ํ์ง ๋ฒค์น๋งํฌ์์ Llama 3.2 Vision 11B์ ์ ๋ฐ์ ์ผ๋ก ๋ค์ฒ์ง.
- ์ฌ์ ํ ๊ถ์ฅ๋๋ ์ด์ : LLaVA 1.6์ ๋ชจ๋ ๋ก์ปฌ VLM ์ค์์ ๊ฐ์ฅ ํฐ ์ปค๋ฎค๋ํฐ, ๊ฐ์ฅ ๋ง์ ํํ ๋ฆฌ์ผ, ๊ฐ์ฅ ๋ง์ ํ๋กฌํํธ ์์ ๋ฅผ ๋ณด์ ํ๊ณ ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ์์ ๊ฒฝ์ฐ ๋์์ ์ฐพ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค.
Qwen2-VL โ ์ต๊ณ ์ ๋ค๊ตญ์ด OCR ๋ฐ ๋ฌธ์ ์ฑ๋ฅ
Qwen2-VL์ Alibaba์ ๋น์ -์ธ์ด ๋ชจ๋ธ๋ก 2026๋ ๋ฌธ์ ๋ฒค์น๋งํฌ์์ ๊ฐ์ฅ ๊ฐ๋ ฅํ ์คํ์์ค ์ต์ ์ ๋๋ค. 7B ๋ณํ์ ๋ ์ ์ VRAM์ผ๋ก Llama 3.2 Vision 11B์ ๊ฒฝ์ํ๋ฉฐ, 72B ๋ณํ์ ๋๋ถ๋ถ์ ์คํ์์ค VLM ์์์์ ์ ๋๋ฅผ ์ฐจ์งํฉ๋๋ค.
- ์ํคํ ์ฒ: ์ต๋ 4096ร4096์ ๋์ ํด์๋ ์ง์ โ LLaVA 1.6(672ร672)์ด๋ Llama 3.2 Vision(1120ร1120)๋ณด๋ค ํฌ๊ฒ ๋์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ค์ด์ํ๋ง ์์ด ๊ณ DPI ์ค์บ์ ์ฝ์ ์ ์์ต๋๋ค.
- ๋ค๊ตญ์ด OCR: ์ค๊ตญ์ด, ์ผ๋ณธ์ด, ํ๊ตญ์ด, ์์ด์์ ๋๊ธ ์ต๊ณ ์ฑ๋ฅ. ํ๋ จ ๋ฐ์ดํฐ์ ๋๊ท๋ชจ ๋ค๊ตญ์ด ๋ฌธ์ ์ฝํผ์ค๊ฐ ํฌํจ๋์ด ์์ด ์ด์ธ์ ๋ฌธ์์์ LLaVA ๋ฐ Llama 3.2 Vision ๋๋น ์๋นํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
- 7B vs 72B: 7B๋ ~6 GB VRAM(Q4)์ ๋ง์ผ๋ฉฐ ๋๋ถ๋ถ์ ๋ฌธ์ ์์ ์์ Llama 3.2 Vision 11B์ ๊ฒฝ์ํฉ๋๋ค. 72B๋ ~48 GB๋ฅผ ์ฌ์ฉํ๋ฉฐ ๋๋ถ๋ถ์ ์คํ์์ค ๋ฒค์น๋งํฌ๋ฅผ ์ ๋ํฉ๋๋ค.
- Ollama ์ค์น:
ollama pull qwen2-vl:7bโ Ollama ๋ชจ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ง์ ์ฌ์ฉ ๊ฐ๋ฅ. - ๋ค์ค ์ด๋ฏธ์ง ์ง์: ์์ฒญ๋น ์ต๋ 8๊ฐ ์ด๋ฏธ์ง ํ์ฉ โ ์ด ๋น๊ต์ ๋ชจ๋ ๋ชจ๋ธ ์ค ๊ฐ์ฅ ๋์ ๋ค์ค ์ด๋ฏธ์ง ์ฉ๋.
- ๋ชจ๋ธ ํ์ด์ง: Qwen2-VL 7B on Hugging Face
๋น์ ๋ชจ๋ธ ์ ํ ๋ฐฉ๋ฒ
์ ์ ํ ๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ ์ ํํ๊ธฐ ์ํ VRAM ๊ธฐ๋ฐ ์์ฌ๊ฒฐ์ ํธ๋ฆฌ:
๐ ํ ๋ฌธ์ฅ์ผ๋ก
๋จผ์ VRAM(2โ4โ6โ8โ16 GB)์ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ธ์ ์ ํํ ๋ค์ ํ์ฉ ์ฌ๋ก(OCR, UI, ์ผ๋ฐ ์ง์์๋ต ๋๋ ์ต๊ณ ํ์ง)์ ๋ฐ๋ผ ์ธ๋ถํํ์ญ์์ค.
๐ฌ ์ฝ๊ฒ ๋งํ๋ฉด
VRAM 4 GB ๋ฏธ๋ง: Moondream๋ง ๊ฐ๋ฅ. 6 GB: ๋ฌธ์์๋ MiniCPM-V, ์ฌ์ง์๋ LLaVA 7B. 8~16 GB: ๊ฑฐ์ ๋ชจ๋ ์ฉ๋์ Llama 3.2 Vision 11B. 64+ GB: ์ต๊ณ ๋ก์ปฌ ํ์ง์ ์ํด Llama 3.2 Vision 90B.
- VRAM 4 GB ๋ฏธ๋ง: Moondream 2 (1.9B) โ 2 GB์์ ์ ์ผํ ์ค์ฉ์ ์ต์ . Moondream 2 ์ด์์ผ๋ก๋ PaliGemma 2 (3B)์ SmolVLM (2.2B)์ด ์ค์ฉ์ ์ธ ๋์์ ๋๋ค. PaliGemma 2๋ ์ฝ๊ฐ ์ถ๊ฐ VRAM (~3 GB) ๋น์ฉ์ผ๋ก Moondream๋ณด๋ค ๋ ๋์ ๋ฌธ์ ์ดํด๋ฅผ ์ ๊ณตํฉ๋๋ค. SmolVLM์ ๊ทน๋จ์ ์ธ ํจ์จ์ฑ์ ์ํด ํ์ง์ ํฌ์ํฉ๋๋ค. ๋นฝ๋นฝํ ํ ์คํธ OCR์๋ ์ ํฉํ์ง ์์ต๋๋ค.
- VRAM 6 GB: ๋ฌธ์ OCR ๋ฐ ์ฒญ๊ตฌ์ ์ฒ๋ฆฌ์๋ MiniCPM-V 2.6. ์ปค๋ฎค๋ํฐ ์ง์์ด ์ค์ํ ์ผ๋ฐ ์ฌ์ง ์ง์์๋ต์๋ LLaVA 1.6 7B. ๋ค๊ตญ์ด OCR ๋๋ ๊ฐ๋ฅํ ๊ฐ์ฅ ๋์ OCR ์ ํ๋๊ฐ ํ์ํ ๋๋ Qwen2-VL 7B.
- VRAM 8~16 GB: Llama 3.2 Vision 11B๊ฐ ๋ช ํํ ๊ถ์ฅ ์ฌํญ โ ์ด VRAM ์นดํ ๊ณ ๋ฆฌ์์ ์ ๋ฐ์ ์ธ ์ต๊ณ ํ์ง, ๊ด๋ฒ์ํ Ollama ์ง์.
- VRAM 16+ GB: LLaVA 1.6 13B๋ 7B ๋ณํ ๋๋น ๋ณต์กํ ์ฅ๋ฉด ์ดํด์ ๋ ๋ง์ ์ฉ๋์ ์ถ๊ฐํฉ๋๋ค. UI ์คํฌ๋ฆฐ์ท ๋๋ ์ฝ๋๊ฐ ์ฃผ์ ํ์ฉ ์ฌ๋ก๋ผ๋ฉด InternVL 2.5 8B.
- ํตํฉ ๋ฉ๋ชจ๋ฆฌ 64+ GB (Apple M-Max/Ultra, ๋ฉํฐ GPU): ์ฌ์ฉ ๊ฐ๋ฅํ ์ต๊ณ ๋ก์ปฌ VLM ํ์ง์ ์ํด Llama 3.2 Vision 90B โ ๋ฌธ์ ์์ ์์ ํด๋ผ์ฐ๋ ์์ค ์ฑ๋ฅ์ ๊ทผ์ . Qwen2-VL 72B๋ ์ต๊ณ ์ ์คํ์์ค ๋ฒค์น๋งํฌ ์ ์๋ฅผ ๋ณด์ ํ ๋์.
- ํญ์ ์ซ์๋ฅผ ํ์ธํ์ญ์์ค: ๋ชจ๋ธ์ ๊ด๊ณ์์ด ์ฐจํธ๋ ํ์์ ์ถ์ถํ ์์น๋ ์๋ณธ ๋ฐ์ดํฐ์ ๋์กฐํ์ฌ ํ์ธํ์ญ์์ค. ๋ก์ปฌ VLM์ ์๊ฐ์ ์ฐจํธ์์ ์ ํํ ์์น๋ฅผ ํ๊ฐํฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
Ollama ์์ด LLaVA ๋๋ Llama 3.2 Vision์ ์ฌ์ฉํ ์ ์์ต๋๊น?
์. llama.cpp(๋น์ ์ง์ ํฌํจ), transformers ๋ผ์ด๋ธ๋ฌ๋ฆฌ(์ ์ ํ ๋ชจ๋ธ ์นด๋ ํฌํจ), ๋๋ LM Studio(๋น์ ๋ชจ๋ธ์ฉ GUI ํฌํจ)๋ฅผ ์ฌ์ฉํ์ฌ LLaVA ๋ฐ Llama 3.2 Vision์ ์ง์ ์คํํ ์ ์์ต๋๋ค. Ollama๋ ๋จ์์ฑ ๋๋ฌธ์ ๊ถ์ฅ๋ฉ๋๋ค โ ๋ชจ๋ธ ๋ค์ด๋ก๋, ์์ํ ์ ํ, API ํธ์คํ ์ ์๋์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
Llama 3.2 Vision์ PDF ์ง์ ์ ๋ ฅ์ ์ง์ํฉ๋๊น?
์ด๋ค ๋ก์ปฌ VLM๋ PDF๋ฅผ ์ง์ ๋ฐ์ง ์์ต๋๋ค. ๋จผ์ PDF ํ์ด์ง๋ฅผ ์ด๋ฏธ์ง๋ก ๋ณํ(pdf2image, pypdfium2 ๋ฑ ์ฌ์ฉ)ํ ๋ค์ ๊ฐ ํ์ด์ง๋ฅผ ๋ณ๋์ ์ด๋ฏธ์ง ์์ฒญ์ผ๋ก ์ ์กํด์ผ ํฉ๋๋ค. 10ํ์ด์ง PDF์ ๊ฒฝ์ฐ 10๊ฐ์ ๋ณ๋ ์ด๋ฏธ์ง ์ฟผ๋ฆฌ๋ฅผ ์ ์กํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ฐ๊ฒฐํ๊ฑฐ๋ ์์ฝํฉ๋๋ค.
๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ GPT-5.5 Vision๊ณผ ์ด๋ป๊ฒ ๋น๊ต๋ฉ๋๊น?
GPT-5.5 Vision์ ๋ชจํธํ ์ฅ๋ฉด, ์๊ธ์จ, ๋ณต์กํ ์ธํฌ๊ทธ๋ํฝ, ์ธ๊ณ ์ง์์ด ํ์ํ ์์ ์์ ์ฌ์ ํ ํฌ๊ฒ ์ฐ์ํฉ๋๋ค. Llama 3.2 Vision 11B๋ ๊ตฌ์กฐํ๋ ๋ฌธ์(์ฒญ๊ตฌ์, ์์, ์ ๋ช ํ ์ฌ์ง)์์ GPT-5.5์ ๊ทผ์ ํ์ง๋ง ๋ฏธ๋ฌํ๊ฑฐ๋ ๋ชจํธํ ์ด๋ฏธ์ง์์๋ ๋ค์ฒ์ง๋๋ค. ๋น์ฉ, ๊ฐ์ธ์ ๋ณด ๋ณดํธ, ์๋ ๋ถ์์ ์์ ์ ์ฒด ๋น๊ต๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
๋ก์ปฌ VLM์ ์ด๋ค ์ด๋ฏธ์ง ํด์๋๋ฅผ ์ง์ํฉ๋๊น?
LLaVA 1.6์ ์ต๋ 672ร672์ ์คํจ ํด์๋๋ฅผ ์ง์ํฉ๋๋ค(๋์ ํจ์น ํฌํจ). MiniCPM-V 2.6์ ์ต๋ 1792ร1792๋ฅผ ์ง์ํฉ๋๋ค โ ๊ณ DPI ๋ฌธ์ ์ค์บ์์ LLaVA๋ฅผ ๋ฅ๊ฐํ๋ ์ด์ ์ค ํ๋์ ๋๋ค. Llama 3.2 Vision์ ์ต๋ 1120ร1120์ ๊ฐ๋ณ ํด์๋๋ฅผ ์ง์ํฉ๋๋ค. ์ต์์ OCR ๊ฒฐ๊ณผ๋ฅผ ์ํด ๋ฌธ์ ์ด๋ฏธ์ง๋ฅผ 150+ DPI๋ก ์ ์กํ์ญ์์ค.
์์ฒด ์ด๋ฏธ์ง๋ก ๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ ํ์ธํ๋ํ ์ ์์ต๋๊น?
์, ํ์ง๋ง VLM ํ์ธํ๋์ ํ ์คํธ ์ ์ฉ LLM ํ์ธํ๋๋ณด๋ค ๋ ๋ง์ ๋ฆฌ์์ค๊ฐ ํ์ํฉ๋๋ค โ ์ด๋ฏธ์ง์ ํ๋ จ ํ ์คํธ ๋ชจ๋ ์ ์ฒด ํฌ์๋ ํจ์ค๋ฅผ ํตํด ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค. LLaVA ํ์ธํ๋์ ์๋ณธ ํ๋ จ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ฌธ์ํ๋์ด ์์ต๋๋ค. MiniCPM-V๋ Hugging Face์ ๊ณต์ ํ๋ จ ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ํ์ธํ๋์ ์ง์ํฉ๋๋ค. ๋๋ถ๋ถ์ ํ์ฉ ์ฌ๋ก์์๋ ํ์ธํ๋ ์์ด ํ๋กฌํํธ ์์ง๋์ด๋ง๋ง์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.
VRAM 8 GB์ ์ต์ ์ธ ๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ ๋ฌด์์ ๋๊น?
๋ฒ์ฉ ์ฌ์ฉ์๋ Llama 3.2 Vision 11B (Q4 ์์ํ๊ฐ ~8 GB์ ๋ง์). ๋ค๊ตญ์ด OCR์ด ์ฃผ์ ์๊ตฌ ์ฌํญ์ด๋ผ๋ฉด Qwen2-VL 7B. ๋ ๋ชจ๋ธ ๋ชจ๋ ๋จ์ผ pull ๋ช ๋ น์ด๋ก Ollama์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
LLaVA vs MiniCPM-V โ OCR์๋ ์ด๋ ๊ฒ์ด ๋ ๋ซ์ต๋๊น?
MiniCPM-V 2.6์ ๋ฌธ์ OCR, ํนํ ๋นฝ๋นฝํ ํ์ ๊ณ DPI ์ค์บ์์ ๋ ์ ํํฉ๋๋ค. LLaVA 1.6์ ๋ ์ ๋ฌธ์ํ๋์ด ์๊ณ ๋ ๋ง์ ์ปค๋ฎค๋ํฐ ์ง์์ด ์์ต๋๋ค. ์์ํ OCR ์ ํ๋๋ฅผ ์ํด์๋ MiniCPM-V๋ฅผ ์ ํํ์ญ์์ค. ์ปค๋ฎค๋ํฐ ์๋ฃ์ ๋ฌธ์ ํด๊ฒฐ์ ์ํด์๋ LLaVA๋ฅผ ์ ํํ์ญ์์ค.
๋ก์ปฌ ๋น์ ๋ชจ๋ธ์ด ์๊ธ์จ๋ฅผ ์ฝ์ ์ ์์ต๋๊น?
์ธ์์ฒด ์๊ธ์จ(๋ธ๋ก ๋ฌธ์): ์, Llama 3.2 Vision 11B์ MiniCPM-V 2.6์์ ์ค๊ฐ ์์ค์ ์ ํ๋๋ก ์ฝ์ ์ ์์ต๋๋ค. ํ๊ธฐ์ฒด: ๋ชจ๋ ๋ก์ปฌ ๋ชจ๋ธ์์ ์ ๋ขฐํ ์ ์์ต๋๋ค. GPT-5.5 Vision์ ํ๊ธฐ์ฒด ์ฒ๋ฆฌ๊ฐ ํฌ๊ฒ ์ฐ์ํฉ๋๋ค. ํ๋ก๋์ ์์ ํ๊ธฐ์ฒด OCR์ ํด๋ผ์ฐ๋ API๋ฅผ ์ฌ์ ํ ๊ถ์ฅํฉ๋๋ค.
์ถ์ฒ
- LLaVA ํ๋ก์ ํธ ํ์ด์ง โ LLaVA 1.5 ๋ฐ 1.6 ๋ชจ๋ธ ์นด๋, ์ํคํ ์ฒ ์ธ๋ถ ์ฌํญ, ํ๋ จ ๋ฐ์ดํฐ์ ์ค๋ช .
- Llama 3.2 Vision on Hugging Face โ Meta์ ๊ณต์ ๋ชจ๋ธ ์ถ์, ๋ชจ๋ธ ์นด๋, ๋ฒค์น๋งํฌ ์์น.
- MiniCPM-V 2.6 on Hugging Face โ OpenBMB ๋ชจ๋ธ ์นด๋, OCR ๋ฒค์น๋งํฌ, ํ์ธํ๋ ์ง์นจ.
- Moondream on GitHub โ ์ํคํ ์ฒ ์ค๋ช , ์ถ๋ก ์คํฌ๋ฆฝํธ, ๋ชจ๋ธ ๋ค์ด๋ก๋.
- InternVL 2.5 on Hugging Face โ OpenGVLab ๋ชจ๋ธ ์นด๋, ๋ฌธ์ ๋ฐ UI ์์ ๋ฒค์น๋งํฌ ์ ์.
- Ollama ๋ฌธ์ โ ๋น์ ๋ชจ๋ธ ์ง์, API ์ฐธ์กฐ, ๋ชจ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
- Qwen2-VL on Hugging Face โ Alibaba Qwen2-VL ๋ชจ๋ธ ์นด๋, ์ํคํ ์ฒ ์ธ๋ถ ์ฌํญ, ๋ค๊ตญ์ด OCR ๋ฒค์น๋งํฌ.
- PaliGemma 2 on Hugging Face โ Google PaliGemma 2 3B ๋ชจ๋ธ ์นด๋.
- SmolVLM on Hugging Face โ HuggingFace SmolVLM ๋ชจ๋ธ ์นด๋ ๋ฐ ์ถ๋ก ์ง์นจ.