Salta el contingut

1.4 Taxonomia de Models d'IA

La pregunta clau

"Quin model haig d'usar per al meu projecte?" Responder-la bé requereix entendre com es classifiquen els models i quines característiques importan per a cada cas d'ús.


🗂️ Eixos de Classificació

Els models LLM i d'IA generativa es poden classificar per cinc eixos independents. Un mateix model pot ser, per exemple, gran + multimodal + propietari + de propòsit general + decoder-only:

📐

1. Arquitectura

Encoder-only · Decoder-only · Encoder-Decoder
Vist a la secció 1.2

📏

2. Mida

Nombre de paràmetres: de 1B fins a 1T+

👁️

3. Modalitat

Text · Imatge · Àudio · Vídeo · Codi

🔓

4. Accés

Propietari (API) · Open-weight · Open-source total

🎯

5. Especialització

General · Codi · Científic · Legal · Mèdic


📏 Classificació per Mida

La mida d'un model s'expressa en nombre de paràmetres (bilions = B). No sempre "més gran = millor": depèn del cas d'ús, la latència i el cost.

Categories Pràctiques

Categoria Rang de paràmetres Exemples Cas d'ús típic
SLM (Small) 1B – 7B Phi-3 Mini, Gemma 2B, Llama 3.2 3B Dispositius mòbils, edge, tasques simples
Mig 8B – 30B Llama 3.1 8B, Mistral 7B, Gemma 9B Servidors estàndard, raonament moderat
Gran 30B – 100B Llama 3.1 70B, Qwen 72B Tasques complexes, producció professional
Molt gran 100B+ GPT-4, Claude Opus, Gemini Ultra Màxima capacitat, alt cost

La Llei de Scaling i els seus Límits

