DeepLearning

[Ollama] vs pytorch transformers

jiheek 2025. 8. 11. 15:37

๐Ÿ”„ Ollama vs PyTorch/transformers

PyTorch ์ง์ ‘ ์‚ฌ์šฉ

  • โœ… ์žฅ์ : ๋ชจ๋ธ ๊ตฌ์กฐ์— ์ง์ ‘ ์ ‘๊ทผ, ์„ธ๋ฐ€ํ•œ ์ œ์–ด ๊ฐ€๋Šฅ
  • โŒ ๋‹จ์ : ๋ณต์žกํ•œ ์„ค์ •, GPU ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ๋ชจ๋ธ ๋กœ๋”ฉ ์‹œ๊ฐ„ ์˜ค๋ž˜ ๊ฑธ๋ฆผ
  • ๐Ÿ“ฆ ํŠน์ง•: Transformers ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ๋ชจ๋ธ์„ ์ง์ ‘ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉ

Ollama ์‚ฌ์šฉ

  • โœ… ์žฅ์ : ๊ฐ„๋‹จํ•œ ์„ค์ •, ์ž๋™ ์ตœ์ ํ™”, ๋น ๋ฅธ ์‹œ์ž‘, ๋ชจ๋ธ ๊ด€๋ฆฌ ํŽธ๋ฆฌ
  • โœ… ํŠน์ง•: ์„œ๋ฒ„-ํด๋ผ์ด์–ธํŠธ ๊ตฌ์กฐ, ์–‘์žํ™” ์ž๋™ ์ ์šฉ, ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ 
  • ๐Ÿš€ ์ตœ์ ํ™”: C++๋กœ ์ž‘์„ฑ๋œ llama.cpp ์—”์ง„ ์‚ฌ์šฉ (๋” ๋น ๋ฆ„)
# ollama ์„ค์น˜
curl -fsSL https://ollama.com/install.sh | sh
# llama3.2 1B(๊ฐ€์žฅ ์ž‘์€ ๋ชจ๋ธ) ์„ค์น˜
ollama pull llama3.2:1b

 

๐Ÿ“Š Ollama vs PyTorch/Transformers ๋น„๊ตํ‘œ

๊ตฌ๋ถ„ ๐Ÿฆ™ Ollama ๐Ÿ PyTorch/Transformers
์•„ํ‚คํ…์ฒ˜ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๊ตฌ์กฐ ์ง์ ‘ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ถœ
ํ†ต์‹  ๋ฐฉ์‹ HTTP API (REST) Python ํ•จ์ˆ˜ ํ˜ธ์ถœ
๊ธฐ๋ณธ ํฌํŠธ 11434 ์—†์Œ (์ง์ ‘ ํ˜ธ์ถœ)
์„ค์น˜ ๋ฐฉ๋ฒ• ์‹œ์Šคํ…œ ๋ฐ”์ด๋„ˆ๋ฆฌ ์„ค์น˜ pip install
๋ชจ๋ธ ๊ด€๋ฆฌ ollama pull <model> HuggingFace Hub ์ž๋™ ๋‹ค์šด๋กœ๋“œ
๋ชจ๋ธ ์ €์žฅ ์œ„์น˜ /usr/share/ollama/.ollama/models/ ~/.cache/huggingface/hub/
๋ชจ๋ธ ํ˜•์‹ GGUF (์–‘์žํ™”๋œ ํ˜•์‹) PyTorch (.bin, .safetensors)
๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณต์œ  ๊ด€๋ฆฌ ๊ฐ Python ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๋กœ๋“œ
์ดˆ๊ธฐํ™” ์‹œ๊ฐ„ ์„œ๋ฒ„ ์‹œ์ž‘ ํ›„ ์ฆ‰์‹œ ์‚ฌ์šฉ ๋งค๋ฒˆ ๋ชจ๋ธ ๋กœ๋”ฉ ํ•„์š”
๋™์‹œ ์‚ฌ์šฉ ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํ•˜๋‚˜์˜ ์„œ๋ฒ„ ๊ณต์œ  ๊ฐ๊ฐ ๋…๋ฆฝ์ ์œผ๋กœ ๋ชจ๋ธ ๋กœ๋“œ
์„ฑ๋Šฅ C++/Go ๊ธฐ๋ฐ˜, ๊ณ ๋„๋กœ ์ตœ์ ํ™” Python ์˜ค๋ฒ„ํ—ค๋“œ ์กด์žฌ
์ŠคํŠธ๋ฆฌ๋ฐ ๋‚ด์žฅ ์ง€์› (stream=True) ๋ณต์žกํ•œ ๊ตฌํ˜„ ํ•„์š”
์–‘์žํ™” ๊ธฐ๋ณธ ์ง€์› (Q8_0, Q4_0 ๋“ฑ) ๋ณ„๋„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•„์š”
์ปค์Šคํ„ฐ๋งˆ์ด์ง• API ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ œํ•œ ๋ชจ๋“  ๋‚ด๋ถ€ ๋กœ์ง ์ ‘๊ทผ ๊ฐ€๋Šฅ
๋””๋ฒ„๊น… ์„œ๋ฒ„ ๋กœ๊ทธ๋งŒ ํ™•์ธ ๊ฐ€๋Šฅ Python ์ฝ”๋“œ ์ง์ ‘ ๋””๋ฒ„๊น…
์˜์กด์„ฑ requests ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋งŒ torch, transformers ๋“ฑ
๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰ ์••์ถ•๋œ ๋ชจ๋ธ (1.3GB) ์›๋ณธ ๋ชจ๋ธ (๋” ํฐ ์šฉ๋Ÿ‰)
GPU ์ง€์› ์ž๋™ ๊ฐ์ง€ ๋ฐ ์ตœ์ ํ™” ์ˆ˜๋™ ์„ค์ • ํ•„์š”
CPU ์ตœ์ ํ™” llama.cpp ๊ธฐ๋ฐ˜ ์ตœ์ ํ™” ๊ธฐ๋ณธ PyTorch CPU ์‹คํ–‰

 

 

Ollama ์ถ”๋ก  ์ˆœ์„œ

Ollama์˜ ๊ธฐ๋ณธ ์„œ๋ฒ„ ํฌํŠธ๋Š” 11434์ด๋‹ค.

๐Ÿ—‚๏ธ ๋ชจ๋ธ ํŒŒ์ผ (๋””์Šคํฌ): ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅ
    ↓
๐Ÿ–ฅ๏ธ Ollama ์„œ๋ฒ„: ํŒŒ์ผ์„ ์ฝ์–ด์„œ ์ถ”๋ก  ์—”์ง„ ๊ตฌ๋™
    ↓  
๐ŸŒ HTTP API: ์™ธ๋ถ€์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค ์ œ๊ณต
    ↓
๐Ÿ ollama.py: API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