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

101 lines
2.3 KiB
Markdown

# 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
```yaml
# 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
```