Rendiment ≈ f(paràmetres, dades d'entrenament, compute)

Però a partir de cert punt:
  +2x paràmetres → +30% rendiment (no +100%)
  Llei de retorns decreixents

Chinchilla Optimal

DeepMind (2022) va demostrar que molts models eren "over-parametrized" i "under-trained". La ràtio òptima és ~20 tokens d'entrenament per paràmetre. Un model de 7B hauria d'entrenar-se amb ~140B tokens per ser òptim.

Models Petits vs Models Grans: Quan Usar Cada Un

# Guia de decisió simplificada

def tria_model(tasca, latencia_max_ms, cost_max_per_1k_tokens):
    if latencia_max_ms < 500 or cost_max_per_1k_tokens < 0.001:
        return "SLM local: Phi-3, Gemma 2B, Llama 3.2 3B"

    if tasca in ["resposta_simple", "classificacio", "resum_curt"]:
        return "Model mig via API: GPT-4o-mini, Claude Haiku, Gemini Flash"

    if tasca in ["raonament_complex", "codi_avancat", "analisi_llarg"]:
        return "Model gran: GPT-4o, Claude Sonnet/Opus, Gemini Pro"

    if tasca in ["investigacio", "projecte_final", "multi_agent"]:
        return "Model flagship: Claude Opus 4.6, GPT-4o, Gemini Ultra"

👁️ Classificació per Modalitat

Models de Text (Text-only)

Processen i generen únicament text. La majoria dels LLM historials (GPT-3, Claude 1-2, Llama 2).

Models Multimodals

Poden processar múltiples tipus d'entrada (text + imatge, text + àudio, etc.) i generar respostes multimodals.

Entrada                          Sortida
──────────────────────────────────────────────────
Text + Imatge  → GPT-4o, Claude 3+, Gemini     → Text
Text + Àudio   → GPT-4o (natiu), Whisper+LLM   → Text / Àudio
Text + Vídeo   → Gemini 1.5 Pro                → Text
Text + Codi    → Tots els models moderns        → Text + Codi

Casos d'ús multimodal en agents:

Modalitat d'entrada Exemples pràctics per a agents
Imatge Analitzar captura de pantalla, llegir factura escaneada, descriure gràfic
PDF/Document Extreure taules, resumir informe, respondre preguntes sobre document
Àudio Transcriure reunió, analitzar sentiment de trucada, generar subtítols
Vídeo Resumir presentació, detectar moments clau, descriure acció

Models de Generació d'Imatge/Vídeo

Arquitectures completament diferents dels LLM (diffusion models, no Transformers purs):

Model Empresa Modalitat
DALL·E 3 OpenAI Text → Imatge
Stable Diffusion 3 Stability AI Text → Imatge (open)
Midjourney v6 Midjourney Text → Imatge
Sora OpenAI Text → Vídeo
Gemini Imagen Google Text → Imatge

Difusió vs Transformer

Els models de generació d'imatge moderns usen principalment diffusion models (procés de "dessorollar" una imatge des de soroll aleatori guiat per text). Alguns nous models (DALL·E 3, Gemini Imagen) usen Transformers per a la part textual però difusió per a la generació visual.


🔓 Classificació per Accés i Llicència

Models Propietaris (API-only)

Accessibles únicament via API. El codi i els pesos no són públics.

Model Empresa Punt Fort Preu (entrada/1M tokens)
GPT-4o OpenAI Multimodal, ecosistema madur ~$2.50
GPT-4o-mini OpenAI Ràpid i econòmic ~$0.15
Claude Opus 4.6 Anthropic Raonament, context llarg ~$15
Claude Sonnet 4.6 Anthropic Equilibri cost/rendiment ~$3
Claude Haiku 4.5 Anthropic Velocitat i baix cost ~$0.25
Gemini 1.5 Pro Google Context 1M tokens ~$1.25
Gemini 2.0 Flash Google Molt ràpid, econòmic ~$0.075

Models Open-Weight

Els pesos del model es publiquen (es pot descarregar i executar localment), però la llicència pot restringir l'ús comercial.

Model Empresa Paràmetres Llicència
Llama 3.1 8B/70B Meta 8B, 70B, 405B Llama Community (comercial OK < 700M usuaris)
Llama 3.3 70B Meta 70B Llama Community
Mistral 7B Mistral AI 7B Apache 2.0 (totalment lliure)
Mixtral 8x7B Mistral AI 47B actius (MoE) Apache 2.0
Gemma 2 Google 2B, 9B, 27B Gemma Terms (comercial OK)
Phi-3 / Phi-4 Microsoft 3.8B, 14B MIT (totalment lliure)
Qwen 2.5 Alibaba 7B–72B Apache 2.0
# Executar models open-weight localment amb Ollama
ollama pull llama3.3:70b      # 40 GB aprox — necessita GPU potent
ollama pull mistral:7b        # 4.1 GB — funciona amb 8GB RAM
ollama pull phi4:14b          # 9 GB — bon equilibri qualitat/mida
ollama pull gemma2:9b         # 5.4 GB — molt recomanat

ollama run mistral:7b "Explica en 3 línies qué és un agent d'IA"

Comparació: Propietari vs Open-Weight

Propietari (API) Open-Weight (local)
Rendiment Millor en models grans Competitiu a 70B+
Cost fix 0€ (pagues per ús) GPU: 500€–5.000€
Cost variable Per token (pot ser alt) Pràcticament 0
Privacitat Dades surten al servidor Dades 100% locals
Latència Xarxa + cua del servidor Local (depèn de la GPU)
Actualitzacions Automàtiques (pot trencar) Tu controles la versió
Fine-tuning Limitat Complet (LoRA, QLoRA)

🎯 Classificació per Especialització

Models de Propòsit General

Entrenats en corpus amplis i diverses tasques. La majoria dels models citats fins ara.

Models Especialitzats en Codi

Optimitzats per a generació, comprensió i depuració de codi:

Model Empresa Especialitat
Codestral Mistral AI Generació de codi (80+ llenguatges)
DeepSeek Coder DeepSeek Competitiu amb GPT-4 en codi, open
Code Llama Meta Fine-tuning de Llama per a codi
StarCoder 2 Hugging Face Open-source, 600+ llenguatges
# Exemple: usar Codestral per a generació de codi
from langchain_mistralai import ChatMistralAI

llm = ChatMistralAI(model="codestral-latest")
resposta = llm.invoke("""
Escriu una funció Python que llegeixi un CSV,
elimini files duplicades i retorni un DataFrame netejat.
""")

Models Especialitzats per Domini

Domini Models Destacats Ús
Biomèdic BioMedLM, Med-PaLM 2, Meditron Diagnòstic, literatura mèdica
Legal LexGPT, Harvey AI Anàlisi de contractes, jurisprudència
Financer BloombergGPT, FinGPT Anàlisi de mercats, informes
Científic Galactica (Meta), SciGLM Papers, fórmules, dades
Multilingüe mBERT, mT5, BLOOM Suport a 100+ idiomes
Codi Codestral, DeepSeek-Coder Programació especialitzada

⚗️ Tècniques Especials d'Arquitectura

Mixture of Experts (MoE)

En lloc d'activar tots els paràmetres per a cada token, un model MoE té múltiples "experts" (xarxes feedforward especialitzades) i un router que selecciona quins 2-4 experts activar per a cada token.

Token d'entrada
   Router         → selecciona 2 de 8 experts
  /   |   \
E1   E2   E3 … E8
   Sortida

Mixtral 8x7B:
- 8 experts de 7B paràmetres cadascun
- Però NOMÉS 2 actius per token
- Total pesos: ~47B
- Pesos actius per token: ~13B
- Resultat: qualitat de ~47B, cost computacional de ~13B

Avantatge: qualitat alta amb menor cost d'inferència. Desavantatge: molt de memòria per carregar tots els experts (fins i tot els inactius).

Quantització

Tècnica per reduir la precisió numèrica dels pesos (de float32 a int8 o int4), reduint la memòria necessària a canvi d'una petita pèrdua de qualitat:

Precisió Mida Llama 3.1 8B Qualitat VRAM necessària
float32 (FP32) ~32 GB 100% 40 GB GPU
float16 (FP16) ~16 GB ~99.9% 24 GB GPU
int8 (Q8) ~8 GB ~99.5% 12 GB GPU
int4 (Q4) ~4 GB ~98% 6 GB GPU
int2 (Q2) ~2 GB ~94% 4 GB GPU
# Ollama gestiona la quantització automàticament
ollama pull llama3.1:8b        # Q4 per defecte (~4.7 GB)
ollama pull llama3.1:8b-q8_0   # Q8 (~8.5 GB), millor qualitat

Raonament Extès (Chain-of-Thought natiu)

Models com o1, o3 (OpenAI) i DeepSeek R1 integren el raonament "pas a pas" com a part del procés d'inferència, no com a tècnica de prompting:

Model estàndard:
  Pregunta → [model] → Resposta

Model de raonament (o1/o3/R1):
  Pregunta → [chain-of-thought intern, invisible] → Resposta verificada

Avantatge: molt millor en matemàtiques, lògica, programació complexa
Cost: més lent (el "thinking" pot durar 10-60 segons) i més car

🧭 Guia de Selecció de Model

Per a Agents (el cas d'ús d'aquest curs)

Necessites un agent per a... → Recomanació

Prototip ràpid / proves:
  → Claude Haiku 4.5 o GPT-4o-mini (econòmics, ràpids)

Producció amb tasques moderades:
  → Claude Sonnet 4.6 o GPT-4o (equilibri cost/qualitat)

Agents complexos amb raonament multi-pas:
  → Claude Opus 4.6 o o3 (màxima capacitat)

Privacitat / dades sensibles:
  → Llama 3.3 70B o Mistral Large (local amb Ollama)

Molt baix pressupost / edge:
  → Phi-4 14B o Gemma 2 9B (local, lleugers)

Matriu de Decisió

Cost baix Rendiment alt Privacitat Velocitat
GPT-4o-mini ⚠️
Claude Haiku 4.5 ⚠️
Claude Sonnet 4.6 ⚠️
Claude Opus 4.6 ⚠️
Llama 3.3 70B (local) ⚠️
Mistral 7B (local) ⚠️
o3 / DeepSeek R1 ❌/✅

🔑 Conceptes Clau d'aquesta Unitat

Terme Definició
SLM Small Language Model. Models <10B adequats per a execució local o en dispositiu.
MoE Mixture of Experts. Arquitectura amb múltiples "experts" especialitzats, activats selectivament.
Quantització Reducció de la precisió numèrica dels pesos per disminuir la memòria necessària.
Open-weight Model els pesos del qual es poden descarregar, però no necessàriament el codi d'entrenament.
Fine-tuning Adaptació d'un model pre-entrenat a una tasca específica amb dades pròpies.
LoRA / QLoRA Tècniques eficients de fine-tuning que modifiquen molt pocs paràmetres addicionals.
Multimodal Model capaç de processar i/o generar múltiples tipus de dades (text, imatge, àudio).
Raonament extès Models (o1, R1) que generen una cadena de pensament interna abans de la resposta final.

✅ Activitats de Consolidació

Exercici 1.4.1 — Compara Models

Fes la mateixa pregunta de raonament a tres models:

  1. Un SLM local (Phi-4 via Ollama)
  2. Un model econòmic via API (Claude Haiku o GPT-4o-mini)
  3. Un model gran (Claude Sonnet o GPT-4o)

Pregunta de prova: "Un tren surt de Barcelona a les 08:15 a 120km/h. Un altre surt de Madrid a les 09:00 a 150km/h. La distància és 621km. A quina hora i lloc es creuen?"

Registra: qualitat de la resposta, temps de resposta, cost estimat.

Exercici 1.4.2 — Model per a un Cas Real

Una clínica veterinària vol un agent que:

  • Respongui preguntes sobre les seves 300 fitxes d'animals (PDF)
  • Programi cites automàticament
  • Redacti informes post-consulta
  • Funcioni 24/7 amb 100 consultes/dia de cost màxim 50€/mes

Quins models proposaries? Justifica l'elecció tenint en compte cost, privacitat i capacitat.

Exercici 1.4.3 — Explorar Hugging Face

Visita huggingface.co/models i filtra per:

  1. Busca els 5 models més populars de la categoria "text-generation"
  2. Busca un model especialitzat en llengua catalana
  3. Busca un model de menys de 4B paràmetres amb llicència Apache 2.0

Per a cada model trobat: anota el nom, la mida i el cas d'ús indicat.


📚 Lectures Complementàries