Skip to content

1.2. Challenges in Developing AI-Based Applications ​

Learning Objectives ​

Un modelo con buena puntuación en el laboratorio todavía no es un producto desplegable. Los fallos de un sistema de IA pueden originarse en tres planos distintos:

  1. Data: ingestión, estado y significado de las variables.
  2. Algorithm / Model: Objective Function, ajuste, Metrics y dependencias entre modelos.
  3. Machine / Operations: hardware, integración, latencia, reproducibilidad y escala.

El objetivo es aprender a diagnosticar los fallos por su causa y por el momento del ciclo de vida en el que deben detectarse.

Key terminology ​

English termAcronymSignificado en este tema
Data-Algorithm-Machine Failure AutopsyD-A-MMétodo que separa las causas de fallo entre datos, lógica del modelo y plataforma física
Class Imbalance-Distribución en la que una clase tiene muchos más ejemplos que otra
Imbalance RatioIRCociente entre el número de ejemplos de la clase mayoritaria y la minoritaria
Weighted Cross-EntropyWCELoss function que asigna más penalización a los errores de clases escasas o importantes
Temporal Leakage-Uso durante el training de información que solo existiría después del prediction time
Data Drift / Covariate Shift-Cambio en la distribución de inputs entre training y production
Concept Drift-Cambio en la relación entre inputs y la variable objetivo
Population Stability IndexPSIIndicador que compara una distribución actual con una baseline
Training-Serving Skew-Diferencia entre las features calculadas en training y las utilizadas en production
Arithmetic IntensityAINúmero de operaciones de coma flotante ejecutadas por byte movido
Floating-Point OperationsFLOPsMedida del trabajo numérico realizado por un algoritmo o hardware
Static Random-Access MemorySRAMMemoria rápida y limitada habitual en microcontroladores
Changing Anything Changes EverythingCACEPrincipio que describe cómo un cambio en un modelo puede degradar modelos dependientes
Graphics Processing UnitGPUProcesador paralelo utilizado para ejecutar grandes volúmenes de operaciones numéricas
Large Language ModelLLMModelo de lenguaje de gran escala, normalmente basado en Transformer
Feature Store-Sistema compartido que define, calcula y sirve features de forma coherente en training y production
Canary Deployment-Despliegue gradual sobre una pequeña fracción del tráfico para limitar el riesgo
Shadow Deployment-Ejecución del modelo nuevo en paralelo sin que sus salidas controlen todavía el sistema

Acrónimo contextual

En este apartado, AI puede significar Artificial Intelligence o Arithmetic Intensity. El contexto permite distinguirlos; cuando se hable de rendimiento de hardware se usará Arithmetic Intensity explícitamente.


1. D-A-M Failure Autopsy ​

PlanoPregunta diagnósticaFallos representativos
Data Plane¿La información representa correctamente la realidad y está disponible a tiempo?Class Imbalance, Temporal Leakage, Data Drift
Algorithm / Model Plane¿El objective y la metric reflejan el problema real?Metric Illusions, Concept Drift, CACE cascades
Machine / Operational Plane¿El sistema entrenado puede ejecutarse de forma equivalente y dentro de límites físicos?Training-Serving Skew, SRAM Limits, GPU Non-Determinism

Esta clasificación evita buscar todas las soluciones en el modelo. Por ejemplo, aumentar capas no corrige Label Contamination causada por información futura, y una mejor Metric no hace que el modelo quepa en un microcontrolador.


2. Class Imbalance and Metric Illusions ​

2.1. Fraud Detection Case ​

Se observan 10.000 transacciones:

  • 9.950 legítimas;
  • 50 fraudulentas;
  • clase positiva: fraude.

El Imbalance Ratio (IR) es:

IR=NmajorityNminority=995050=199

Un sistema trivial que clasifica todo como legítimo obtiene:

Predice fraudePredice legítima
Fraude realTP = 0FN = 50
Legítima realFP = 0TN = 9.950

2.2. Global Accuracy vs. Balanced Accuracy ​

