Novedades

Proceso de diseño seguro y privado de IA de Slack

Del equipo de Slack20 de mayo de 2024

Nota de redacción: Este artículo se publicó originalmente en el blog de ingeniería de Slack.

En Slack llevamos mucho tiempo adoptando una postura conservadora con respecto a la tecnología. En otras palabras, las inversiones que realizamos para implementar un nuevo tipo de infraestructura son rigurosas. Esto lleva siendo así desde que presentamos las funciones basadas en el aprendizaje automático en 2016, para lo que hemos establecido un proceso consolidado y un equipo cualificado.

A pesar de ello, en el último año nos ha impresionado el aumento de la capacidad de los modelos de lenguaje grandes (LLM, por sus siglas en inglés) disponibles en el mercado y, lo que es más importante, la diferencia que pueden marcar en los principales problemas de nuestros usuarios. ¿Hay demasiado contenido para leer? ¿Es difícil encontrar algo? ¡Ya no!: el 90 % de los usuarios que adoptaron la IA experimentó un mayor nivel de productividad que los que no lo hicieron.

Pero, como ocurre con cualquier tecnología nueva, nuestra capacidad de lanzar un producto con IA depende de encontrar una implementación que cumpla los rigurosos estándares de Slack en materia de administración de datos de clientes. Por ello, nos planteamos crear no solo funciones de IA asombrosas, sino también fiables.

El sector de los modelos generativos es muy reciente; aún se centra en gran medida en la investigación, en lugar de en las empresas y los clientes. A la hora de crear la nueva arquitectura de IA de Slack, contábamos con pocos patrones de seguridad y privacidad de nivel empresarial.

En cambio, para determinar el método de creación de la IA de Slack, partimos de los principios básicos. Empezamos por nuestros requisitos: mantener nuestra oferta actual de seguridad y cumplimiento normativo, así como nuestros principios de privacidad, como “Los datos de los clientes son sagrados”. A continuación, desde la perspectiva específica de la IA generativa, nuestro equipo creó un nuevo conjunto de principios de IA de Slack que nos sirvieran a modo de guía.

  • Los datos de nuestros clientes nunca salen de Slack.
  • Nunca entrenamos LLM con los datos de los clientes.
  • IA de Slack solo utiliza los datos que el usuario ya puede ver.
  • IA de Slack cumple todos los requisitos de seguridad y cumplimiento normativo empresarial.

Estos principios nos permitieron definir nuestra arquitectura de forma más clara, aunque ello supusiera a veces más dificultades. Repasaremos cómo cada uno de ellos ha influido en el diseño actual de la IA de Slack.

Los datos de nuestros clientes nunca salen de Slack

La primera decisión, y quizá la más importante, a la que nos enfrentamos fue cómo garantizar el uso de un modelo fundacional de primer nivel sin que los datos de los clientes salieran de las nubes privadas virtual​es controladas (VPC) por Slack. En el sector de los modelos generativos, la mayoría de los clientes de modelos fundacionales recurrían directamente a los servicios alojados, por lo que apenas existían opciones alternativas.

Éramos conscientes de que este enfoque no se adaptaría a nuestras necesidades. Slack y nuestros clientes tienen grandes expectativas en cuanto a la propiedad de los datos. En concreto, Slack cuenta con la autorización FedRAMP Moderate, que le confiere requisitos de cumplimiento específicos, entre ellos no enviar datos de clientes fuera de su límite de confianza. Queríamos asegurarnos de que nuestros datos no salieran de nuestra VPC de AWS para poder garantizar que terceros no pudieran retenerlos ni entrenar con ellos.

Por tanto, empezamos a buscar soluciones creativas que nos permitieran alojar un modelo fundacional en nuestra propia infraestructura. Sin embargo, la mayoría de los modelos fundacionales son de código cerrado: sus modelos son su receta secreta y no les gusta ofrecérselos a los clientes para que los implementen en su propio hardware.

