A medida que las capacidades de inteligencia artificial y aprendizaje automático se consideran cada vez más fundamentales para impulsar la innovación y la eficiencia en empresas de todos los tamaños, las organizaciones deben determinar cuál es la mejor manera de brindar a sus desarrolladores de aplicação acceso a esas capacidades. En muchos casos, se utilizará un servicio de inferencia de IA, es decir: “un servicio que invoca modelos de IA para producir un resultado basado en una entrada determinada” (como predecir una clasificación o generar texto), generalmente en respuesta a una llamada API desde otro código de aplicação .
Estos servicios de inferencia pueden crearse y consumirse de una amplia variedad de formas (incluso dentro de una sola organización). Estos servicios pueden desarrollarse íntegramente internamente o consumirse como SaaS, aprovechar proyectos de código abierto y utilizar modelos abiertos o comerciales. Pueden venir como parte de una “plataforma de aprendizaje automático” completamente funcional que respalde esfuerzos más amplios de creación de modelos y ciencia de datos, o pueden proporcionarle nada más que un punto final de API para invocar los modelos. Pueden ejecutarse en un centro de datos privados, en una nube pública, en una instalación de coubicación o como una combinación de estos. Es probable que las organizaciones más grandes dependan de más de una única opción para la inferencia de IA (especialmente en los niveles más bajos de madurez organizacional en este espacio). Si bien no existe un enfoque único que funcione para todos, están surgiendo algunos patrones comunes.
Examinaremos tres amplios patrones de consumo de inferencia de IA, así como sus diversas fortalezas y debilidades:
Al evaluar las ventajas y desventajas entre los siguientes patrones operativos, hay algunos factores clave a tener en cuenta:
Las organizaciones pueden optar por consumir servicios de un proveedor de SaaS dedicado que se centra en alojar modelos de IA para inferencia (como OpenAI o Cohere). En este caso, las cargas de trabajo que se ejecutan en la infraestructura de una organización (ya sea un centro de datos privados, una ubicación conjunta o una nube pública) aprovechan las API publicadas por el proveedor de SaaS. Con este patrón, la carga asociada con la operación de la infraestructura requerida para alojar los modelos recae completamente sobre el proveedor de SaaS, y el tiempo que lleva ponerse en funcionamiento puede ser muy breve. Sin embargo, estos beneficios se obtienen a costa del control, siendo este patrón el menos “flexible” de los que analizaremos. Asimismo, el control sobre datos sensibles suele ser mínimo con este modelo, en el que se suele utilizar Internet público para conectarse con el servicio y es menos probable que el proveedor externo de SaaS pueda abordar cuestiones de cumplimiento normativo estricto.
En este patrón, las organizaciones aprovechan los servicios administrados proporcionados por proveedores de nube pública (por ejemplo, Azure OpenAI, Google Vertex, AWS Bedrock). Al igual que con el primer patrón, la carga operativa para implementar, escalar y mantener los modelos de IA recae en el proveedor de nube en lugar de en la organización consumidora. La principal diferencia entre este patrón y el patrón SaaS mencionado anteriormente es que, en este caso, los puntos finales de la API de inferencia generalmente son accesibles a través de redes privadas, y las cargas de trabajo de los consumidores de IA se pueden ubicar junto con el servicio de modelo de IA (por ejemplo, la misma zona o región). Como resultado, los datos generalmente no transitan por Internet público, la latencia probablemente sea menor y los mecanismos para conectarse a estos servicios son similares a los de otros servicios administrados proveedor de nube (es decir, cuentas de servicio, políticas de acceso, ACL de red). Las organizaciones que aprovechan las redes multicloud pueden lograr algunos de estos mismos beneficios incluso en casos donde las cargas de trabajo y los servicios de inferencia de IA están alojados en diferentes nubes.
Para el modelo autogestionado, primero analizaremos el caso en el que la inferencia del modelo de IA se ejecuta como un “servicio compartido” centralizado, luego examinaremos el caso en el que no existe un servicio centralizado y las preocupaciones operativas se dejan en manos de equipos de aplicação individuales.
En la variante de “Servicio compartido” del patrón autogestionado, una organización puede tener equipos dedicados responsables de mantener la infraestructura de inferencia, los modelos que se ejecutan en ella, las API utilizadas para conectarse a ella y todos los aspectos operativos del ciclo de vida del servicio de inferencia. Al igual que con los otros patrones, las cargas de trabajo de las aplicação de IA consumirían servicios de inferencia a través de llamadas API. El modelo de infraestructura de servicio podría ejecutarse en centros de datos privados, en una nube pública o en una instalación de coubicación. Los equipos responsables de operar el servicio de inferencia pueden aprovechar plataformas de aprendizaje automático autohospedadas (como Anyscale Ray o MLFlow). Como alternativa, podrían confiar en herramientas de inferencia con un enfoque más específico, como el servidor de inferencia de generación de texto de Hugging Face o un software desarrollado internamente. Con la inferencia autogestionada, las organizaciones están limitadas a usar modelos que ellas mismas han entrenado o que están disponibles para ejecutar localmente (por lo que los modelos propietarios de un servicio orientado a SaaS pueden no ser una opción).
Las organizaciones que no tienen un equipo central responsable de ejecutar servicios de inferencia de IA para que las aplicações los consuman son la otra variante del patrón autogestionado. En esta versión, los equipos de aplicação individuales pueden ejecutar sus modelos en la misma infraestructura que se les ha asignado para la carga de trabajo de la aplicação . Pueden optar por acceder a esos modelos a través de API o consumirlos directamente de manera “sin conexión”. Con este patrón, los desarrolladores podrán obtener algunos de los mismos beneficios que el modelo autogestionado de “Servicio compartido” en una escala más pequeña.
En esencia, las aplicações de IA son muy similares a cualquier otra aplicación moderna. Se crean con una combinación de componentes de usuario y backend, suelen depender de almacenes de datos externos y hacen un uso intensivo de llamadas a API, etc. Estas aplicações heredan los mismos desafíos de seguridad comunes a todas las aplicaciones modernas y necesitan las mismas protecciones aplicadas de la misma manera (por ejemplo, AuthNZ, protecciones DDoS, WAF, prácticas de desarrollo seguras, etc.). Sin embargo, las aplicaciones de IA, y especialmente aquellas que aprovechan la IA generativa, también están sujetas a una serie de preocupaciones únicas que pueden no aplicarse a otras aplicações (por ejemplo, consulte OWASP Top 10 For LLMs ). La naturaleza generalmente impredecible de estos modelos puede dar lugar a problemas nuevos, especialmente en casos de uso donde se les otorga una autonomía significativa.
Afortunadamente, debido a la gran dependencia de las interacciones impulsadas por API con la inferencia de modelos de IA en los patrones analizados anteriormente, muchas organizaciones ya están bien posicionadas para implementar estas nuevas medidas de seguridad. Por ejemplo, una puerta de enlace API que brinda funciones tradicionales de limitación de velocidad, autenticación, autorización y gestión de tráfico se puede ampliar para admitir límites de velocidad basados en tokens para ayudar con el control de costos (ya sea de salida a nivel de aplicación a un servicio administrado por SaaS/proveedor o de autorización RBAC de entrada como protección frente a un servicio de inferencia autogestionado). De la misma manera, la infraestructura que actualmente realiza servicios tradicionales de firewall de aplicação web (WAF), como verificar inyecciones de SQL o XSS, podría ser un lugar lógico para agregar protecciones contra inyecciones rápidas y ataques similares. La mayoría de las prácticas de observabilidad modernas son directamente aplicables a casos de uso específicos de inferencia de IA impulsadas por API, y los equipos deberían poder hacer un buen uso de las herramientas y prácticas existentes en este espacio.
Si bien el revuelo en torno a las aplicações impulsadas por IA y los servicios de inferencia es ciertamente nuevo, los principios fundamentales que entran en juego al implementarlos y protegerlos existen desde hace mucho tiempo. Las organizaciones deberán evaluar las ventajas y desventajas a la hora de determinar cuál es la mejor manera de aprovechar las capacidades de la IA, tal como lo hacen cuando consumen cualquier otra tecnología, en función de sus casos de uso específicos, los recursos disponibles y los objetivos a largo plazo. De manera similar, si bien los casos de uso de IA (y particularmente de IA generativa) presentan algunos desafíos de seguridad novedosos, las necesidades que comparten con otras aplicações modernas y la fuerte dependencia de la interacción de modelos impulsada por API presentan una gran oportunidad para usar y ampliar patrones, prácticas y herramientas existentes. Ya sea un servicio autohospedado o administrado, garantizar que los desarrolladores tengan acceso a una solución segura, escalable y de alto rendimiento que satisfaga sus requisitos comerciales específicos es fundamental para maximizar el valor y el impacto de sus inversiones en IA.