Un modelo recorrido de principio a fin: construirlo, darle datos, entrenarlo, auditarlo, preguntarle y empaquetarlo. Cada fase declara lo que ya tiene y lo que todavía le falta, así que en todo momento sabes por dónde va el modelo.
Las capturas están en inglés. Se tomaron conduciendo la aplicación con la interfaz en ese idioma, y los rótulos que este manual cita —Build model, Save, los nombres de las fases— son los de esas imágenes. La aplicación habla también español: si la usas así verás esos mismos botones traducidos, y lo que hace cada uno es lo que cuenta este texto.
Todas las capturas de esta página salen de una sesión real, conducida desde la primera pantalla hasta la última. Aquí no hay maquetas.
El modelo que se recorre nació de una sola frase — Predict whether a shipment will arrive late from the distance in kilometres, the weight in kilos and the number of stops — y se entrenó con 200 filas que el core generó para ella. Las filas generadas no llevan dentro ninguna relación real, así que los números de entrenamiento que vas a ver están a nivel de azar. Están para enseñar qué declara cada fase, no para presumir de un resultado. Dale un CSV con una relación de verdad y las pantallas son las mismas; lo único que cambia son los números.
En el Studio que se descarga, la interfaz por fases es la que se abre sola: no hay nada que activar. El enlace Classic interface de la barra superior te lleva a la otra cuando quieras, y las dos hablan con el mismo core. Si necesitas pedir una por dirección, /fases y /clasica son la forma canónica, y ?fases y ?clasica también valen — son alias permanentes, no una etapa de transición.
La primera pantalla pregunta una sola cosa: qué tiene que hacer el modelo. Hay tres formas de contestar, y la columna de la derecha dice por adelantado qué va a hacer el core con tu respuesta — leer los datos e inferir los tipos, proponer una arquitectura con su razonamiento y su alternativa, y validar el resultado en cada cambio, para que quien audita vea el mismo objeto que quien crea.
Bajo las tres puertas, Projects enumera todo lo ya construido: su estado y la métrica que importa para su tipo de modelo, de dónde salieron sus datos y cuánto hace que se tocó. La × de la derecha borra uno.
El catálogo declara su propia promesa arriba del todo: Start from a ready-made example. You will see what it does and what it does not before creating anything. Cada ficha lleva qué predice el ejemplo, su categoría y su dificultad, si descarga algo de internet, y un botón See what it does. El ejemplo de la lluvia de Santander lleva además una línea roja propia —sus datos no permiten uso comercial— en la ficha, no enterrada en una licencia que encuentras después.
Build model está apagado mientras no hay nada que construir. En cuanto la caja tiene texto, se enciende.
Mientras el core trabaja, el botón pasa a Building… y aparece un Cancel al lado. Una construcción que puedes parar es una construcción que puedes permitirte intentar.
Cuando la construcción termina, la pantalla cambia de forma. El nombre del modelo sube a la barra superior junto a una insignia WIRED TO THE CORE, con Save, un enlace de vuelta a la Classic interface, el conmutador de idioma y Settings a la derecha. La línea de estado del pie declara tres cosas a la vez: si el core está conectado, qué proveedor de LLM hay configurado, y si la IR —el objeto contra el que corre cada comprobación— es válida.
El carril de la izquierda es el estado del propio modelo, y se lee desde dentro de cualquier fase. Cada entrada lleva su resumen en una línea: Model · 64 → 32 → 1 · 2,369 parameters · 3 warnings, Data · 200 rows, Training · completed, Audit · 6 checks · 1 warning. Una fase que no tiene nada que declarar enseña solo su número y su nombre. Un tic significa hecho; una exclamación, hecho y con algo que leer. Collapse, abajo, pliega el carril.
La primera fase guarda la arquitectura que el core propuso para tu frase o para tus columnas, y el carril mantiene su resumen a la vista desde cualquier otro sitio: el ancho de las capas, cuántos parámetros entrenables hay, y cuántos avisos levantó la construcción.
Los números se pueden comprobar, que es justo para lo que se imprimen. Este modelo mete los tres campos que nombraba la frase —distancia, peso y número de paradas— en una red densa 64 → 32 → 1: 3×64+64, luego 64×32+32, luego 32×1+1. Eso son exactamente los 2,369 parameters que declara el carril.
Sin filas no se entrena, y la fase lo dice sin rodeos: This model has no data yet. Dos salidas, y las dos acaban igual — venga lo que venga, se valida contra este modelo antes de aceptarlo.
En cuanto hay filas, la fase se convierte en una lectura de esas filas — y tiene cuidado con qué parte de esa lectura manda:
Cuando hay un proveedor de LLM configurado, el panel lo declara en vez de dejar que lo supongas: la línea de encima del fichero dice que el core usó su proveedor de LLM para proponer las reglas de dominio de estos datos.
Antes de que pulses nada, la fase te dice qué vas a sacar de pulsarlo: la época en curso, las curvas de pérdida y de acierto, el log del core y la comparación con entrenamientos anteriores. Y luego un botón.
Cuando el entrenamiento termina, todo lo que produjo está en una sola pantalla:
METRIC del propio core, época a época, tal y como las escribió.stdlib · cpu.La auditoría no es un resumen del entrenamiento. Es el conjunto de comprobaciones que el core corre contra el propio modelo, y la cabecera declara con qué reglas juega: deterministas, y repetidas en cada cambio de la IR — para que el veredicto no pueda caducar a tus espaldas.
Se enumeran seis comprobaciones con su nombre y su resultado: parser, verifier_agent, safety_agent, typecheck, python_compiler y backend_contract. Cuando una comprobación tiene algo que añadir, lo añade bajo su propio nombre — el chequeo de tipos imprime lo que tipó: la red, su nivel de interpretabilidad marcado como reduced, y el motivo en la misma línea, que es una red neuronal densa con capas ocultas.
Debajo, separadas a propósito, están las etapas del pipeline no control attached: las partes de la construcción que nada puede aprobar ni suspender, enumeradas con lo que sí declararon. En este entrenamiento, el motivo del generador para elegir una arquitectura densa, y la salvedad del verificador de entrenamiento de que el CSV se validó pero no se aportó un manifiesto del dataset con sus hashes y sus particiones. Se imprimen con el motivo por el que no llevan veredicto, en vez de desaparecer bajo un tic verde.
Cada entrada es un deslizador, y debajo de cada deslizador está el dominio que el modelo espera — éste admite una distancia de 1 a 5.000, un peso de 1 a 1.000 y de 0 a 50 paradas. No puedes preguntarle al modelo por un caso para el que nunca se construyó sin enterarte, porque el rango para el que se construyó está escrito donde pones el valor.
Pulsa Run model y la columna de la derecha se llena — con la respuesta, y con todo lo que hace falta para saber cuánto creérsela:
La última fase empaqueta el modelo, y empieza por admitir que todavía no lo ha hecho: There is no package yet. Tres formatos, cada uno descrito por lo que de verdad es y no por una etiqueta:
.onnx — un único fichero de modelo (los modelos grandes salen como un .zip con model.onnx y sus pesos aparte). Corre en cualquier plataforma que tenga un ONNX Runtime..zip — un paquete de ONNX Runtime Web, para navegadores y Node.js..zip — autocontenido: el modelo en ONNX, los manifiestos y el script que lo sirve.El texto de encima de la lista nombra al que se sostiene solo: el paquete autocontenido es el único que se abre y predice sin que tengas que escribir nada. Lleva el modelo en ONNX, un predict.py que lo carga y valida el esquema, el manifiesto con sus hashes, y la ficha con sus métricas y sus límites. Build the package lo produce.