vLLM e Ollama: quando usar cada framework

Copiar URL

Na hora de integrar Large Language Models (LLMs) em aplicações de IA, o vLLM é a melhor opção para produção de alto desempenho, enquanto o Ollama é ideal para o desenvolvimento local. Cada ferramenta atende a um extremo diferente do espectro da implantação de LLMs: o vLLM é indicado para configurações empresariais, enquanto o Ollama funciona melhor em projetos menores. 

Para entender melhor a diferença entre eles, pense no Ollama como um carro esportivo e no vLLM como um trem-bala. O Ollama permite andar em alta velocidade, mas não consegue levar muitas pessoas. Por outro lado, o vLLM oferece velocidade e capacidade para várias pessoas de uma vez. 

A escolha entre vLLM e Ollama depende da sua experiência como desenvolvedor e do escopo e tamanho do projeto. Para desenvolvedores fazendo experimentos locais, o Ollama é um excelente ponto de partida. Para equipes que avançam para produção em larga escala, o vLLM fornece a base necessária para executar LLMs de forma confiável e eficiente.

Ollama ou vLLM? Como escolher a ferramenta de serving correta 

O vLLM é uma biblioteca de códigos open source que ajuda os LLMs a fazer cálculos em grande escala com mais eficiência e rapidez. O principal objetivo do vLLM é obter a maior taxa de processamento (tokens por segundo) para atender a vários usuários simultaneamente. 

O vLLM inclui um servidor de inferência, que gerencia o tráfego de rede, e um mecanismo de inferência, que otimiza a velocidade de processamento: 

  • O servidor de inferência gerencia a fila de usuários aguardando o serviço e processa o tráfego de rede externo. A função do servidor de inferência não é realizar processamento intensivo, mas sim gerenciar o protocolo de comunicação responsável por receber e enviar dados do sistema.
  • O mecanismo de inferência acelera a geração de tokens, otimizando o uso da unidade de processamento gráfico (GPU). Ele aumenta a velocidade de processamento ao aplicar algoritmos como o PagedAttention para gerenciar o cache de chave-valor (KV) e realizar o processamento contínuo em lotes para otimizar o agendamento das requisições.

Os dois componentes têm a função de garantir baixa latência, isto é, reduzir o intervalo entre o envio da solicitação pelo usuário e a entrega da resposta. O servidor de inferência é projetado para evitar o aumento desnecessário da latência. Para isso, ele aceita as solicitações, as encaminha para o mecanismo de inferência e retorna as respostas pela rede o mais rápido possível. O mecanismo de inferência é responsável por reduzir ativamente a latência, organizando o processamento da GPU. Ao acelerar o processamento dessa forma, o vLLM consegue atender a centenas de usuários simultaneamente em uma única instância. 

O vLLM permite que as organizações façam mais com menos em um mercado em que o hardware necessário para aplicações baseadas em LLM custa caro. Ele suporta alto volume de tráfego e foi projetado para cenários em larga escala. Isso o torna ideal para implantações com vários usuários que exigem baixa latência. O vLLM tem um desempenho superior ao Ollama quando se trata de atender a várias solicitações simultaneamente. 

Leia mais sobre o vLLM

Quatro considerações importantes sobre a implementação da tecnologia de IA

O Ollama é uma ferramenta open source que permite executar LLMs localmente com privacidade. Com ela, é possível baixar, atualizar e gerenciar um LLM usando um notebook, sem enviar informações privadas para a nuvem. 

O Ollama deriva do projeto llama.cpp, uma biblioteca open source que realiza inferência em vários LLMs. O Ollama automatiza etapas complexas de compilação, configuração e gerenciamento dos componentes subjacentes, poupando o usuário final dessas complexidades. 

Desenvolvido para oferecer simplicidade, o Ollama exige pouca configuração e, em geral, é considerado intuitivo e bom para iniciantes. Desenvolvedores experientes podem usar o Ollama para testar diferentes LLMs e criar protótipos rapidamente.

O vLLM e o Ollama são frameworks de serving que permitem aos desenvolvedores usar LLMs na criação de aplicações de IA. Um framework de serving de LLMs é um componente de software que executa a inferência dentro da arquitetura da aplicação. 

Embora atendam a diferentes tipos de usuários, o vLLM e o Ollama têm várias características importantes em comum:

  • São ferramentas open source.
  • Incluem um servidor de inferência.
  • Permitem que os usuários executem LLMs no próprio hardware, sem depender de APIs de terceiros.
  • Foram projetados para otimizar o uso do hardware disponível e aumentar a velocidade de inferência.
  • São compatíveis com modelos multimodais, ou seja, processam mais do que textos.
  • Oferecem suporte a Geração Aumentada de Recuperação (RAG), técnica que permite aos desenvolvedores complementar os dados existentes em um LLM com informações ou dados externos de sua escolha. 

