Notizie

Come abbiamo progettato l’IA di Slack per garantire sicurezza e privacy

Il team di Slack20 maggio 2024

Nota dell’editor: questo articolo è stato originariamente pubblicato sul blog di engineering di Slack.

In Slack siamo sempre stati tecnologi conservatori. In altre parole, quando investiamo nell’utilizzo di una nuova categoria di infrastrutture, procediamo in modo rigoroso. Adottiamo questo approccio da quando abbiamo introdotto le funzioni basate sul machine learning nel 2016 e abbiamo sviluppato un processo solido e un team competente in questo settore.

Nonostante ciò, siamo stupiti dai progressi compiuti nell’ultimo anno dai modelli linguistici di grandi dimensioni (LLM) disponibili sul mercato e, cosa più importante, dalle soluzioni che possono offrire ai principali problemi incontrati dai nostri utenti. Troppe informazioni da leggere? Ricerche troppo complesse? Ora non più: il 90% degli utenti che hanno adottato l'IA riferisce un livello di produttività più elevato rispetto a coloro che non l'hanno fatto.

Ma come per qualsiasi nuova tecnologia, la nostra capacità di lanciare un prodotto con l’IA dipende dalla ricerca di un’implementazione che soddisfi i rigorosi standard di Slack per la gestione dei dati dei clienti. Quindi abbiamo deciso di creare funzioni di IA che non fossero solo eccezionali, ma anche affidabili.

Il settore dei modelli generativi è piuttosto giovane ed è ancora in gran parte incentrato sulla ricerca piuttosto che sulle aziende e sui loro clienti. Abbiamo trovato infatti pochi modelli di sicurezza e privacy di livello aziendale da sfruttare durante la creazione della nuova architettura dell’IA di Slack.

Invece, per definire il modo in cui abbiamo creato l’IA di Slack, siamo partiti dai principi fondamentali. Abbiamo iniziato dai nostri requisiti: mantenere le nostre offerte di sicurezza e conformità esistenti, nonché rispettare i nostri principi di privacy, come “I dati dei clienti sono sacrosanti”. Quindi, attraverso la lente specifica dell'IA generativa, il nostro team ha creato una nuova serie di principi dell’IA di Slack da usare come guida.

  • I dati dei clienti non escono mai da Slack.
  • Non addestriamo modelli linguistici di grandi dimensioni (LLM) sui dati dei clienti.
  • L’IA di Slack opera solo sui dati che l’utente può già vedere.
  • L’IA di Slack rispetta tutti i requisiti di sicurezza e conformità di livello aziendale di Slack.

Questi principi hanno reso la progettazione della nostra architettura più chiara, anche se talvolta più impegnativa. Esamineremo in che modo ciascuno di essi ha influenzato l'aspetto attuale dell’IA di Slack.

I dati dei clienti non escono mai da Slack

La prima decisione, e forse la più importante, che abbiamo dovuto prendere è stata sul modo di garantire la possibilità di utilizzare un modello fondativo di alto livello senza mai consentire ai dati dei clienti di lasciare i VPC controllati da Slack. Nel settore dei modelli generativi, la maggior parte dei clienti dei modelli fondativi chiamava direttamente i servizi ospitati e le opzioni alternative erano limitate.

Sapevamo che questo approccio non avrebbe funzionato per noi. Slack e i suoi clienti hanno grandi aspettative riguardo alla proprietà dei dati. In particolare, Slack ha l’autorizzazione FedRAMP Moderate, che prevede il rispetto di requisiti di conformità specifici, incluso il divieto di inviare dati dei clienti al di fuori dei nostri confini di fiducia. Volevamo assicurarci che i dati non lasciassero mai il nostro Virtual Private Cloud (VPC) AWS in modo da poter impedire a terze parti di conservarli o usarli per l’addestramento.

Pertanto, abbiamo iniziato a cercare soluzioni creative in cui potessimo ospitare un modello fondativo sulla nostra infrastruttura. Tuttavia, la maggior parte dei modelli fondativi sono closed source: i fornitori li considerano il loro ingrediente segreto e non amano consegnarli ai clienti per distribuirli sul proprio hardware.