Accuracy=TP+TNTP+TN+FP+FN=995010000=0,995

El resultado aparente es 99,5 %, pero el sistema no detecta ningún fraude.

La specificity mide la proporción de negativos correctamente identificados:

Specificity=TNTN+FP

La balanced accuracy concede el mismo peso a ambas clases:

Balanced Accuracy=Recall+Specificity2

Para el sistema trivial:

0+12=0,5

La puntuación revela que su capacidad real equivale a la referencia más básica, no a un sistema fiable.

2.3. Metric Selection ​

MétricaFórmulaSistema trivialInterpretación
Accuracy(TP+TN)/n0,995Engañosa con Severe Class Imbalance
PrecisionTP/(TP+FP)IndefinidaDebe combinarse con recall
RecallTP/(TP+FN)0Detecta que se omiten todos los positivos
SpecificityTN/(TN+FP)1Solo evalúa la clase negativa
F1Media armónica de precision y recall0Ignora TN y penaliza omitir positivos
Balanced accuracyMedia de recall y specificity0,5Equilibra el peso de las clases

Regla práctica

Una Candidate Metric debe calcularse también para el Do-Nothing System. Si ese sistema obtiene una puntuación excelente, la métrica no es adecuada como criterio principal.


3. Weighted Cross-Entropy for Class Imbalance ​

3.1. Binary Cross-Entropy (BCE) ​

Para un Label y∈{0,1} y una probabilidad estimada y^∈[0,1]:

L=−[ylog⁡(y^)+(1−y)log⁡(1−y^)]

Con muchas más observaciones legítimas, la Majority Class domina la Loss Function. El modelo puede minimizarla aprendiendo a favorecer sistemáticamente la Negative Class.

3.2. Weighted Binary Cross-Entropy ​

L=−[w1ylog⁡(y^)+w0(1−y)log⁡(1−y^)]

Una forma de calcular los Class Weights es:

wj=NC⋅Nj

donde N es el número total de observaciones, C el número de clases y Nj el número de observaciones de la clase j.

En el ejemplo:

w1=100002⋅50=100w0=100002⋅9950≈0,5025

La relación w1/w0≈199 coincide con el Imbalance Ratio. Un error sobre un fraude genera un Gradient aproximadamente 199 veces mayor que un error sobre una transacción legítima.

3.3. Capabilities and Limitations ​

La ponderación cambia la geometría de optimización, pero no crea información nueva. Puede ayudar a que el modelo atienda a la clase minoritaria, aunque también puede:

  • elevar los falsos positivos;
  • amplificar Label Noise en la Minority Class;
  • producir probabilidades mal calibradas;
  • requerir un nuevo ajuste del Decision Threshold.

Por eso deben evaluarse tanto la discriminación como la calibración y el coste operativo.


4. Temporal Leakage ​

Existe Temporal Leakage cuando el training utiliza una variable que no estaría disponible en el prediction time real.

Ejemplo: se quiere predecir si una máquina se detendrá durante los próximos siete días. Son válidos:

  • telemetría histórica;
  • registros anteriores;
  • datos de sensores disponibles antes de t0.

No es válido usar el tiempo medio de reparación calculado después de producirse el fallo, porque requiere conocer el futuro.

Si se mezclan aleatoriamente filas de diferentes fechas, una variable futura puede aparecer tanto en Training como en Test. El modelo parece alcanzar un F1 extraordinario en laboratorio, pero falla en Production.

Prevention ​

  1. documentar qué significa cada columna;
  2. registrar cuándo se conoce realmente;
  3. aplicar un Time-Based Training / Validation / Test Split;
  4. simular el estado exacto de los datos en el instante de decisión;
  5. revisar las transformaciones agregadas, porque también pueden incorporar futuro.

5. Data Drift and Concept Drift ​

5.1. Data Drift or Covariate Shift ​

La distribución de las entradas cambia:

P(Xlive)≠P(Xtrain)

mientras que la relación entre entrada y objetivo puede mantenerse:

P(Y∣X)live=P(Y∣X)train

