Qual é a diferença entre o vLLM e o Ollama?
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.
O que é vLLM?
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.
Quatro considerações importantes sobre a implementação da tecnologia de IA
O que é o Ollama?
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.
Quais funcionalidades o vLLM e o Ollama têm em comum?
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.
Quando escolher o vLLM
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) e 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.
Quando escolher o Ollama
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.
Diferenças entre o uso do vLLM e do Ollama para inferência
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.
Como a Red Hat pode ajudar
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.
Artificial Intelligence (AI)
See how our platforms free customers to run AI workloads and models anywhere