local-llm-agent/docs/90-adr/ADR-002-model-selection.md
Adrian Flores Cortes 3def230d58 Initial commit: local-llm-agent infrastructure project
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 16:42:45 -06:00

2.3 KiB

ADR-002: Model Selection

Status

Accepted

Date

2026-01-20

Context

Necesitamos seleccionar un modelo LLM que:

  • Corra en GPU con 16GB VRAM (RTX 5060 Ti)
  • Soporte contexto largo (8K-16K tokens)
  • Tenga buena calidad para tareas de codigo
  • Permita concurrencia de 2-3 agentes

Modelos Considerados

Modelo Parametros VRAM (Q4) Contexto Calidad Codigo
Llama 3.1 8B 8B ~5GB 128K Buena
Mistral 7B 7B ~4.5GB 32K Buena
CodeLlama 13B 13B ~8GB 16K Muy buena
GPT-OSS 20B 20B ~14GB 16K Excelente
Llama 3.1 70B 70B >40GB 128K Excelente

Decision

Modelo seleccionado: GPT-OSS 20B Q4_K_M

Justificacion

  1. VRAM fit: ~14GB en Q4_K_M, deja ~1.5GB para KV cache
  2. Calidad: 20B parametros ofrece mejor razonamiento que 7B-13B
  3. Codigo: Buen desempeno en tareas de programacion
  4. Contexto: 16K tokens suficiente para tareas delegadas

Configuracion de Quantizacion

Q4_K_M (4-bit quantization):
- Reduccion ~4x en VRAM vs FP16
- Perdida de calidad: ~2-5%
- Velocidad: 80-100 tokens/segundo

VRAM Budget

Total disponible:    16,384 MB
Modelo base:        -14,000 MB
KV Cache (4K ctx):   -1,500 MB
Buffer sistema:        -500 MB
------------------------
Disponible:             384 MB

Consequences

Positivas

  • Mejor calidad que modelos 7B-13B
  • Cabe en VRAM disponible
  • Buena velocidad de inferencia

Negativas

  • Poco margen para expansion de contexto
  • No permite correr multiples modelos
  • Sin espacio para LoRA grandes en memoria

Alternatives Considered

Llama 3.1 8B

  • Pros: Mucho VRAM libre, contexto 128K
  • Cons: Menor calidad en tareas complejas
  • Veredicto: Reservado como fallback si se necesita mas contexto

CodeLlama 13B

  • Pros: Especializado en codigo
  • Cons: Menos versatil para otras tareas
  • Veredicto: Considerado para Fase 2 como modelo especializado

Implementation Notes

# Configuracion de modelo
model:
  name: gpt-oss-20b
  quantization: Q4_K_M
  context_length: 16384
  batch_size: 4

# Tiers basados en uso de contexto
tiers:
  small:
    max_context: 4096   # ~1/4 del contexto
    max_tokens: 512
  main:
    max_context: 16384  # Contexto completo
    max_tokens: 2048