O que é vLLM?
O vLLM, que significa modelo virtual de linguagem de larga escala, é uma biblioteca de código open source mantida pela comunidade de vLLM. Ele ajuda Large Language Models (LLMs) a fazer cálculos com mais eficiência e em grande escala.
O vLLM inclui um servidor de inferência (que gerencia o tráfego de rede) e um mecanismo de inferência (para maximizar a velocidade computacional). Ele funciona acelerando a saída de aplicações de IA generativa, usando melhor a memória da GPU com o algoritmo PagedAttention.
O objetivo geral do vLLM é maximizar a taxa de transferência (tokens processados por segundo) para atender a vários usuários de uma só vez.
Como o vLLM funciona?
Para compreender o valor dos vLLMs, é importante entender seu funcionamento básico e o que um servidor de inferência faz. A partir daí, podemos analisar melhor qual é o papel do vLLM na melhoria do desempenho dos modelos de linguagem existentes.
O que é um servidor de inferência?
Um servidor de inferência é um software que ajuda um modelo de IA a chegar a novas conclusões com base em treinamento prévio. Os servidores de inferência alimentam as solicitações de entrada usando um modelo de machine learning e retornam uma resposta.
Inferir é chegar a uma conclusão com base em evidências. Se você vê a luz da sala de um amigo acesa, mas não vê o amigo, você pode inferir que ele está em casa, mas não tem evidências absolutas para provar isso.
Um modelo de linguagem também não tem evidências absolutas sobre o significado de uma palavra ou frase (é apenas um software), por isso usa o treinamento como evidência. Em uma série de cálculos baseados em dados, é gerada uma conclusão. Por exemplo, quando você entende que o seu amigo não está em casa porque a luz está apagada.
LLMs usam matemática para chegar a conclusões
Quando um LLM é treinado, ele aprende por cálculos matemáticos. Quando um LLM gera uma resposta (inferência), ele realiza uma série de cálculos de probabilidade (mais matemática).
Para um LLM compreender o que você está solicitando, o modelo precisa entender como as palavras se relacionam e como fazer associações entre elas. Em vez de aprender sobre semântica e raciocinar usando palavras como os humanos fazem, os LLMs "raciocinam" com… Isso mesmo, matemática.
Quando um LLM responde a milhões de usuários por dia, ele faz uma infinidade de cálculos. Processar todos esses cálculos de uma vez enquanto uma aplicação está ativa pode ser um desafio. Tradicionalmente, o processamento envolvido na execução de um LLM pode consumir rapidamente uma parte significativa da memória.
A arquitetura de vLLM é sempre atualizada para continuar melhorando a eficiência de recursos em aspectos como memória e velocidade.
Red Hat AI
vLLM usa PagedAttention para processar cálculos com mais eficiência
O estudo de referência Efficient Memory Management for Large Language Model Serving with PagedAttention revelou que os atuais sistemas de gerenciamento de memória para LLMs não realizam os cálculos com a maior eficiência. PagedAttention é uma técnica de gerenciamento de memória apresentada pelo vLLM e inspirada na memória virtual e nos sistemas de paginação dos sistemas operacionais.
Essa pesquisa reconhece como o cache (memória de curto prazo de um LLM) de chave-valor (KV) aumenta e diminui durante o processamento e oferece o vLLM como uma solução para gerenciar o espaço e a capacidade computacional com mais estabilidade.
O vLLM funciona como um conjunto de instruções que incentiva o KV cache a criar atalhos com o processamento contínuo em lotes das respostas dos usuários.
Antes de seguirmos, vamos definir rapidamente KV cache e processamento contínuo em lotes.
O que é KV cache?
KV é a sigla em inglês para key value, ou "chave-valor". Chave-valor se refere à maneira como um LLM formula o significado de uma palavra ou frase. Imagine que você está processando a chave-valor de um item em um cardápio: as batatas fritas (chave) custam US$ 3,99 (valor). Então, quando o atendente registra um pedido de batatas fritas, o "valor" computado para essa "chave" é US$ 3,99. Os LLMs processam KVs da mesma forma, já que mantêm o valor correspondente de cada chave (ou token) em cache.
Cache se refere a um armazenamento de memória de curto prazo. Pense no seu computador: quando ele está lento, uma prática comum é a de "limpar o cache" para agilizar o processamento.
O que é processamento contínuo em lotes?
O processamento contínuo em lotes é uma técnica usada para processar várias consultas ao mesmo tempo com o objetivo de melhorar a eficiência geral do processamento.
Considere o seguinte: um chatbot recebe milhares de consultas por minuto, e muitas delas são perguntas semelhantes, como "qual é a capital da Índia?" e "qual é a capital da Irlanda?". As duas consultas incluem as palavras "qual é a capital da", que é uma sequência de tokens (palavras) em que o LLM precisa se basear para fazer vários cálculos e gerar um significado.
Com o vLLM, o chatbot pode armazenar essa sequência de tokens ("qual é a capital da") em uma memória de curto prazo (KV cache) e enviar apenas uma "solicitação de tradução" em vez de duas.
Em outras palavras, em vez de gerar uma resposta totalmente nova, os vLLMs permitem que o KV cache guarde a memória e crie atalhos para novas consultas parecidas com cálculos já computados. Processar os cálculos de consultas semelhantes em lote, em vez de individualmente, melhora o rendimento e otimiza a alocação da memória.
O vLLM pode ajudar a otimizar a memória e expandir a capacidade de token para lotes maiores e longas tarefas de contextos específicos.
Como o vLLM pode ajudar sua organização?
O vLLM permite que as organizações "façam mais com menos" em um mercado onde o hardware necessário para aplicações baseadas em LLM custa caro.
Desenvolver serviços de LLM econômicos e confiáveis exige capacidade computacional significativa, recursos energéticos e habilidades operacionais especializadas. Esses desafios acabam inviabilizando para muitas organizações os benefícios de uma IA com foco na segurança, pronta para implantação e personalizada.
O vLLM e o PagedAttention, algoritmo em que é baseado, têm como objetivo enfrentar esses desafios usando com mais eficiência o hardware necessário para executar cargas de trabalho de IA.
Benefícios do vLLM
Usar o vLLM como servidor de inferência para LLMs gera benefícios como:
Respostas mais rápidas: segundo alguns cálculos, o vLLM tem rendimento (quantidade de dados que um LLM consegue processar) até 24 vezes maior em comparação com a popular biblioteca open source Hugging Face Transformers.
Redução nos custos de hardware: o uso mais eficiente dos recursos significa que menos GPUs são necessárias para lidar com o processamento de LLMs. Para organizações que trabalham com LLMs muito grandes (com centenas de bilhões de parâmetros), o vLLM pode ajudar a manter a eficiência. Especificamente, o vLLM pode ser usado com técnicas como inferência distribuída para aproveitar ao máximo o hardware existente e reduzir os custos.
Escalabilidade: os vLLMs organizam a memória virtual para a GPU lidar com mais solicitações simultâneas dos usuários. Isso é especialmente importante para aplicações de Agentic AI, que precisam processar várias solicitações simultâneas para concluir uma única tarefa de várias etapas.
Privacidade de dados: auto-hospedar um LLM com vLLM oferece mais controle sobre a privacidade e o uso dos dados do que um serviço ou aplicação de LLM de terceiros, como o ChatGPT.
Inovação open source: o envolvimento da comunidade na manutenção e no desenvolvimento contínuo do vLLM permite melhorias constantes no código. A transparência sobre como os usuários podem acessar e modificar o código oferece liberdade para os desenvolvedores utilizarem o vLLM como melhor atender às suas necessidades.
Por que o vLLM está se tornando um padrão de aprimoramento do desempenho dos LLMs?
O PagedAttention é o principal algoritmo originado do vLLM. No entanto, ele não é o único recurso que o vLLM oferece. Outras otimizações de desempenho que o vLLM pode proporcionar são:
- PyTorch Compile/CUDA Graph: otimiza a memória da GPU.
- Quantização: reduz o espaço de memória necessário para executar modelos.
- Paralelismo de tensores: divide o trabalho de processamento entre várias GPUs.
- Decodificação especulativa: acelera a geração de texto usando um modelo menor para prever tokens e um maior para validar a previsão.
- Flash Attention: melhora a eficiência dos modelos de transformadores.
Além dos recursos de otimização que o vLLM oferece, sua flexibilidade também o ajudou a se tornar popular. O vLLM funciona com pequenos e grandes modelos de linguagem e se integra a modelos e frameworks amplamente utilizados. Por fim, a natureza open source do vLLM permite transparência de código, personalização e correções de bugs mais rápidas.
vLLM e llm-d
O llm-d é um framework open source que integra e aproveita o poder do vLLM. É como uma receita para realizar inferência distribuída, criado para atender às crescentes demandas de recursos de LLMs.
Pense assim: se o vLLM ajuda na velocidade, o llm-d ajuda na coordenação. O vLLM e o llm-d trabalham juntos e com inteligência para rotear o tráfego pelo modelo e tornar o processamento o mais rápido e eficiente possível.
Gerencie sua IA do jeito open source
O portfólio do Red Hat® AI usa a inovação open source para enfrentar os desafios da IA empresarial em grande escala, e o vLLM é uma ferramenta essencial no nosso conjunto de soluções.
Com o Red Hat AI, você tem acesso ao Red Hat® AI Inference Server para otimizar a inferência de modelos na nuvem híbrida, garantindo implantações mais rápidas e econômicas. Com a tecnologia vLLM, o servidor de inferência maximiza a utilização da GPU e reduz os tempos de resposta.
Descubra mais sobre o Red Hat AI Inference Server
O Red Hat AI Inference Server inclui o repositório do Red Hat AI, uma coleção de modelos otimizados e validados por terceiros, que oferece flexibilidade e promove a consistência entre equipes. Com acesso ao repositório de modelos de terceiros, as empresas conseguem acelerar o time to market e reduzir as barreiras financeiras para o sucesso da IA.
Aproveite nosso repositório no Hugging Face
Mais informações sobre os modelos validados pelo Red Hat AI
O Red Hat AI é baseado em tecnologias open source e em um ecossistema de parceiros que priorizam desempenho, estabilidade e compatibilidade com GPUs em diversas infraestruturas.
Introdução à IA empresarial: um guia para iniciantes
Leia este guia para iniciantes e descubra como o Red Hat OpenShift AI e o Red Hat Enterprise Linux AI podem ajudar a acelerar sua jornada de adoção da inteligência artificial.