Deriva tipada A/B/C y obsolescencia
El motor clasifica todo cambio en el sistema de IA en uno de tres tipos de deriva, porque el tipo de deriva determina la respuesta regulatoria requerida. Una clasificación incorrecta —tratar un cambio sustancial como rutinario— es un error de conformidad, no solo técnico.
Los tres tipos
Sección titulada «Los tres tipos»Deriva A — Sustancial
Sección titulada «Deriva A — Sustancial»Un cambio en las entradas (features, formato de datos), las salidas (decisión, escala de valores) o la finalidad del sistema (EU AI Act Art. 9(2)) constituye deriva sustancial.
Respuesta obligatoria: re-triaje de riesgo completo. No basta re-medir los controles existentes; el espacio de riesgo puede haber cambiado. El ciclo ISO 23894 §6.4.2 (identificación) debe reabrirse.
Deriva B — Rutinaria
Sección titulada «Deriva B — Rutinaria»Un cambio en el modelo (arquitectura, pesos, versión) o en el prompt de un sistema basado en LLM constituye deriva rutinaria, siempre que la finalidad y los contratos de entrada/salida no varíen.
Respuesta: re-medición. Los controles existentes se re-evalúan sobre el nuevo modelo; si la métrica cruza el umbral, el ciclo de tratamiento se reabre para ese control.
Deriva C — Datos
Sección titulada «Deriva C — Datos»Un cambio en el dataset de entrenamiento o validación (incorporación de nuevas instancias, corrección de etiquetas, cambio de distribución demográfica) constituye deriva de datos.
Respuesta: re-medición con especial atención a los controles de sesgo y al requisito EU AI Act Art. 10(5) (suficiencia y representatividad de los datos).
El grafo de dependencias tipado
Sección titulada «El grafo de dependencias tipado»Los artefactos del sistema (código de entrenamiento, modelo exportado, dataset, métricas, bundle de evidencia) forman un grafo de dependencias cuyas aristas están etiquetadas con el tipo de deriva que activa cada cambio.
sei.lock almacena los anclajes de la tripleta en el último sei run verificado. Cuando el motor ejecuta sei status, compara los digests actuales con los registrados en sei.lock sin recomputar nada:
sei status# salida posible (una línea por SECCIÓN, no por fichero):# classification: Reused# risks: Reused# model: Stale (re-medir)# data: ReusedSi el digest de una sección ha cambiado, sei status la reporta como Stale y clasifica el tipo de deriva; las que no cambian quedan Reused. La puerta de conformidad permanece abierta: no hay falso verde porque sei status no firma evidencia nueva.
Clasificación A/B/C: la infiere el motor (no un envelope declarado)
Sección titulada «Clasificación A/B/C: la infiere el motor (no un envelope declarado)»La clasificación del tipo de deriva (A/B/C) no se declara en sei.yaml: la infiere el motor del diff de la tripleta (sei.lock + el grafo de dependencias). No existe hoy un campo o feature de «envelope» de cambios aceptables.
Detección de obsolescencia
Sección titulada «Detección de obsolescencia»Un bundle de evidencia firmado queda obsoleto cuando cualquiera de los tres digests en sei.lock diverge del estado actual del repositorio. sei status emite exit ≠ 0 en ese caso, lo que permite integrar la detección de obsolescencia en pipelines CI/CD como condición necesaria antes de cualquier afirmación de conformidad.
El principio es sencillo: sin evidencia fresca no se puede afirmar conformidad. Este es el primer gate del flujo RDD, descrito en Los dos gates.
Referencias
Sección titulada «Referencias»| Artefacto | Propósito en la gestión de deriva |
|---|---|
sei.lock | Registra los anclajes verificados de la tripleta |
sei status | Detecta divergencia vs sei.lock sin recomputar |
sei run | Recomputa, mide y re-ancla la tripleta |
sei.yaml | Declara la clasificación de controles (la deriva A/B/C la infiere el motor) |
Consulta la Referencia del CLI sei para el detalle de comandos y la Referencia de sei.yaml para el esquema del manifiesto.