Como os recursos de IA e aprendizado de máquina são cada vez mais vistos como essenciais para impulsionar a inovação e a eficiência em empresas de todos os tamanhos, as organizações devem determinar a melhor forma de fornecer aos seus desenvolvedores de aplicativos acesso a esses recursos. Em muitos casos, um serviço de inferência de IA será usado, ou seja: “um serviço que invoca modelos de IA para produzir uma saída com base em uma entrada fornecida” (como prever uma classificação ou gerar texto), mais tipicamente em resposta a uma chamada de API de outro código de aplicativo.
Esses serviços de inferência podem ser criados e consumidos de diversas maneiras (mesmo dentro de uma única organização). Esses serviços podem ser desenvolvidos inteiramente internamente ou consumidos como um SaaS, aproveitar projetos de código aberto e usar modelos abertos ou comerciais. Eles podem vir como parte de uma “Plataforma de Aprendizado de Máquina” totalmente funcional que oferece suporte a esforços mais amplos de ciência de dados e criação de modelos, ou podem fornecer nada além de um ponto de extremidade de API para invocar os modelos. Eles podem ser executados em um data center privado, em uma nuvem pública, em uma instalação de colocation ou como uma mistura destes. Organizações maiores provavelmente dependerão de mais de uma única opção para inferência de IA (especialmente em níveis mais baixos de maturidade organizacional nesse espaço). Embora não exista uma abordagem única que funcione para todos, alguns padrões comuns estão surgindo.
Examinaremos três amplos padrões de consumo de inferência de IA, bem como seus vários pontos fortes e fracos:
Ao avaliar as compensações entre os seguintes padrões operacionais, há alguns fatores importantes a serem considerados:
As organizações podem optar por consumir serviços de um provedor de SaaS dedicado que se concentra em hospedar modelos de IA para inferência (como OpenAI ou Cohere). Nesse caso, as cargas de trabalho em execução na infraestrutura de uma organização (seja um data center privado, colocation ou nuvem pública) aproveitam as APIs publicadas pelo provedor de SaaS. Com esse padrão, o ônus associado à operação da infraestrutura necessária para hospedar os modelos recai inteiramente sobre o provedor de SaaS, e o tempo necessário para começar a operar pode ser muito breve. Esses benefícios, no entanto, têm um custo de controle, sendo esse padrão o menos “flexível” dos que abordaremos. Da mesma forma, o controle sobre dados confidenciais é normalmente menor com esse modelo, onde a internet pública é geralmente usada para se conectar ao serviço, e o fornecedor de SaaS externo tem menos probabilidade de conseguir lidar com preocupações rigorosas de conformidade regulatória.
Nesse padrão, as organizações aproveitam serviços gerenciados fornecidos por provedores de nuvem pública (por exemplo, Azure OpenAI, Google Vertex, AWS Bedrock). Assim como no primeiro padrão, o ônus operacional para implantar, dimensionar e manter os modelos de IA recai sobre o Provedor de Nuvem e não sobre a organização consumidora. A principal diferença entre esse padrão e o padrão SaaS acima é que, neste caso, os pontos de extremidade da API de inferência são geralmente acessíveis por meio de redes privadas, e as cargas de trabalho do consumidor de IA podem ser colocadas junto com o serviço do Modelo de IA (por exemplo, mesma zona, região). Como resultado, os dados normalmente não transitam pela internet pública, a latência provavelmente será menor e os mecanismos para conexão a esses serviços são semelhantes aos de outros serviços gerenciados por provedores de nuvem (ou seja, contas de serviço, políticas de acesso, ACLs de rede). Organizações que aproveitam redes multinuvem podem obter alguns desses mesmos benefícios, mesmo em casos em que cargas de trabalho e serviços de inferência de IA são hospedados em nuvens diferentes.
Para o modelo autogerenciado, discutiremos primeiro o caso em que a inferência do modelo de IA é executada como um "serviço compartilhado" centralizado, depois examinaremos o caso em que não existe nenhum serviço centralizado e as preocupações operacionais são deixadas para equipes de aplicativos individuais.
Na variante “Serviço Compartilhado” do padrão Autogerenciado, uma organização pode ter equipes dedicadas responsáveis por manter a infraestrutura de inferência, os modelos que são executados nela, as APIs usadas para se conectar a ela e todos os aspectos operacionais do ciclo de vida do serviço de inferência. Assim como nos outros padrões, as cargas de trabalho de aplicativos de IA consumiriam serviços de inferência por meio de chamadas de API. O modelo que atende à infraestrutura pode ser executado em data centers privados, em nuvem pública ou em uma instalação de colocation. As equipes responsáveis pela operação do serviço de inferência podem aproveitar plataformas de aprendizado de máquina auto-hospedadas (como Anyscale Ray ou MLFlow). Como alternativa, eles podem contar com ferramentas de inferência mais focadas, como o servidor de inferência de geração de texto da Hugging Face ou software desenvolvido internamente. Com a inferência autogerenciada, as organizações ficam limitadas a usar modelos que elas mesmas treinaram ou que estão disponíveis para execução local (portanto, modelos proprietários de um serviço orientado a SaaS podem não ser uma opção).
Organizações sem uma equipe central responsável por executar serviços de inferência de IA para consumo de aplicativos são a outra variante do padrão autogerenciado. Nesta versão, equipes de aplicativos individuais podem executar seus modelos na mesma infraestrutura que foi alocada a eles para a carga de trabalho do aplicativo. Eles podem escolher acessar esses modelos via API ou consumi-los diretamente de forma “offline”. Com esse padrão, os desenvolvedores podem obter alguns dos mesmos benefícios do modelo autogerenciado de “Serviço Compartilhado” em uma escala menor.
Em sua essência, os aplicativos de IA são muito parecidos com qualquer outro aplicativo moderno. Eles são construídos com uma mistura de componentes de backend e voltados para o usuário, geralmente dependem de armazenamentos de dados externos, fazem uso intenso de chamadas de API, etc. Esses aplicativos herdam os mesmos desafios de segurança comuns a todos os aplicativos modernos e precisam das mesmas proteções aplicadas da mesma maneira (por exemplo, AuthNZ, proteções DDoS, WAF, práticas de desenvolvimento seguro, etc.). No entanto, os aplicativos de IA, especialmente aqueles que utilizam IA generativa, também estão sujeitos a uma série de preocupações específicas que podem não se aplicar a outros aplicativos (por exemplo, consulte OWASP Top 10 For LLMs ). A natureza geralmente imprevisível desses modelos pode levar a novos problemas, especialmente em casos de uso em que os modelos recebem uma agência significativa.
Felizmente, devido à forte dependência de interações orientadas por API com inferência de modelos de IA nos padrões discutidos acima, muitas organizações já estão bem posicionadas para implementar essas novas medidas de segurança. Por exemplo, um gateway de API que fornece funcionalidade tradicional de limitação de taxa, autenticação, autorização e gerenciamento de tráfego pode ser estendido para oferecer suporte a limites de taxa baseados em token para ajudar no controle de custos (seja de saída no nível do aplicativo para um serviço gerenciado por SaaS/provedor ou autorização RBAC de entrada como proteção diante de um serviço de inferência autogerenciado). Da mesma forma, a infraestrutura que atualmente executa serviços tradicionais de Web Application Firewall (WAF), como verificação de injeção de SQL ou XSS, pode ser um lugar lógico para adicionar proteções contra injeção rápida e ataques semelhantes. A maioria das práticas modernas de observabilidade são diretamente aplicáveis a casos de uso específicos de inferência de IA orientada por API, e as equipes devem ser capazes de fazer bom uso das ferramentas e práticas existentes nesse espaço.
Embora o burburinho em torno de aplicativos e serviços de inferência com tecnologia de IA seja certamente novo, os princípios fundamentais em jogo ao implantá-los e protegê-los já existem há muito tempo. As organizações precisarão ponderar as compensações ao determinar a melhor forma de aproveitar os recursos de IA, assim como fazem ao consumir qualquer outra tecnologia; com base em seus casos de uso específicos, recursos disponíveis e objetivos de longo prazo. Da mesma forma, embora os casos de uso de IA (e particularmente de IA generativa) apresentem alguns novos desafios de segurança, as necessidades que eles compartilham com outros aplicativos modernos e a forte dependência da interação de modelos orientados por API apresentam uma grande oportunidade de usar e estender padrões, práticas e ferramentas existentes. Seja um serviço auto-hospedado ou gerenciado, garantir que os desenvolvedores tenham acesso a uma solução segura, escalável e de alto desempenho que atenda aos seus requisitos comerciais específicos é essencial para maximizar o valor e o impacto dos seus investimentos em IA.