O que é llm-d?
O llm-d é um framework open source nativo do Kubernetes que acelera a inferência distribuída de Large Language Models (LLMs) em grande escala.
Quando um modelo de IA recebe consultas complexas com muitos dados, o llm-d fornece um framework que agiliza o processamento.
Google, NVIDIA, IBM Research e CoreWeave são os criadores do llm-d, mas a comunidade open source dessa tecnologia contribui ativamente com atualizações para aprimorá-la.
Como o llm-d funciona?
Os prompts de um LLM podem ser complexos e heterogêneos. Em geral, eles exigem uma enorme quantidade de recursos computacionais e armazenamento para processar grandes volumes de dados.
O llm-d tem uma arquitetura modular que atende à crescente demanda por recursos de modelos de raciocínio mais sofisticados e de maior porte, como os LLMs.
Uma arquitetura modular permite que todos os componentes da carga de trabalho de IA operem em conjunto ou isoladamente, conforme as necessidades do modelo. Isso acelera a inferência.
Imagine que o llm-d é como uma maratona em que cada corredor controla seu próprio ritmo. Você pode cruzar a linha de chegada em um momento diferente dos outros, mas todos terminam quando cumprem o percurso. Se todos tivessem que cruzar a linha de chegada ao mesmo tempo, você teria que se prender às necessidades específicas de cada um dos corredores, como resistência, pausas para beber água ou tempo de treinamento. Isso complicaria o processo.
Uma arquitetura modular permite que partes do processo de inferência funcionem em um ritmo específico para alcançar o melhor resultado no menor tempo possível. Ela também facilita corrigir ou atualizar processos específicos independentemente.
Essa forma de processar os modelos permite que o llm-d atenda às demandas de inferência dos LLMs em grande escala. Isso também possibilita aos usuários ir além das implantações em um único servidor e usar a inferência de IA generativa (gen IA) em toda a empresa.
A arquitetura modular do llm-d é composta por:
- Kubernetes: uma plataforma de orquestração de containers open source que automatiza grande parte dos processos manuais necessários para implantar, gerenciar e escalar aplicações em containers.
- vLLM: um servidor de inferência open source que acelera as respostas das aplicações de gen IA.
- Gateway de inferência (IGW): uma extensão da Gateway API do Kubernetes que hospeda funcionalidades como roteamento de modelos, prioridade de atendimento e recursos de balanceamento de carga "inteligente".
Essa arquitetura acessível e modular faz do llm-d a plataforma ideal para inferência distribuída de LLMs em grande escala.
Quatro considerações importantes sobre a implementação da tecnologia de IA
O que são fluxos guiados?
Os fluxos guiados são "modelos" ou estratégias específicas para o desenvolvimento de inferência distribuída em grande escala com o llm-d. Esses caminhos são comprovados e podem ser replicados pela comunidade open source do llm-d. Eles são definidos da seguinte forma:
- Scheduler inteligente de inferência: o agendamento inteligente de inferência gerencia decisões complexas de roteamento de tokens. Seus recursos de roteamento com reconhecimento de token (também conhecido como balanceamento de carga "inteligente") consideram o cache de chave-valor (KV), a latência, a funcionalidade modular e a observabilidade do modelo para implementar algoritmos de pontuação e filtragem que aceleram a inferência.
- Serviços de pré-processamento e decodificação desagregados: os serviços de pré-processamento (processamento de prompts) e decodificação (geração de tokens) impõem demandas computacionais diferentes aos servidores de inferência. Quando as duas operações são desagregadas (separadas), cada uma delas pode funcionar e ser escalada independentemente. Isso impede que problemas isolados, como obstáculos de latência, afetem todos os modelos ao mesmo tempo.
- Amplo paralelismo de especialistas: os modelos de combinação de especialistas (MoE) se dividem em modelos com habilidades específicas que podem lidar com prompts individualmente. Em vez de um único modelo denso que depende de seu banco de dados inteiro para responder a cada prompt, o llm-d identifica o modelo especialista mais adequado para aquele cenário. É como usar a função "localizar" para encontrar uma palavra específica em um documento em vez de ler o texto inteiro. Essa abordagem acelera a inferência e usa as GPUs com mais eficiência.
Além dos fluxos guiados, o llm-d utiliza ferramentas inteligentes para aumentar a eficiência da inferência:
Roteamento com reconhecimento de token: as diferentes necessidades computacionais de um token determinam sua rota específica durante a inferência. O tráfego de inferência é roteado com base no comprimento do token, na profundidade da fila e nas previsões de acerto de cache para reduzir a latência e evitar longas interrupções.
Usando nossa analogia da corrida, um corredor mais lento (modelo complexo) pode escolher um caminho com menos subidas (balanceamento de carga inteligente) para cruzar a linha de chegada (inferência) o mais rápido possível.
- Cache de KV compartilhado e reutilização: o cache de KV compartilhado identifica tokens repetidos para diminuir o tempo necessário para decodificar cada chave-valor.
Por exemplo, um prompt para a capital do Rio de Janeiro precisará ser decodificado em dois tokens: "Qual é a capital" e "do Rio de Janeiro". Quando o prompt do modelo for sobre a capital de outro estado ("Qual é a capital de São Paulo"), ele saberá como processar a primeira resposta ("Qual é a capital") porque ela já foi calculada anteriormente. Isso evita redundância no pré-processamento, acelerando a inferência ao utilizar menos armazenamento da GPU para responder a cada prompt. - Implantação modular e observabilidade: monitore, escale e atualize modelos modulares de forma independente. Em vez de uma "caixa preta" que limita a visibilidade, a flexibilidade modular fornece insights sobre cada parte do framework. Isso acelera o ajuste dos modelos e o alinhamento das cargas de trabalho de IA com as práticas de DevOps e GitOps atuais.
Principais componentes do llm-d
A comunidade open source desenvolveu o llm-d. Por isso, sua funcionalidade depende da colaboração e da coordenação entre diversos componentes. Seus principais componentes incluem:
- Framework nativo do Kubernetes: o llm-d foi projetado para ser executado em plataformas Kubernetes e aproveitar todos os seus recursos. Para tornar o framework do llm-d acessível, ele foi desenvolvido para plataformas distribuídas baseadas no Kubernetes (como o Red Hat® OpenShift®). Essa abordagem nativa do Kubernetes oferece a camada de políticas, segurança e observabilidade necessária para aplicar inferência de IA generativa em toda a organização.
- Inferência distribuída de LLMs: a inferência distribuída aloca uma solicitação de inferência complexa em vários servidores e dispositivos de edge. A partir disso, cada função trabalha em paralelo para criar uma saída, resultando em serviços de IA mais rápidos e escaláveis. O llm-d usa projetos da comunidade open source, como Envoy, vLLM e Kserve, para realizar a inferência distribuída.
- Projeto open source em parceria com a comunidade: as comunidades open source permitem que boas ideias surjam de qualquer lugar e aprimoram tecnologias para que todos possam usar. Este projeto open source se baseia em ideias de líderes do setor, como o Google, a IBM, a CoreWeave, a NVIDIA e a Red Hat.
Com esses componentes, as empresas podem adotar o llm-d de forma escalável em casos de uso de gen IA, sem se preocuparem com latência, complexidades ou custos altos.
Em que o llm-d se diferencia de outros métodos de processamento de LLMs?
Os prompts típicos dos modelos de IA seguem um padrão: eles costumam ser curtos e replicados. Por isso, cada prompt recebe o mesmo suporte e recursos, o que às vezes é chamado de balanceamento de carga "round-robin".
Os LLMs são diferentes das cargas de trabalho tradicionais. Eles executam longas fases de decodificação, dependem da reutilização de cache de prefixo e têm necessidades de computação e memória diferentes. É por isso que o balanceamento de carga típico do Kubernetes não atende às necessidades complexas dos LLMs.
Além disso, a maioria das organizações implementa LLMs com pouca transparência, limitando o controle sobre as cargas de trabalho de IA. Isso leva à subutilização de GPUs e latência, além de arquiteturas rígidas e difíceis de escalar. Sistemas genéricos de inferência baseados em LLMs podem ignorar a estrutura do prompt, a contagem de tokens e os estados do cache, levando ao desperdício de recursos.
Por exemplo, os prompts de Geração Aumentada de Recuperação (RAG) exigem um balanceamento de carga diferente dos prompts que dependem de pensamento ou raciocínio. Quando as cargas de trabalho ficam sobrecarregadas por diferentes prompts que exigem balanceamento de carga específico, o processo de inferência fica mais lento.
Pense assim: a padaria do seu bairro faz tortas excelentes. Ela produz tortas de maçã, nozes e limão diariamente, sem erros. Mas quando eles recebem encomendas de pães, brownies ou bolos de casamento, os padeiros não produzem com a mesma eficiência, e acabam atendendo a menos pedidos e deixando algumas tarefas de lado. O que sua padaria precisa é de um mestre padeiro que possa delegar tarefas para atender aos pedidos tanto de produtos mais complexos quanto das tortas do dia a dia. O mestre padeiro consegue orquestrar o complexo planejamento de tarefas para entregar os pedidos, sejam tortas ou outros itens, da maneira mais eficiente possível.
Quando se trata da configuração da sua tecnologia de IA, o llm-d é o seu mestre padeiro.
Ele oferece uma plataforma de inferência de IA que reconhece o LLM, ou seja, está preparada para a alta variação nas características das solicitações de prompts do modelo O framework open source permite monitorar o desempenho previsivelmente, otimizar custos e atender às expectativas dos usuários. O llm-d transforma a inferência do LLM em uma arquitetura nativa do Kubernetes para ter um framework de inferência gerenciável, parecido com um microsserviço.
Quando a inferência em escala é complicada, o time to market aumenta e os casos de uso de IA generativa ficam mais difíceis de aplicar em toda a organização.
Benefícios do llm-d
O llm-d torna a escala de modelos desagregados mais acessível e ajuda as equipes a alcançar objetivos de IA mais ambiciosos em menos tempo e com menos recursos.
- Qualidade e desempenho do modelo: o llm-d usa ferramentas como balanceamento de carga inteligente para acelerar os tempos de resposta da inferência de LLM. O framework do llm-d elimina obstáculos típicos da inferência de LLM, como tokens de inferência repetitivos e interrupções causadas por caixas pretas. Remover esses gargalos melhora o desempenho do modelo e a produtividade dos desenvolvedores.
- Relação custo-benefício: a modularidade do llm-d permite que mais usuários acessem cargas de trabalho de IA ao mesmo tempo e obtenham resultados mais rapidamente. Isso ajuda engenheiros e desenvolvedores a obter o máximo dos modelos e a usar as GPUs com mais eficiência. Com mais acessibilidade e desempenho, as equipes podem realocar tempo e recursos para outras prioridades
- Controle: o llm-d usa serving desagregado, introduzindo um novo nível de flexibilidade para a inferência de LLM. Ao separar as diferentes fases de inferência (pré-processamento e decodificação), os elementos variáveis podem funcionar ao mesmo tempo e independentemente, acelerando a inferência.
Como a Red Hat pode ajudar
O Red Hat AI prioriza a ampliação do acesso à inferência de IA generativa em escala.
Nossa plataforma de IA utiliza o vLLM para atender às expectativas empresariais e à demandas de inferência cada vez mais complexas.
O Red Hat AI conta com o llm-d para ampliar o suporte a cargas de trabalho de IA empresariais em escala. Ao aproveitar as capacidades de orquestração comprovadas do Kubernetes, o llm-d integra recursos avançados de inferência à infraestrutura de IA empresarial existente.
Além de ser uma história de sucesso do open source, o llm-d se alinha à visão da Red Hat de executar qualquer modelo, em qualquer acelerador e em qualquer nuvem.
O que é llm-d e por que ele é necessário?
Estamos percebendo uma tendência significativa: mais organizações estão adotando a infraestrutura de Large Language Models (LLM) internamente.