As funcionalidades avançadas do vLLM exigem maior conhecimento técnico. Por isso, ele é mais recomendado para desenvolvedores experientes. O vLLM tem uma curva de aprendizado consideravelmente maior que o Ollama. 

Por exemplo, o vLLM processa modelos de todos os tamanhos, inclusive com bilhões de parâmetros. Para aproveitar ao máximo a tecnologia, é preciso compreender os principais conceitos utilizados, como o de inferência distribuída

Também é possível realizar ajustes finos para casos de uso específicos. Para obter o melhor desempenho, os desenvolvedores devem conhecer métodos como ajuste fino de parâmetros com eficiência (PEFT)LoRA/QLoRA.

Resumindo, o vLLM é voltado a desenvolvedores que precisam extrair o máximo desempenho de seus servidores e implantar aplicações confiáveis e escaláveis. Lembra da analogia do trem-bala? O vLLM é ideal para atender a vários usuários em um curto período. 

O Ollama permite baixar e executar LLMs em computadores pessoais, além de oferecer uma maneira simples de testar modelos de IA. No entanto, o objetivo principal do Ollama é a acessibilidade, e não a escalabilidade. Se os usuários fizerem mais solicitações, deverão aguardar na fila. Por esse motivo, os desenvolvedores escolhem o Ollama quando buscam conveniência e não precisam atender a muitos usuários. 

Por padrão, o Ollama opera offline. Ou seja, após fazer o download de um modelo, ele funciona sem conexão com a internet. O vLLM também oferece privacidade máxima, mas requer a configuração de um servidor privado ou de um ambiente de nuvem protegido. Essa etapa adicional requer mais expertise. 

Tanto o vLLM quanto o Ollama possuem um componente de servidor de inferência. Ambos recebem solicitações, desempacotam e enviam os dados para o mecanismo e empacotam a resposta para retorná-la à aplicação dos usuários finais. 

No entanto, apenas o vLLM é um mecanismo de inferência. Ou seja, ele otimiza a inferência de maneiras que o Ollama não consegue. Como mecanismo de inferência, o vLLM é melhor para gerenciar a memória e lidar com vários usuários ao mesmo tempo (concorrência):

Gerenciamento da memória: o vLLM usa o algoritmo PagedAttention para manipular a estrutura da memória da GPU. Ele libera espaço na GPU, possibilitando executar mais solicitações por vez. Isso permite uma alta concorrência. 

Concorrência: o vLLM usa o processamento contínuo em lotes para gerenciar o fluxo de dados e otimizar o uso da GPU, permitindo processar vários usuários/solicitações simultaneamente. 

Compare o desempenho do Ollama e do vLLM

O Red Hat® AI utiliza a inovação open source para enfrentar os desafios da IA em larga escala. O vLLM é uma ferramenta essencial nesse conjunto de soluções.

Com o Red Hat AI, você pode acessar o Red Hat AI Inference Server para otimizar a inferência de modelos na nuvem híbrida, assegurando implantações mais rápidas e econômicas. Com o vLLM, o servidor de inferência executa a GPU com eficiência e reduz os tempos de resposta.

O Red Hat AI Inference Server inclui o repositório do Red Hat AI, uma coleção de modelos otimizados e validados que oferece flexibilidade e promove a consistência entre equipes. Com acesso ao repositório de modelos de terceiros, as empresas conseguem reduzir o time to market e as barreiras financeiras para o sucesso da IA.  

Blog

Artificial Intelligence (AI)

See how our platforms free customers to run AI workloads and models anywhere

Aproveite a IA com a Red Hat: expertise, treinamento e suporte em todos os estágios da jornada de IA

Conheça o portfólio exclusivo de IA da Red Hat. O Red Hat AI ajuda você a atingir seus objetivos empresariais e de TI com a inteligência artificial (IA).

Leia mais

LLMs (Large Language Models): o que são e como funcionam?

LLMs são sistemas de IA treinados com volumes massivos de dados e técnicas de machine learning para compreender, gerar e traduzir textos de forma natural.

O que é inferência de IA?

A inferência de IA é quando um modelo de IA fornece uma resposta baseada em dados. É a etapa final de um processo complexo da tecnologia de machine learning.

O que são modelos fundamentais para IA?

Um modelo fundamental é um tipo de modelo de machine learning (aprendizado de máquina) treinado previamente para realizar diversas tarefas.

Inteligência artificial: conteúdo adicional

Produto em destaque

  • Red Hat AI

    Soluções flexíveis que aceleram o desenvolvimento e a implantação de aplicações de IA em ambientes de nuvem híbrida.

Artigos relacionados