Il settore non ha ancora compreso appieno l’idea di una SBOM e abbiamo già iniziato a sentire un nuovo termine: ML-BOM – Machine Learning Bill of Material. Prima che si scateni il panico, cerchiamo di capire perché dovrebbe essere prodotta una distinta base di questo tipo, le sfide nella generazione di una distinta base ML e come può apparire una distinta base ML.
Mentre leggi questo blog, potresti chiederti se questo articolo è stato generato dall'intelligenza artificiale. Il motivo è che l’intelligenza artificiale è ovunque intorno a noi ed è difficile differenziarla dagli artefatti creati dall’uomo. Tuttavia, i rapidi progressi nel campo dell’intelligenza artificiale pongono anche rischi privati, commerciali e sociali e la legislazione sta iniziando a essere adottata per limitare questi rischi, ad esempio, la Legge dell'UE sull'IA. Non rientra nell'ambito di questo articolo approfondire questi rischi, ma per citarne alcuni: esistono rischi di comportamenti non sicuri, discriminatori e di violazione della privacy dei sistemi basati sull'intelligenza artificiale, nonché di proprietà intellettuale, licenze e attacchi informatici. -rischi per la sicurezza.
Un primo passo nella gestione di questi rischi è sapere quali tecnologie di intelligenza artificiale vengono utilizzate all’interno di ciascun sistema; tale conoscenza può consentire alle parti interessate di gestire i rischi (ad esempio, gestire i rischi legali conoscendo la licenza di set di dati e modelli) e di rispondere a nuove scoperte riguardanti queste tecnologie (ad esempio, se un modello risulta discriminatorio, le parti interessate possono mappare tutti sistemi che utilizzano questo modello per mitigare il rischio).
Osservando la normativa in evoluzione, esaminando Ordine Esecutivo 13960 sulla “Promozione dell’uso di un’intelligenza artificiale affidabile nel governo federale” rivela principi come responsabilità, trasparenza, responsabilità, tracciabilità e monitoraggio normativo, che richiedono tutti la comprensione di quali tecnologie di intelligenza artificiale vengono utilizzate in ciascun sistema.
Una ML-BOM è una documentazione delle tecnologie AI all'interno di un prodotto. CycloneDX, il noto formato OWASP per SBOM, versione 1.5 e successive, lo supporta ed è ora uno standard per ML-BOM.
Generare una distinta base ML è impegnativo; esistono molti modi per rappresentare modelli e set di dati; I modelli e i set di dati di intelligenza artificiale possono essere utilizzati al volo e la decisione su quali modelli utilizzare può essere presa in modo programmatico, al volo, senza lasciare tracce affinché le tecnologie di analisi dei componenti standard possano rilevarli. Oltre a queste sfide, l’intelligenza artificiale è ancora una tecnologia emergente, in contrasto con la maturità dei gestori di pacchetti software. Pertanto il settore non comprende ancora appieno le esigenze di una distinta base ML.
Come punto di partenza, abbiamo deciso di concentrarci sulla generazione di una ML-BOM per progetti che utilizzano uno standard di fatto, HuggingFace. HuggingFace è un "gestore di pacchetti" per modelli e set di dati AI ed è accompagnato dalle popolari librerie Python. Di seguito sono riportate alcune istantanee di una SBOM generata automaticamente da tale prodotto.
Immagina un prodotto composto da molti componenti, alcuni dei quali sono modelli di apprendimento automatico. Il componente CycloneDX di seguito descrive tale modello:
Questo componente identifica il modello e fornisce un collegamento per esplorare ulteriormente le informazioni su questo modello. Inoltre, include informazioni sulla licenza che possono essere utilizzate per scopi di conformità.
CycloneDX V1.5 definisce inoltre un campo specifico dell'intelligenza artificiale denominato "modelCard" come modo standard per documentare le proprietà del modello di apprendimento automatico. Di seguito è riportato un esempio di modelCard che abbiamo creato.
Un caso d'uso per tale modelCard può essere trovare tutti i prodotti che utilizzano modelli di classificazione delle immagini o eseguire una policy che impedisca l'utilizzo di tipi di modelli specifici.
CycloneDX consente la documentazione di un albero dei componenti – gerarchia dei sottocomponenti. Poiché HuggingFace, in qualità di gestore di pacchetti AI, rappresenta modelli e set di dati AI come repository git, abbiamo deciso di documentare i file del modello/set di dati AI come sottocomponenti del componente del modello di apprendimento automatico. Ecco come appare:
Oltre alle informazioni sui file standard, le proprietà includono informazioni aggiuntive, come le informazioni sulla sicurezza. In questo caso, vediamo due misure di sicurezza:
- Scansione antivirus: è importante quando si utilizzano set di dati sensibili ai virus (come immagini, PDF ed eseguibili).
- Scansione pickle: misure di rischio per la sicurezza relative ai file di set di dati di tipo "pickle", che sono più soggetti a rischi (per comprendere i rischi in questo formato vedere la spiegazione sul Sito web di HuggingFace).
Questi dati possono essere utilizzati per applicare policy che verificano che la scansione antivirus e pickle sia stata eseguita correttamente.
ML-BOM è un nuovo concetto; quello che mostriamo qui è un primo passo. Ma anche così, possiamo comprendere il valore che apporterebbe, data la crescente adozione, regolamentazione e rischi dell’IA.
Come nota finale, ho chiesto alla mia sfera di cristallo (aka ChatGPT) di descrivere il futuro delle ML-BOM, e questa è stata la sua risposta:
“In un futuro non troppo lontano, gli ML-BOM potrebbero evolversi in maestri esperti di cyber-pilota automatico, orchestrando la sinfonia di modelli di machine learning con un tocco di automazione, il tutto mentre ballano il tip tap attraverso le complessità delle pipeline CI/CD .”
Beh, forse abbiamo bisogno di qualcosa di più delle semplici distinte base ML...
Questo contenuto è offerto da Scribe Security, un fornitore leader di soluzioni di sicurezza end-to-end per la catena di fornitura di software, che offre sicurezza all'avanguardia per artefatti di codice e processi di sviluppo e distribuzione del codice attraverso le catene di fornitura di software. Per saperne di più.