Ejemplo: un sensor envejece y empieza a producir voltajes con una distribución distinta, aunque la relación física entre vibración y avería no haya cambiado.

5.2. Concept Drift ​

Cambia la relación condicional:

P(Y∣X)live≠P(Y∣X)train

Ejemplo: una modificación del proceso de fabricación hace que una misma vibración deje de indicar el mismo riesgo de fallo.

5.3. Operational Difference ​

SeñalData driftConcept drift
Distribución de entradaCambiaPuede no cambiar
Metrics con Recent LabelsPueden degradarseSe degradan
PSI sobre entradasPuede detectarloPuede permanecer estable
Typical ActionInvestigar el input, recalibrar o ejecutar RetrainingObtener New Labels y reaprender la relación

Un PSI estable no demuestra ausencia de Concept Drift. Para detectarlo hacen falta Recent Labels y Outcome Metrics.


6. Population Stability Index (PSI) ​

El PSI compara la proporción de observaciones que cae en cada intervalo antes y después del despliegue:

PSI=∑i=1B(Ai−Ei)ln⁡(AiEi)

donde:

  • Ei: proporción esperada o de referencia en el intervalo i;
  • Ai: proporción actual en Production;
  • B: número de intervalos.

Worked Example ​

IntervaloEsperado EActual AComponente mostrado
10,500,300,1022
20,300,200,0405
30,200,500,2749

La suma directa de los componentes mostrados es:

0,1022+0,0405+0,2749=0,4176

Los Conventional Thresholds incluidos en el material son:

PSIInterpretación orientativa
(< 0,10)Población estable
0,10≤PSI<0,25Cambio moderado; investigar y monitorizar
PSI≥0,25Cambio crítico; ejecutar Revalidation y valorar Retraining

Dos matices importantes

La diapositiva de cálculo muestra un resultado final de 0,4410, pero los tres componentes visibles suman 0,4176. Ambos superan 0,25, por lo que la decisión cualitativa no cambia. Además, 0,10 y 0,25 son convenciones, no leyes universales: el System Requirement debe fijar sus propios Thresholds, Bins, Reference Population y respuesta.

El PSI tampoco indica por qué cambió una variable ni si el cambio perjudica al modelo. Es una alarma, no un diagnóstico completo.


7. Training-Serving Skew ​

Hay Training-Serving Skew cuando el cálculo de Features durante Training difiere del utilizado en Production.

Ejemplo:

  • laboratorio: Pandas calcula de forma instantánea una media móvil exacta de 30 días sobre un CSV completo;
  • Production: un servicio en tiempo real recibe eventos individuales, maneja retrasos y quizá no conserva 30 días de estado.

Aunque ambas variables se llamen rolling_mean_30d, no representan necesariamente lo mismo.

Mitigation ​

  • compartir el mismo código de transformación;
  • utilizar un Feature Store común;
  • versionar definiciones y ventanas;
  • ejecutar pruebas de paridad con datos reales;
  • definir fallbacks cuando falta historial;
  • medir diferencias entre Offline Features y Online Features.

Las pruebas unitarias pueden aprobar y aun así existir skew, porque cada implementación puede ser internamente correcta pero semánticamente distinta.


8. Hardware Physics and Performance Sizing ​

8.1. Arithmetic Intensity ​

I=FLOPsbytes movidos
  • Un valor alto indica una carga compute-bound: el límite está en las unidades de cálculo.
  • Un valor bajo indica una carga Memory-Bound: el límite está en mover Weights y Activations desde memoria.

Las Convolutional Neural Networks (CNNs) densas suelen aprovechar más cómputo; la generación token a token de un Large Language Model (LLM) puede quedar limitada por ancho de banda de memoria.

8.2. Roofline Model ​

El rendimiento alcanzable se limita por el menor de dos techos:

Ralcanzable=min(Rpico,BW⋅I)

8.3. Deployment Scale Limits ​