Afortunadamente, AWS tiene una oferta que le permite ser el intermediario de confianza entre el proveedor del modelo fundacional y el cliente: AWS SageMaker. Gracias a SageMaker, podemos alojar e implementar LLM de código cerrado en una VPC protegida, lo que nos permite controlar el ciclo de vida de los datos de nuestros clientes y garantizar que el proveedor del modelo no tenga acceso a los datos de los clientes de Slack. Para obtener más información sobre cómo Slack utiliza SageMaker, consulta esta publicación en el blog de AWS.

Ahí estaba la solución: teníamos acceso a un modelo fundacional de primer nivel, alojado en nuestra propia VPC de AWS, lo que nos daba garantías sobre los datos de nuestros clientes.

Nunca entrenamos LLM con los datos de los clientes

La siguiente decisión también fue clave: optamos por utilizar modelos estándar en lugar de modelos de formación o ajuste. Llevábamos aplicando principios de privacidad desde que empezamos a emplear modelos de aprendizaje automático más tradicionales en Slack, como los que ordenan los resultados de las búsquedas. Entre estos principios, se encuentra el de que los datos no se filtren a través de los espacios de trabajo, y que ofrezcamos a los clientes la posibilidad de elegir respecto a estas prácticas. Dado el estado actual y reciente de este sector y de la tecnología, no podíamos ofrecer garantías suficientemente estrictas sobre estas prácticas si entrenábamos un modelo generativo de IA utilizando los datos de los clientes de Slack.

Así que optamos por utilizar modelos ya existentes de una forma apátrida empleando la generación mejorada por recuperación (RAG, por sus siglas en inglés). Con RAG, se incluye todo el contexto necesario para realizar una tarea dentro de cada solicitud, por lo que el modelo no retiene ninguno de esos datos. Por ejemplo, al resumir un canal, enviaremos al LLM una solicitud que contenga los mensajes que deben resumirse, junto con instrucciones sobre cómo hacerlo. La ausencia de estado de la RAG es una gran ventaja para la privacidad, pero también para el producto. Todos los resultados de la IA de Slack se fundamentan en la base de conocimientos de la empresa, no en el internet público, lo que hace que los resultados sean más relevantes y precisos. De este modo, te beneficias de la incorporación de tu conjunto de datos propios e individuales sin el riesgo de que un modelo retenga esos datos.

El uso de RAG puede limitar el conjunto de modelos que se pueden utilizar; deben tener “ventanas de contexto” lo suficientemente grandes como para que se puedan pasar todos los datos que se van a utilizar en la tarea. Además, cuanto más contexto se envíe a un LLM, más lenta será la solicitud, pues el modelo tendrá que procesar más datos. Por ejemplo, la tarea de resumir todos los mensajes de un canal puede implicar bastantes datos.

Esto supuso un gran reto para nosotros: encontrar un modelo de primer nivel con una ventana de contexto amplia y una latencia bastante baja. Evaluamos varios modelos y encontramos uno que se adaptaba bien a nuestros primeros casos prácticos, el resumen y la búsqueda. Sin embargo, había margen de mejora, y comenzamos un largo camino tanto de ajuste puntual como de combinación de modelos de aprendizaje automático más tradicionales con los modelos generativos para mejorar los resultados.

La velocidad y sencillez de la RAG aumentan con cada iteración de los modelos: las ventanas de contexto aumentan, al igual que la capacidad de los modelos de sintetizar datos en una amplia ventana de contexto. Confiamos en que este enfoque nos proporcione la calidad que buscamos y, al mismo tiempo, garantice la protección de los datos de nuestros clientes.

IA de Slack solo utiliza los datos que el usuario ya puede ver

Uno de nuestros principios fundamentales es que la IA de Slack solo pueda acceder a los datos que ve el usuario solicitante. La función de búsqueda de la IA de Slack, por ejemplo, nunca mostrará al usuario resultados que la búsqueda estándar no mostraría. Del mismo modo, los resúmenes nunca resumirán contenido que el usuario no pueda ver de otra manera al leer los canales.

