Nota del editor: Esto se publicó originalmente en el blog de ingeniería de Slack.
En Slack, hemos sido, durante mucho tiempo, tecnólogos conservadores. En otras palabras, cuando invertimos en aprovechar una nueva categoría de infraestructura, lo hacemos con rigor. Hemos hecho esto desde que presentamos funciones basadas en aprendizaje automático en 2016, y hemos desarrollado un proceso sólido y un equipo capacitado en el espacio.
A pesar de eso, durante el año pasado, nos quedamos impresionados por el aumento en la capacidad de los modelos grandes de lenguaje (LLM) disponibles en el mercado y, lo que es más importante, la diferencia que podrían marcar en la administración de las mayores debilidades de nuestros usuarios. ¿Demasiado para leer? ¿Demasiado difícil encontrar cosas? Ya no: el 90 % de los usuarios que adoptaron la IA informó un mayor nivel de productividad que aquellos que no lo hicieron.
Sin embargo, como ocurre con cualquier tecnología nueva, nuestra capacidad para lanzar un producto con IA se basa en encontrar una implementación que cumpla con los rigurosos estándares de Slack para la gestión de datos de los clientes. Por eso, nos propusimos crear no solo funciones impresionantes de IA, sino también una IA increíble y confiable.
La industria de los modelos generativos es bastante joven; todavía se centra, en gran medida, en la investigación y no en el cliente empresarial. Había pocos patrones de seguridad y privacidad de nivel empresarial que pudiéramos aprovechar al desarrollar la nueva arquitectura de IA de Slack.
En su lugar, para dar forma a cómo desarrollamos IA de Slack, partimos de los primeros principios. Comenzamos con nuestros requisitos: mantener nuestras ofertas actuales de seguridad y cumplimiento, así como nuestros principios de privacidad, como «Los datos de los clientes son sagrados». Luego, a través de la lente específica de la IA generativa, nuestro equipo creó un nuevo grupo de principios de IA de Slack para guiarnos.
- Los datos de los clientes nunca salen de Slack.
- No entrenamos modelos grandes de lenguaje (LLM) con datos de clientes.
- IA de Slack solo opera con los datos que el usuario ya puede ver.
- IA de Slack cumple con todos los requisitos de cumplimiento y seguridad de nivel empresarial de Slack.
Estos principios hicieron que el diseño de nuestra arquitectura fuera más claro, aunque a veces más desafiante. Analizaremos cómo cada uno de estos dio forma a cómo se ve IA de Slack hoy.
Los datos de los clientes nunca salen de Slack
La primera decisión, y quizá la más importante, que enfrentamos fue cómo garantizar que pudiéramos usar un modelo fundacional de primer nivel sin permitir nunca que los datos de los clientes salieran de las VPC controladas por Slack. En la industria de modelos generativos, la mayoría de los clientes de modelos fundacionales recurría, directamente, a los servicios alojados, y las opciones alternativas eran escasas.
Sabíamos que este enfoque no funcionaría para nosotros. Slack y nuestros clientes tienen grandes expectativas en cuanto a la propiedad de los datos. En particular, Slack cuenta con una autorización de nivel moderado de FedRAMP, lo que confiere requisitos de cumplimiento específicos, incluido no enviar datos de clientes fuera de nuestros límites de confianza. Queríamos asegurarnos de que nuestros datos no salieran de nuestra nube privada virtual (VPC) de AWS para poder garantizar que terceros no tuvieran la capacidad de retenerlos o entrenarse en función de ellos.
Así que comenzamos a buscar soluciones creativas en las que pudiéramos alojar un modelo fundacional en nuestra propia infraestructura. Sin embargo, la mayoría de los modelos fundacionales es de código cerrado: son el ingrediente secreto, y no se estila entregárselos a los clientes para que los implementen en su propio hardware.
Afortunadamente, AWS tiene una oferta en la que puede ser el intermediario de confianza entre el proveedor del modelo fundacional y el cliente: AWS SageMaker. Al usarla, podemos alojar e implementar modelos grandes de lenguaje (LLM) de código cerrado en una VPC de custodia, 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 usa SageMaker, consulta esta entrada en el blog de AWS.
Lo habíamos logrado: teníamos acceso a un modelo fundacional de primer nivel, alojado en nuestra propia VPC de AWS, lo que nos brindaba garantías sobre los datos de nuestros clientes.
No entrenamos modelos grandes de lenguaje (LLM) con datos de clientes
La siguiente decisión también fue clave: elegimos usar modelos disponibles en el mercado en lugar de modelos de entrenamiento o ajuste. Hemos implementado principios de privacidad desde que comenzamos a emplear modelos de aprendizaje automático (ML) más tradicionales en Slack, como los que clasifican los resultados de búsqueda. Uno de estos principios es que los datos no se filtrarán entre los espacios de trabajo y que ofrecemos a los clientes una opción en torno a estas prácticas; sentimos que, con el estado actual y joven de esta industria y tecnología, no podríamos ofrecer garantías lo suficientemente sólidas sobre estas prácticas si entrenábamos un modelo de IA generativa usando los datos de los clientes de Slack.
Por lo tanto, tomamos la decisión de usar modelos disponibles en el mercado sin estado mediante el empleo de generación aumentada de recuperación (RAG). Con la RAG, incluyes 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, le enviaremos al LLM una indicación que contiene los mensajes que se resumirán, junto con instrucciones sobre cómo hacerlo. La falta de estado de la RAG es un enorme beneficio para la privacidad, pero también es un beneficio para el producto. Todos los resultados de IA de Slack se fundamentan en la base de conocimientos de tu empresa (no en la Internet pública), lo que hace que los resultados sean más pertinentes y precisos. Obtienes el beneficio de incorporar tu grupo de datos individuales y de propiedad exclusiva sin el riesgo de que un modelo conserve esos datos.
El uso de la RAG puede reducir el grupo de modelos que puedes usar; deben tener «ventanas de contexto» lo suficientemente grandes como para que puedas pasar todos los datos que deseas usar en tu tarea. Además, cuanto más contexto envíes a un LLM, más lenta será tu solicitud, ya que el modelo necesita procesar más datos. Como puedes imaginar, la tarea de resumir todos los mensajes de un canal puede implicar una gran cantidad de datos.
Esto nos planteó un desafío: encontrar un modelo de primer nivel con una ventana de contexto grande con una latencia bastante baja. Evaluamos varios modelos y encontramos uno que se adaptaba bien a nuestros primeros casos de uso, resumen y búsqueda. Sin embargo, había margen de mejora, y comenzamos un largo recorrido de ajuste de indicaciones y encadenamiento de modelos de aprendizaje automático más tradicionales con los modelos generativos para mejorar los resultados.
La RAG se vuelve más fácil y rápida con cada iteración de modelos: las ventanas de contexto están creciendo, al igual que la capacidad de los modelos para sintetizar datos en una ventana de contexto grande. Estamos seguros de que este enfoque puede brindarnos la calidad que buscamos y, al mismo tiempo, ayudar a garantizar que los datos de nuestros clientes estén protegidos.
IA de Slack solo opera con los datos que el usuario ya puede ver
Uno de nuestros principios fundamentales es que IA de Slack solo puede ver los mismos datos que el usuario que los solicita. Su función de búsqueda, por ejemplo, nunca le mostrará ningún resultado que la búsqueda estándar no le mostraría. Los resúmenes nunca resumirán contenido que el usuario no podría ver de otro modo mientras lee los canales.
Garantizamos esto usando la lista de control de acceso (ACL) del usuario solicitante al obtener los datos para resumir o buscar y aprovechando nuestras bibliotecas actuales que obtienen los datos para mostrarlos en el canal o en la página de resultados de búsqueda.
Técnicamente hablando, esto no fue difícil de hacer, pero tenía que ser una elección explícita; la mejor manera de garantizar esto era construir sobre los grupos de funciones principales de Slack y reutilizarlos, con un poco de magia de IA como toque final.
También vale la pena señalar que solo el usuario que invoca IA de Slack puede ver el resultado generado por ella. Esto genera confianza en que Slack es tu socio confiable de IA: solo entran los datos que tú puedes ver, y, luego, solo tú puedes ver el resultado.
IA de Slack cumple con todos los requisitos de cumplimiento y seguridad de nivel empresarial de Slack
No hay IA de Slack sin Slack, por lo que nos aseguramos de integrar todas nuestras ofertas de seguridad y cumplimiento de nivel empresarial. Seguimos el principio de menor cantidad de datos: almacenamos solo los datos indispensables para completar la tarea y solo durante el tiempo necesario.
A veces, lo mejor es no almacenar nada. Siempre que sea posible, los resultados de IA de Slack son efímeros: los resúmenes de conversaciones y las respuestas de búsqueda generan respuestas en un momento dado que no se almacenan en el disco.
Para los casos en los que no se puede hacer eso, reutilizamos la mayor cantidad posible de la infraestructura de cumplimiento actual de Slack y creamos nuevo soporte donde era necesario. Muchas de nuestras ofertas de cumplimiento vienen integradas con nuestra infraestructura actual, como la administración de claves de cifrado y la residencia de datos internacionales. Para otras, brindamos soporte especial para asegurarnos de que el contenido derivado, como los resúmenes, conozca los mensajes que contiene; por ejemplo, si un mensaje se oculta debido a la Prevención de pérdida de datos (DLP), todos los resúmenes derivados de ese mensaje se invalidan. Esto aumenta la eficacia de la DLP y otros controles administrativos con IA de Slack: cuando estos controles ya estaban disponibles en el contenido del mensaje de Slack, también son resultados disponibles de IA de Slack.
¡Vaya, fue un largo recorrido! Y ni siquiera pude explicarte cómo creamos indicaciones, evaluamos modelos o manejamos la demanda elevada; lo dejamos para la próxima vez. Pero me alegro de haber comenzado aquí, con la seguridad y la privacidad: queremos que nuestros clientes sepan con qué seriedad nos tomamos la protección de sus datos y cómo los salvaguardamos en cada paso que damos.