PlataformaOrden de cómputoMemoria aproximadaPotencia
Cloud MLTeraFLOPs80 GB o másMás de 300 W
Servidor edgeGigaFLOPs16-32 GBAproximadamente 50 W
Mobile MLGigaFLOPs2-4 GB compartidosMenos de 5 W
TinyMLMegaFLOPsMenos de 256 KB SRAMMilivatios

Pruning y Quantization no son simples optimizaciones opcionales cuando el destino es Tiny Machine Learning (TinyML): forman parte de los requisitos de viabilidad.


9. GPU Non-Determinism ​

En números reales, la suma es asociativa; en coma flotante, el redondeo hace que el orden importe:

Float32((a+b)+c)≠Float32(a+(b+c))

Una Graphics Processing Unit (GPU) distribuye reducciones y sumas entre miles de hilos cuyo orden puede variar. Incluso con los mismos datos y Random Seed, dos ejecuciones de Training pueden producir Weights binariamente distintos.

Engineering Consequences ​

  • pequeñas diferencias pueden acumularse durante Training;
  • repetir exactamente un experimento puede ser costoso o imposible;
  • una semilla fija es necesaria, pero no siempre suficiente;
  • la reproducibilidad debe definirse mediante tolerancias y artefactos versionados.

En Production debe registrarse el modelo exacto que se despliega, incluyendo el Weights Hash, no solo el script que podría ejecutar de nuevo el Training.


10. CACE: Changing Anything Changes Everything ​

Los modelos suelen consumir salidas de otros modelos. Si cambia un modelo situado aguas arriba, cambia la distribución de entrada de todos sus consumidores.

Actualizar el Embedding Model puede mejorar su Local Metric y, al mismo tiempo, destruir la Calibration del recomendador o del detector de fraude.

Required Controls ​

  • registro de dependencias entre modelos;
  • versionado de contratos de salida;
  • pruebas de integración y regresión aguas abajo;
  • Canary Deployment o Shadow Deployment;
  • posibilidad de rollback coordinado;
  • propietario responsable de aprobar el cambio sistémico.

11. Regulatory Boundaries ​

El material resume una pirámide de riesgo inspirada en el Reglamento Europeo de IA:

NivelEjemplos del materialConsecuencia general
InaceptableSocial scoring, determinadas vigilancias biométricasUso prohibido o fuertemente restringido
High RiskDispositivos médicos, infraestructura crítica, empleoHuman Oversight, registros, Risk Management y Monitoring
Riesgo limitadoChatbots y deepfakesObligaciones de transparencia
Riesgo mínimoFiltros de spam o IA en videojuegosObligaciones menores

Nota

Esta tabla sirve como mapa conceptual del material docente, no como asesoramiento jurídico. La clasificación real depende del uso previsto, el contexto, las excepciones y la normativa vigente.


12. Nine Failure Causes Across Build, Deploy and Operate ​

MomentoCausaPlanoComprobación mínima
BuildClass ImbalanceDataContar clases y calcular IR
BuildMetric IllusionsAlgorithmEvaluar el do-nothing system
BuildTemporal LeakageDataAuditar significado y disponibilidad temporal; usar time-based split
BuildSRAM LimitsMachineCalcular memory footprint y compararlo con el dispositivo
DeployTraining-Serving SkewMachine / IntegrationReutilizar transformación o Feature Store
DeployGPU Non-DeterminismMachineRegistrar los weights exactos publicados
DeployCACEAlgorithm / SystemRegistrar dependencias y revalidar consumidores
OperateData DriftDataMonitorizar PSI y distribuciones
OperateConcept DriftAlgorithmMedir performance con labels recientes

13. ML Diagnostic Tree ​

Este árbol no sustituye el análisis causal, pero evita tres errores comunes:

  • reentrenar automáticamente cuando el problema está en la integración;
  • comprar hardware cuando el cuello de botella es memoria;
  • celebrar una accuracy alta cuando la clase importante nunca se detecta.

Source Material ​

  • B1.2 Challenges in Developing AI Based Applications.pdf, diapositivas 1-20.
  • Los ejemplos de máquinas y los conceptos de coste y métrica enlazan con B1.1 Engineering_AI_Software_Requirements.pdf.