Para ello, utilizamos la lista de control de acceso (ACL) del usuario solicitante al obtener los datos que se van a resumir o buscar, y aprovechamos las bibliotecas existentes que recopilan los datos para mostrarlos en el canal o en la página de resultados de búsqueda.

Esto no revestía especial dificultad desde el punto de vista técnico, pero tenía que ser una elección explícita. La mejor forma de garantizarlo era aprovechar y reutilizar el conjunto de funciones básicas de Slack, haciendo un poco de la magia de la inteligencia artificial al final.

Cabe destacar también que solo el usuario que utiliza la IA de Slack puede ver los resultados que genera. Esto refuerza la confianza de los usuarios en Slack como socio de IA: solo entran los datos que tú puedes ver y solo tú puedes ver los resultados.

IA de Slack cumple todos los requisitos de seguridad y cumplimiento normativo empresarial

No existiría la IA de Slack sin Slack, por lo que nos aseguramos de integrar todas nuestras ofertas de cumplimiento normativo y seguridad de nivel empresarial. Seguimos el principio del mínimo de datos: solo almacenamos los datos necesarios para realizar la tarea, y solo durante el tiempo necesario.

A veces, el mínimo de datos es ningún dato. Siempre que sea posible, los resultados de la IA de Slack son efímeros: los resúmenes de las conversaciones y las respuestas de búsqueda generan respuestas puntuales que no se almacenan en disco.

En los casos en los que esto no es posible, hemos reutilizado la mayor parte posible de la infraestructura de cumplimiento normativo actual de Slack y hemos creado un nuevo soporte en las situaciones necesarias. Muchas de nuestras ofertas de cumplimiento normativo vienen integradas en la infraestructura actual, como la gestión de claves de cifrado y la residencia internacional de datos. En otros casos, hemos creado un soporte especial para garantizar que los contenidos derivados, como los resúmenes, sean conscientes de los mensajes que los componen; por ejemplo, si un mensaje se oculta debido a la prevención de pérdida de datos (DLP), cualquier resumen derivado de ese mensaje queda invalidado. Esto potencia la DLP y otros controles administrativos con la IA de Slack: si estos controles ya estaban activos en el contenido de los mensajes de Slack, también lo estarán en las salidas de la IA de Slack.

¡Guau, menudo viaje! Y ni siquiera hemos llegado a explicar cómo creamos las indicaciones, evaluamos modelos o gestionamos los picos de demanda; eso lo dejaremos para otra ocasión. Me alegro de haber empezado por la seguridad y la privacidad: queremos que nuestros clientes sepan lo en serio que nos tomamos la protección de sus datos y cómo los protegemos en todo momento.

¿Te ha resultado útil esta publicación?

0/600

¡Genial!

¡Muchísimas gracias por tus comentarios!

Entendido

Gracias por tus comentarios.

Vaya. Estamos teniendo dificultades. ¡Inténtalo de nuevo más tarde!

Seguir leyendo

Novedades

Convierte tus conversaciones en trabajo con las listas de Slack

Presentamos una nueva función de Slack que permite gestionar proyectos, solicitudes y tareas donde ya trabajas

Novedades

Empresas de todos los tamaños trabajan de una forma más rápida e inteligente gracias a IA de Slack

IA de Slack ya está disponible para su compra en todos los planes de pago y ayuda a la clientela a aumentar la productividad del personal al desbloquear todo el potencial de sus datos.

Desarrolladores

Nunca antes ha sido tan fácil desarrollar en Slack: nuevas herramientas para desarrolladores y administradores a partir de hoy

Los entornos de autoservicio, las funciones personalizadas para Bolt y la mejora de la integración con tu pila de software hacen que desarrollar para Slack sea más fácil que nunca

Novedades

IA de Slack ya está aquí

Ponte al día al instante en tu jornada laboral con nuestras nuevas funciones de IA generativa ya disponibles