Habilidad de Arquitectura AlphaGo
Puntos de Decisión
Cuándo Usar Evaluadores Únicos vs. en Cascada
Características del problema:
├── Espacio de búsqueda tratable (b^d < 10^9)
│ └── Usar el mejor evaluador único → optimización estándar
└── Espacio de búsqueda intratable (b^d > 10^12)
├── Presupuesto de evaluación uniforme disponible
│ └── Usar aproximación en cascada:
│ 1. Poda rápida (red de política) → haz estrecho
│ 2. Evaluación media (red de valor) → estimar calidad
│ 3. Exploración barata (simulaciones) → cobertura de amplitud
└── Presupuesto de evaluación no uniforme
└── Asignación adaptativa:
├── Posiciones críticas → evaluación costosa
└── Posiciones rutinarias → heurísticas baratas
Árbol de Decisión de Requisitos de Precisión vs. Latencia
Requisitos del sistema:
├── Latencia crítica (respuesta <1ms)
│ ├── Tolerancia de precisión alta (error >10% aceptable)
│ │ └── Solo simulaciones rápidas (2µs/evaluación)
│ └── Tolerancia de precisión baja (error <5%)
│ └── Red de política en caché + respaldo heurístico
├── Latencia moderada (respuesta 1-100ms)
│ ├── Alta precisión necesaria
│ │ └── Red de valor (3ms) + guía de red de política
│ └── Precisión/velocidad equilibradas
│ └── Evaluación mixta: λ=0.5 valor + simulaciones
└── Latencia tolerante (>100ms)
└── Cascada completa: política → valor → simulaciones con MCTS
Evaluación de Diversidad de Modos de Error
Al elegir múltiples evaluadores:
├── Todos los evaluadores tienen modos de fallo similares
│ └── Usar el mejor evaluador único (sin beneficio de diversidad)
├── Los evaluadores tienen errores complementarios
│ ├── Par rápido/ruidoso + lento/preciso
│ │ └── Mezclar con λ=0.3-0.7 (sesgo hacia preciso)
│ ├── Par conservador + exploratorio
│ │ └── Mezclar con λ=0.5 (ponderación igual)
│ └── Par aprendido + artesanal
│ └── Mezcla dinámica basada en puntuaciones de confianza
└── Correlación de error desconocida
└── Pruebas empíricas: medir el rendimiento en un conjunto de validación
Modos de Fallo
Sobrecarga de Esquemas (Detección: >5 capas de aproximación)
Síntoma: Agregar más capas de aproximación pero ver rendimientos decrecientes Causa raíz: Cada capa añade sobrecarga sin una ganancia proporcional de precisión Solución: Perfilar el coste computacional frente a la mejora de precisión; eliminar capas con bajo ROI Regla de detección: Si agregar la capa N mejora la precisión <5% pero aumenta la latencia >20%, tienes sobrecarga de esquemas
Acoplamiento Síncrono (Detección: Componentes rápidos esperando inactivos)
Síntoma: La utilización de la CPU cae mientras se espera la evaluación de la GPU Causa raíz: Acoplamiento estrecho entre la búsqueda rápida y la evaluación lenta de la red neuronal Solución: Implementar colas asíncronas con tolerancia a valores desactualizados Regla de detección: Si los componentes rápidos (búsqueda, simulaciones) tienen >50% de tiempo inactivo, tienes acoplamiento síncrono
Fijación en Métrica Proxy (Detección: La métrica mejora pero el rendimiento empeora)
Síntoma: La precisión de predicción de movimiento mejora pero la tasa de victorias disminuye Causa raíz: Optimizar para la imitación humana en lugar del éxito objetivo Solución: Cambiar de aprendizaje supervisado a aprendizaje por refuerzo con el objetivo real Regla de detección: Si la métrica proxy y la métrica de resultado tienden en direcciones opuestas durante >10 evaluaciones, tienes fijación en proxy
Falacia del Evaluador Único (Detección: Rechazar componentes individuales "peores")
Síntoma: Descartar simulaciones porque la red de valor tiene una precisión individual más alta Causa raíz: Asumir que el mejor componente individual constituye el mejor componente del sistema Solución: Probar el rendimiento de la mezcla empíricamente; la diversidad a menudo supera a la calidad individual Regla de detección: Si seleccionas componentes por rendimiento individual sin probar combinaciones, tienes la falacia del evaluador único
Asignación de Presupuesto Uniforme (Detección: Misma computación para todas las decisiones)
Síntoma: Gastar el mismo tiempo de evaluación en movimientos obvios y posiciones críticas Causa raíz: No adaptar el presupuesto computacional a la importancia de la decisión Solución: Implementar asignación adaptativa basada en la incertidumbre de la posición y la sensibilidad del resultado Regla de detección: Si la varianza del tiempo de evaluación entre posiciones es <20% de la media, tienes asignación uniforme
Ejemplos Prácticos
Implementación de Aproximación en Cascada para Revisión de Código
Escenario: Diseñar un sistema de IA para revisar solicitudes de extracción con 50-500 líneas modificadas, necesita <10s de tiempo de respuesta, debe detectar el 95% de los errores.
Paso 1: Analizar restricciones computacionales
- Análisis estático: 10ms por archivo
- Detector de errores ML: 2s por archivo
- Análisis semántico profundo: 30s por archivo
- Presupuesto disponible: 10s en total
Paso 2: Aplicar el árbol de decisión en cascada Siguiendo la ruta de "espacio de búsqueda intratable" ya que el análisis exhaustivo excede el presupuesto:
- Capa de poda rápida (análisis estático): Eliminar archivos sin cambios de complejidad
- Capa de evaluación media (detector ML): Puntuar los archivos restantes por probabilidad de error
- Capa de análisis costoso (semántico): Inmersión profunda solo en los archivos con mayor puntuación
Paso 3: Estrategia de asignación de presupuesto
- Reservar 2s para la evaluación ML de todos los archivos restantes
- Asignar los 8s restantes al análisis semántico basado en las puntuaciones ML
- Archivos con puntuación >0.8: obtener 4s cada uno (máx. 2 archivos)
- Archivos con puntuación 0.5-0.8: obtener 2s cada uno
- Archivos con puntuación <0.5: obtener solo la puntuación ML
Paso 4: Implementación de evaluación mixta En lugar de usar el "mejor" evaluador (análisis semántico), mezclar puntuaciones ML + semánticas:
- Detector ML: rápido, bueno en coincidencia de patrones, falla en errores novedosos
- Análisis semántico: lento, detecta errores lógicos complejos, alta tasa de falsos positivos
- Mezcla con λ=0.6:
puntuacion_final = 0.6 * semantica + 0.4 * ml
Enfoque novato: Ejecutar análisis semántico en todo → tiempo de espera después de los primeros archivos Perspectiva experta: La cascada permite gastar computación costosa solo donde más importa, mientras garantiza que cada archivo reciba alguna evaluación
Puertas de Calidad
[ ] N evaluadores probados: Mínimo 3 evaluadores con diferentes perfiles de velocidad/precisión implementados y comparados [ ] Correlación de error medida: Matriz de correlación por pares calculada que muestra que los evaluadores tienen <0.7 de correlación en el conjunto de prueba [ ] Mezcla vs. evaluador único evaluado: Comparación empírica que muestra que la mezcla supera al mejor componente individual en >5% [ ] Requisitos de latencia cumplidos: Tiempo de respuesta del percentil 95 por debajo del umbral especificado con la cascada completa [ ] Requisitos de precisión cumplidos: Tasa de error en el conjunto de validación cumple con el umbral especificado (ej., <5% de tasa de falsos negativos) [ ] Asignación de presupuesto perfilada: Desglose de coste computacional muestra que el presupuesto se distribuye según la importancia de la decisión [ ] Prueba de modo de fallo: Sistema probado bajo condiciones adversas (cambio de distribución, restricciones de recursos, casos extremos) [ ] Coordinación asíncrona verificada: Los componentes rápidos mantienen >80% de utilización incluso cuando los componentes lentos están saturados [ ] Escalabilidad validada: El rendimiento se degrada gradualmente al aumentar la carga 10x más allá de la capacidad nominal [ ] Instrumentación de monitoreo: Las métricas rastrean la alineación proxy vs. resultado, la utilización de componentes y la efectividad de la cascada
Límites de NO APLICAR
NO usar esta habilidad para:
- Problemas de optimización simples con espacios de búsqueda tratables → usar optimización-estándar en su lugar
- Entrenamiento o ajuste de un solo modelo → usar entrenamiento-de-aprendizaje-profundo en su lugar
- Sistemas en tiempo real que requieren <1ms de latencia → usar sistemas-de-baja-latencia en su lugar
- Problemas donde un evaluador es claramente superior y los demás no añaden valor → usar despliegue-de-modelo-único en su lugar
- Procesos de decisión secuenciales sin estructura de árbol de búsqueda → usar fundamentos-de-aprendizaje-por-refuerzo en su lugar
Delegar a otras habilidades cuando:
- Necesidad de implementar arquitecturas de redes neuronales específicas → arquitecturas-de-aprendizaje-profundo
- Diseño de infraestructura de sistemas distribuidos → diseño-de-sistemas-distribuidos
- Optimización del rendimiento de componentes individuales → optimización-de-rendimiento
- Manejo de recopilación y etiquetado de datos de entrenamiento → ingeniería-de-datos
- Implementación de algoritmos de búsqueda específicos → algoritmos-de-búsqueda
Esta habilidad se centra específicamente en: Patrones arquitectónicos para coordinar múltiples evaluadores imperfectos bajo restricciones computacionales, no en los detalles de implementación de componentes individuales.