ML-O quê? Compreendendo o conceito e usos do ML-Bom

Todas as mensagens

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:

Componente do modelo de aprendizado de máquina

Componente do modelo de aprendizado de máquina (parte 1) – dados padrão do componente CycloneDX

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. 

Componente do modelo de aprendizado de máquina

Componente do modelo de aprendizado de máquina (parte 2) – cartão de dados

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:

Componente do modelo de aprendizado de máquina

Componente do modelo de aprendizado de máquina (parte 3) – subcomponentes

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:

  1. Verificação de vírus – é importante ao consumir conjuntos de dados suscetíveis a vírus (como imagens, PDFs e executáveis).
  2. 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.