Meta Llama je najpopulárnejší open source LLM. Verzia 3.2 prináša modely od 1B do 90B parametrov.

Prečo Llama?

Výhody open source

  • Súkromie - dáta neopúšťajú váš server
  • Náklady - žiadne API poplatky
  • Customizácia - fine-tuning podľa potreby
  • Offline - funguje bez internetu

Nevýhody

  • Hardware - potrebujete GPU
  • Údržba - sami spravujete infraštruktúru
  • Kvalita - stále za GPT-4/Claude

Llama 3.2 modely

Model Parametre RAM Use case
Llama 3.2 1B 1B 4GB Mobile, edge
Llama 3.2 3B 3B 8GB Lightweight tasks
Llama 3.2 11B Vision 11B 24GB Multimodal
Llama 3.2 90B Vision 90B 180GB State-of-art

Lokálne spustenie

Ollama (Najjednoduchšie)

# Inštalácia
curl -fsSL https://ollama.com/install.sh | sh

# Stiahnutie a spustenie
ollama run llama3.2

# API endpoint
curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Vysvetli machine learning"
}'

vLLM (Produkčné)

pip install vllm

# Spustenie servera
python -m vllm.entrypoints.openai.api_server \
    --model meta-llama/Llama-3.2-3B-Instruct \
    --port 8000
from openai import OpenAI

# Kompatibilné s OpenAI SDK
client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="not-needed"
)

response = client.chat.completions.create(
    model="meta-llama/Llama-3.2-3B-Instruct",
    messages=[{"role": "user", "content": "Hello!"}]
)

Hugging Face Transformers

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_id = "meta-llama/Llama-3.2-3B-Instruct"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.bfloat16,
    device_map="auto"
)

messages = [{"role": "user", "content": "Ahoj!"}]
input_ids = tokenizer.apply_chat_template(
    messages,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(input_ids, max_new_tokens=256)
print(tokenizer.decode(outputs[0]))

Quantizácia

Zníženie pamäťových nárokov:

from transformers import BitsAndBytesConfig

bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_compute_dtype=torch.bfloat16
)

model = AutoModelForCausalLM.from_pretrained(
    model_id,
    quantization_config=bnb_config
)
Precision Llama 3.2 3B RAM
FP16 6GB
INT8 3GB
INT4 1.5GB

Kedy Llama, kedy API?

Použite Llama

  • Citlivé dáta (zdravotníctvo, financie)
  • Vysoký objem requestov
  • Offline aplikácie
  • Experimentovanie a fine-tuning

Použite API (OpenAI/Claude)

  • Najvyššia kvalita odpoveďí
  • Rýchly štart bez infraštruktúry
  • Multimodálne úlohy
  • Občasné použitie

Záver

Llama 3.2 je skvelá voľba pre tých, čo chcú kontrolu nad AI infraštruktúrou. S nástrojmi ako Ollama je štart otázkou minút.