O que é vLLM?

Copiar URL

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. 

Conheça o Red Hat AI

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.

Acompanhe o vLLM Office Hours para saber o que vem por aí

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.

Mais informações sobre inferência de IA

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.

Veja como a IA funciona em um contexto empresarial 

Red Hat AI

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.

O que são Modelos como Serviç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. 

Descubra como implantar o Llama com vLLM

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. 

Saiba como o vLLM dá suporte à inferência na comunidade open source

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. 

Mais informações sobre o llm-d

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.

Confira nosso ecossistema de parceiros

Recurso

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.

Red Hat AI

O Red Hat AI oferece opções flexíveis e econômicas que aceleram o desenvolvimento e a implantação de soluções de IA em ambientes de nuvem híbrida.

Leia mais

O que é inferência distribuída?

A inferência distribuída permite que modelos de IA processem cargas de trabalho de forma mais eficiente, dividindo a execução da inferência entre um conjunto de dispositivos interconectados.

O que é Model Context Protocol (MCP)?

Descubra como o Model Context Protocol (MCP) conecta aplicações de IA a fontes de dados externas para ajudar a criar fluxos de trabalho mais inteligentes.

Tudo sobre a AIOps

AIOps, sigla em inglês que significa IA para operações de TI, é uma abordagem que usa machine learning e outras técnicas avançadas de IA para automatizar operações de TI.

Inteligência artificial: conteúdo adicional

Produto em destaque

  • Red Hat OpenShift AI

    Uma plataforma de inteligência artificial (IA) que fornece ferramentas para desenvolver, treinar, servir e monitorar rapidamente modelos e aplicações habilitadas para IA.