Fortunatamente, AWS ha un'offerta in cui può fungere da intermediario di fiducia tra fornitore di modelli fondativi e cliente: AWS SageMaker. Utilizzando SageMaker, siamo in grado di ospitare e distribuire modelli linguistici di grandi dimensioni (LLM) closed source in un VPC di deposito a garanzia, consentendoci di controllare il ciclo di vita dei dati dei nostri clienti e garantire che il fornitore del modello non abbia accesso ai dati dei clienti di Slack. Per ulteriori informazioni su come Slack utilizza SageMaker, consulta questo post sul blog AWS.

Così abbiamo trovato la soluzione giusta: abbiamo ottenuto l’accesso a un modello fondativo di livello superiore, ospitato nel nostro VPC AWS, con le dovute tutele sui dati dei nostri clienti.

Non addestriamo modelli linguistici di grandi dimensioni (LLM) sui dati dei clienti

Anche la decisione successiva è stata fondamentale: abbiamo scelto di utilizzare modelli standard invece di modelli di addestramento o di perfezionamento. Abbiamo adottato principi di privacy da quando abbiamo iniziato a utilizzare modelli di machine learning (ML) più tradizionali in Slack, come quelli che classificano i risultati di ricerca. Questi principi impongono di non diffondere i dati tra aree di lavoro e di offrire ai clienti una scelta in merito a queste pratiche. Abbiamo ritenuto che, allo stato attuale e giovane di questo settore e della tecnologia, non avremmo potuto fornire garanzie sufficientemente forti su queste pratiche se avessimo addestrato un modello di IA generativa utilizzando i dati dei clienti di Slack.

Abbiamo quindi scelto di utilizzare modelli predefiniti in modalità stateless impiegando la Retrieval Augmented Generation (RAG). Con la RAG, tutto il contesto necessario per eseguire un'attività è incluso all'interno di ciascuna richiesta, quindi il modello non conserva nessuno di questi dati. Ad esempio, quando si sintetizza un canale, viene inviato all’LLM un prompt contenente i messaggi da riepilogare, insieme alle istruzioni su come farlo. La natura stateless di RAG presenta vantaggi significativi per la privacy, ma anche per il prodotto: tutti i risultati dell’IA di Slack provengono dalla knowledge base dell'azienda, non dall'Internet pubblica, il che li rende più pertinenti e accurati. I clienti beneficiano dell'integrazione dei propri set di dati individuali senza il rischio che un modello conservi questi dati.

L'utilizzo della RAG può restringere l'insieme di modelli che possono essere utilizzati: devono avere “finestre di contesto” abbastanza grandi da contenere tutti i dati che si desidera usare nell’attività. Inoltre, maggiore è il contesto che viene inviato a un LLM, più lenta sarà la richiesta, poiché il modello deve elaborare più dati. Come si può immaginare, il compito di riassumere tutti i messaggi in un canale può comportare l’elaborazione di una notevole quantità di dati.

La sfida per noi è stata trovare un modello di alto livello con una finestra di contesto sufficientemente ampia e una latenza relativamente bassa. Abbiamo valutato una serie di modelli e ne abbiamo trovato uno che si adattava bene ai nostri primi casi d'uso, riepilogo e ricerca. Tuttavia c'era margine di miglioramento e e abbiamo iniziato un lungo processo di affinamento delle richieste e di concatenamento di modelli di ML più tradizionali con modelli generativi per perfezionare i risultati.

La RAG diventa più semplice e veloce con ogni iterazione dei modelli: le finestre di contesto stanno crescendo, così come la capacità dei modelli di sintetizzare i dati in un'ampia finestra di contesto. Siamo certi che questo approccio ci consentirà di raggiungere la qualità a cui miriamo e allo stesso tempo di garantire la protezione dei dati dei nostri clienti.

L’IA di Slack opera solo sui dati che l’utente può già vedere

Uno dei nostri principi fondamentali è che l’IA di Slack possa vedere solo gli stessi dati che può vedere l'utente che effettua la richiesta. La funzione di ricerca dell’IA di Slack, ad esempio, non mostrerà mai all’utente alcun risultato diverso dalla ricerca standard. I riepiloghi non riassumeranno mai contenuti che l'utente non potrebbe altrimenti vedere durante la lettura dei canali.

