Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Qué contiene un artefacto de modelo

4 tareas · 35 min · Principiante

En el módulo 6 viste que un modelo descargado es una dependencia más y que su formato puede ejecutar código. Aquí bajas al detalle de lo que se descarga de verdad. Pichindé Crédito es una fintech ficticia de microcréditos; su equipo de plataforma acaba de traer a la cuarentena el repositorio credito-resumen-3b de un hub público para resumir solicitudes de crédito. Tienes la lista de archivos de esa copia y un extracto de su configuración. Los lees como quien hace el inventario antes de decidir qué entra. Es solo lectura: nada se carga ni se ejecuta.

0 de 4 · 0%

Objetivo de la sala

En el módulo 6 viste que un modelo descargado es una dependencia más y que su formato puede ejecutar código. Aquí bajas al detalle de lo que se descarga de verdad. Pichindé Crédito es una fintech ficticia de microcréditos; su equipo de plataforma acaba de traer a la cuarentena el repositorio credito-resumen-3b de un hub público para resumir solicitudes de crédito. Tienes la lista de archivos de esa copia y un extracto de su configuración. Los lees como quien hace el inventario antes de decidir qué entra. Es solo lectura: nada se carga ni se ejecuta.

Cuando alguien dice «descargamos el modelo», casi nunca baja un único archivo. Un repositorio de modelo trae los pesos —a veces partidos en varias piezas y a veces repetidos en dos formatos—, un archivo de configuración que describe la arquitectura, el vocabulario y las reglas del tokenizador, parámetros de generación, una ficha escrita por quien lo publica y, con frecuencia, restos del entrenamiento que nadie necesita para usarlo. Algunos repositorios traen además código: clases de modelo o de tokenizador escritas por el publicador.

Cada pieza responde a una pregunta distinta de seguridad. Los archivos de datos puros solo pueden estar mal; los que guardan objetos serializados o código pueden hacer algo al abrirse. Por eso el inventario se hace por archivo y por su formato real, no por el nombre del repositorio, y se anota cuáles necesita de verdad el servicio que lo va a usar.

Responde para continuar

El equipo de Pichindé registra en su inventario «credito-resumen-3b, un archivo de pesos». ¿Qué le falta a ese inventario?

Ver pista de ayuda

Ejecuta `SELECT * FROM archivos` y cuenta cuántos archivos distintos trae la copia y de qué tipo son.

El archivo de configuración no es solo una lista de tamaños. Puede indicarle al cargador que, para construir el modelo, use una clase definida en un archivo de código del propio repositorio en lugar de una arquitectura que el cargador ya conoce. Si el servicio arranca con permiso para ejecutar código remoto, ese archivo se importa y se ejecuta en el servidor, con los permisos del servicio, cada vez que el modelo se carga.

Es una puerta distinta de la del formato de los pesos: aquí no hace falta ningún archivo serializado, basta con que la configuración apunte a código y que el permiso esté encendido. Lee el extracto de la configuración de credito-resumen-3b y localiza la clave que manda al cargador al código del repositorio.

Responde para continuar

¿Qué clave de la configuración de credito-resumen-3b manda al cargador a importar código del propio repositorio? Escribe solo el nombre de la clave, sin la parte que va después del punto.

Ver pista de ayuda

Ejecuta `SELECT * FROM config` y busca la fila cuyo valor nombra un archivo del repositorio; la clave es la parte anterior al punto.

El formato real de un archivo se sabe leyendo sus primeros bytes, no su extensión. Un archivo de solo tensores guarda una cabecera con nombres y tamaños y después los números; abrirlo no puede disparar nada. En cambio, un pickle reconstruye objetos llamando a funciones que el propio archivo nombra, y la documentación oficial de Python advierte que deserializar datos que no son de confianza puede ejecutar código arbitrario. Los archivos de pesos clásicos de PyTorch son un zip que lleva un pickle dentro, y el código fuente, si el cargador lo importa, se ejecuta tal cual.

Con la columna de formato detectado delante, cuenta los archivos de la copia que, por su formato, pueden ejecutar código al abrirse o al importarse.

Responde para continuar

¿Cuántos archivos de la copia de credito-resumen-3b pueden ejecutar código al abrirse o importarse según su formato detectado?

Ver pista de ayuda

En `archivos`, cuenta las filas cuyo formato_detectado es pickle, zip con pickle o código python.

El inventario sirve para decidir. Si los mismos pesos vienen en un formato de solo tensores y en un formato que ejecuta código, y el servicio solo lee el primero, el segundo no aporta nada y sí añade riesgo. Lo mismo pasa con los restos del entrenamiento: nadie los necesita para usar el modelo. El código del publicador es otro caso: si el servicio depende de él, hay que leerlo y aprobarlo como cualquier código de terceros, o sustituirlo por una arquitectura que el cargador ya soporte sin permiso de código remoto.

Responde para continuar

Con la columna lo_usa_el_despliegue delante, ¿qué hace la cuarentena con pytorch_model.bin y training_args.bin?

Ver pista de ayuda

Ejecuta `SELECT * FROM archivos` y cruza formato_detectado con lo_usa_el_despliegue en esas dos filas.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad