La industria aún no ha comprendido completamente la idea de un SBOM y ya comenzamos a escuchar un nuevo término: ML-BOM (Machine Learning Bill of Material). Antes de que cueste el pánico, comprendamos por qué se debe producir una lista de materiales de este tipo, los desafíos que implica generar una lista de materiales de ML y cómo puede verse dicha lista de materiales.
Al leer este blog, es posible que se pregunte si este artículo fue generado por IA. La razón es que la IA está a nuestro alrededor y es difícil diferenciarla de los artefactos creados por humanos. Sin embargo, los rápidos avances en IA también plantean riesgos privados, comerciales y sociales, y se está comenzando a implementar legislación para limitar estos riesgos, por ejemplo, la Ley de IA de la UE. Está fuera del alcance de este artículo profundizar en estos riesgos, pero mencionar algunos: existen riesgos de comportamiento inseguro, discriminatorio y de violación de la privacidad de los sistemas impulsados por IA, así como de la propiedad intelectual, las licencias y la ciberseguridad. -riesgos de seguridad.
Un primer paso para manejar estos riesgos es saber qué tecnologías de IA se utilizan dentro de cada sistema; dicho conocimiento puede permitir a las partes interesadas gestionar los riesgos (por ejemplo, gestionar los riesgos legales conociendo la licencia de conjuntos de datos y modelos) y responder a nuevos hallazgos relacionados con estas tecnologías (por ejemplo, si se determina que un modelo es discriminatorio, la parte interesada puede mapear todos sistemas que utilizan este modelo para mitigar el riesgo).
Echando un vistazo a la evolución de la regulación, examinando Orden Ejecutiva 13960 sobre “Promoción del uso de inteligencia artificial confiable en el gobierno federal” revela principios como rendición de cuentas, transparencia, responsabilidad, trazabilidad y monitoreo regulatorio, todos los cuales requieren comprender qué tecnologías de IA se utilizan en cada sistema.
Una ML-BOM es una documentación de las tecnologías de IA dentro de un producto. CycloneDX, el conocido formato OWASP para SBOM, versión 1.5 y posteriores, lo admite y ahora es un estándar para ML-BOM.
Generar una ML-BOM es un desafío; hay muchas formas de representar modelos y conjuntos de datos; Los modelos y conjuntos de datos de IA se pueden consumir sobre la marcha, y la decisión sobre qué modelos utilizar se puede tomar mediante programación, sobre la marcha, sin dejar rastros para que las tecnologías de análisis de componentes estándar los detecten. Además de estos desafíos, la IA sigue siendo una tecnología emergente, a diferencia de la madurez de los administradores de paquetes de software. Por lo tanto, la industria aún no comprende completamente las necesidades de una ML-BOM.
Como punto de partida, hemos decidido centrarnos en generar una ML-BOM para proyectos que utilizan un estándar de facto, HuggingFace. HuggingFace es un "administrador de paquetes" para modelos y conjuntos de datos de IA y va acompañado de bibliotecas populares de Python. A continuación se muestran algunas instantáneas de un SBOM que generamos automáticamente a partir de dicho producto.
Imagine un producto que consta de muchos componentes, algunos de ellos: modelos de aprendizaje automático. El componente CycloneDX a continuación describe dicho modelo:
Este componente identifica el modelo y proporciona un enlace para explorar más información sobre este modelo. Además, incluye información sobre licencias que se puede utilizar con fines de cumplimiento.
CycloneDX V1.5 también define un campo específico de IA llamado "modelCard" como una forma estándar de documentar las propiedades del modelo de aprendizaje automático. A continuación se muestra un ejemplo de una tarjeta modelo que hemos creado.
Un caso de uso para dicha tarjeta de modelo puede ser encontrar todos los productos que usan modelos de clasificación de imágenes o ejecutar una política que impida el uso de tipos de modelos específicos.
CycloneDX permite la documentación de un árbol de componentes – jerarquía de subcomponentes. Dado que HuggingFace, como administrador de paquetes de IA, representa modelos y conjuntos de datos de IA como git-repos, hemos decidido documentar los archivos del modelo/conjunto de datos de IA como subcomponentes del componente del modelo de aprendizaje automático. Esto es lo que parece:
Además de la información de archivo estándar, las propiedades incluyen información adicional, como información de seguridad. En este caso, vemos dos medidas de seguridad:
- Análisis de virus: es importante cuando se consumen conjuntos de datos susceptibles a virus (como imágenes, archivos PDF y archivos ejecutables).
- Escaneo de Pickle: medidas de riesgo de seguridad con respecto a los archivos de conjuntos de datos de tipo "pickle", que son más propensos a riesgos (para comprender los riesgos en este formato, consulte la explicación en la página Sitio web de HuggingFace).
Estos datos se pueden utilizar para aplicar políticas que verifiquen que el análisis de virus y pepinillos se haya realizado correctamente.
ML-BOM es un concepto nuevo; Lo que mostramos aquí es un primer paso. Pero incluso así, podemos entender el valor que aportaría dada la creciente adopción, regulación y riesgos de la IA.
Como nota final, le pedí a mi bola de cristal (también conocida como ChatGPT) que describiera el futuro de las ML-BOM, y esta fue su respuesta:
“En un futuro no muy lejano, las ML-BOM podrían evolucionar hasta convertirse en maestros con conocimientos cibernéticos y de piloto automático, orquestando la sinfonía de modelos de aprendizaje automático con un toque de automatización, todo mientras bailan claqué a través de las complejidades de los canales de CI/CD. .”
Bueno, tal vez necesitemos más que ML-BOM...
Este contenido es presentado por Scribe Security, un proveedor líder de soluciones de seguridad de la cadena de suministro de software de extremo a extremo, que ofrece seguridad de última generación para artefactos de código y procesos de desarrollo y entrega de código en todas las cadenas de suministro de software. Más información.