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