A indústria ainda não compreendeu totalmente a ideia de um SBOM e já começamos a ouvir um novo termo – ML-BOM – Lista de Materiais de Aprendizado de Máquina. Antes que o pânico se instale, vamos entender por que tal BOM deve ser produzido, os desafios na geração de um ML-BOM e como pode ser esse ML-BOM.
Ao ler este blog, você pode se perguntar se este artigo foi gerado por IA. A razão é que a IA está ao nosso redor e é difícil diferenciá-la dos artefatos feitos pelo homem. No entanto, os rápidos avanços na IA também colocam riscos privados, comerciais e sociais, e está a começar a ser implementada legislação para limitar esses riscos, por exemplo, a Lei de IA da UE. Está fora do escopo deste artigo aprofundar esses riscos, mas para mencionar alguns – existem riscos de comportamento inseguro, discriminatório e que viola a privacidade de sistemas alimentados por IA, bem como de IP, licenciamento e cibernéticos. -riscos de segurança.
Um primeiro passo para lidar com estes riscos é saber quais tecnologias de IA são utilizadas em cada sistema; esse conhecimento pode permitir que as partes interessadas gerenciem os riscos (por exemplo, gerenciem os riscos legais conhecendo a licença dos conjuntos de dados e modelos) e respondam às novas descobertas relacionadas a essas tecnologias (por exemplo, se um modelo for considerado discriminatório, as partes interessadas podem mapear todos sistemas que utilizam este modelo para mitigar o risco).
Olhando para a regulamentação em evolução, examinando Executive Order 13960 sobre “Promovendo o uso de inteligência artificial confiável no governo federal” revela princípios como prestação de contas, transparência, responsabilidade, rastreabilidade e monitoramento regulatório – todos os quais exigem a compreensão de quais tecnologias de IA são usadas em cada sistema.
Um ML-BOM é uma documentação de tecnologias de IA dentro de um produto. CycloneDX, o conhecido formato OWASP para SBOM, versão 1.5 e superior, oferece suporte e agora é um padrão para ML-BOM.
Gerar um ML-BOM é um desafio; há muitas maneiras de representar modelos e conjuntos de dados; Os modelos e conjuntos de dados de IA podem ser consumidos dinamicamente, e a decisão sobre quais modelos usar pode ser tomada de forma programática, dinamicamente, sem deixar rastros para que tecnologias de análise de componentes padrão os detectem. Além destes desafios, a IA ainda é uma tecnologia emergente, em oposição à maturidade dos gestores de pacotes de software. Portanto, a indústria ainda não compreende totalmente as necessidades de um ML-BOM.
Como ponto de partida, decidimos focar na geração de um ML-BOM para projetos que usam um padrão de fato, HuggingFace. HuggingFace é um “gerenciador de pacotes” para modelos e conjuntos de dados de IA e é acompanhado por bibliotecas Python populares. A seguir estão alguns instantâneos de um SBOM que geramos automaticamente a partir desse produto.
Imagine um produto que consiste em muitos componentes, alguns deles – modelos de aprendizado de máquina. O componente CycloneDX abaixo descreve tal modelo:
Este componente identifica o modelo e fornece um link para explorar mais informações sobre este modelo. Além disso, inclui informações de licenciamento que podem ser usadas para fins de conformidade.
O CycloneDX V1.5 também define um campo específico de IA denominado “modelCard” como uma forma padrão de documentar as propriedades do modelo de aprendizado de máquina. A seguir está um exemplo de modelCard que criamos.
Um caso de uso para tal modelCard pode ser encontrar todos os produtos que usam modelos de classificação de imagem ou executar uma política que impeça o uso de tipos de modelo específicos.
CycloneDX permite a documentação de uma árvore de componentes – hierarquia de subcomponentes. Como HuggingFace, como gerenciador de pacotes de IA, representa modelos de IA e conjuntos de dados como repositórios git, decidimos documentar os arquivos do modelo/conjunto de dados de IA como subcomponentes do componente do modelo de aprendizado de máquina. Isto é o que parece:
Além das informações padrão do arquivo, as propriedades incluem informações adicionais, como informações de segurança. Neste caso, vemos duas medidas de segurança:
- Verificação de vírus – é importante ao consumir conjuntos de dados suscetíveis a vírus (como imagens, PDFs e executáveis).
- Varredura Pickle – medidas de risco de segurança relacionadas a arquivos de conjunto de dados do tipo “pickle”, que são mais propensos a riscos (para entender os riscos neste formato, consulte a explicação no Site HuggingFace).
Esses dados podem ser usados para impor políticas que verificam se a verificação de vírus e pickles foi bem-sucedida.
ML-BOM é um novo conceito; o que mostramos aqui é um primeiro passo. Mas mesmo assim, podemos compreender o valor que traria, dada a crescente adoção, regulamentação e riscos da IA.
Como nota final, pedi à minha bola de cristal (também conhecida como ChatGPT) para descrever o futuro dos ML-BOMs, e esta foi a sua resposta:
“Em um futuro não tão distante, os ML-BOMs podem simplesmente evoluir para maestros cibernéticos e de piloto automático, orquestrando a sinfonia de modelos de aprendizado de máquina com um toque de automação, ao mesmo tempo em que dançam sapateado pelas complexidades dos pipelines de CI/CD .”
Bem, talvez precisemos de mais do que ML-BOMs…
Este conteúdo é oferecido a você pela Scribe Security, um fornecedor líder de soluções de segurança de cadeia de suprimentos de software ponta a ponta – fornecendo segurança de última geração para artefatos de código e processos de desenvolvimento e entrega de código em todas as cadeias de suprimentos de software. Saiba mais.