Questo principio viene garantito utilizzando l'elenco di controllo degli accessi dell'utente richiedente durante il recupero dei dati da riepilogare o cercare e sfruttando le nostre librerie esistenti che recuperano i dati da visualizzare nel canale o nella pagina dei risultati di ricerca.

Da un punto di vista tecnico questo processo era relativamente semplice da implementare, ma doveva essere proposto come scelta esplicita. Il modo migliore per farlo era riutilizzare i set di funzioni principali di Slack aggiungendo funzionalità specifiche dell'IA.

Vale anche la pena sottolineare che solo l'utente che richiama l’IA di Slack può vedere l'output generato dall'IA. Questo ti dà la certezza che Slack è il tuo partner IA di fiducia: entrano solo i dati che puoi vedere e solo tu puoi vedere l'output.

L’IA di Slack rispetta tutti i requisiti di sicurezza e conformità di livello aziendale di Slack

Non esiste IA di Slack senza Slack, quindi ci siamo assicurati di integrare tutte le nostre offerte di conformità e sicurezza di livello aziendale. Applichiamo il principio del minor numero di dati: conserviamo solo i dati necessari per completare l'attività e solo per la durata necessaria.

A volte il numero minimo di dati è nessuno. Ove possibile, i risultati dell’IA di Slack sono effimeri: i riepiloghi delle conversazioni e la funzione cercare risposte generano risposte puntuali che non vengono archiviate su disco.

Laddove questo non è stato fattibile, abbiamo riutilizzato quanto più possibile l’infrastruttura di conformità esistente di Slack e sviluppato nuove funzionalità di supporto dove necessario. Molte delle nostre offerte di conformità sono integrate nella nostra infrastruttura esistente, come la gestione delle chiavi di crittografia e la residenza internazionale dei dati. In altri casi, abbiamo integrato un supporto speciale per garantire che i contenuti derivati, come i riepiloghi, siano consapevoli dei messaggi che hanno ricevuto; ad esempio, se un messaggio viene nascosto a causa della protezione della perdita dei dati (DLP), tutti i riepiloghi derivati ​​da quel messaggio verranno invalidati. DLP e altri controlli amministrativi sono quindi rafforzati nell’IA di Slack: già applicati al contenuto dei messaggi di Slack, sono attivi anche per l'output dell’IA di Slack.

Insomma, è stato un lungo viaggio! Non siamo nemmeno riusciti a spiegare come creiamo suggerimenti, valutiamo modelli o gestiamo i picchi di richieste, lo faremo la prossima volta. Ma siamo felici di aver iniziato da qui, da sicurezza e privacy: vogliamo che i nostri clienti sappiano che prendiamo sul serio la sicurezza dei loro dati e che li proteggiamo in ogni fase del processo.

Questo post è stato utile?

0/600

Fantastico!

Grazie mille per il feedback!

Capito!

Grazie per il feedback!

Ops! Si è verificato un problema. Riprova più tardi.

Continua a leggere

Developers

Creare in Slack è diventato molto più facile: nuovi strumenti per sviluppatori e amministratori disponibili oggi

Sandbox self-service, funzioni personalizzate per Bolt e una migliore integrazione con lo stack software rendono la creazione di app per Slack più semplice che mai

Developers

Creare gli elementi costitutivi dell’automazione

La piattaforma di nuova generazione non è più in versione beta ed è ora disponibile per tutti gli sviluppatori

Notizie

Trasforma le conversazioni in lavoro con gli elenchi di Slack

È in arrivo una nuova funzione di Slack che consente di gestire progetti, richieste e attività proprio nel cuore del lavoro

Notizie

Le aziende di tutte le dimensioni lavorano in modo più efficiente e veloce con l’IA di Slack

L’IA di Slack può essere acquistata dai clienti di tutti i piani a pagamento e aiuta i clienti ad aumentare la produttività dei dipendenti sfruttando al massimo le potenzialità dei dati