Execute a sua própria IA com o Ollama: o que esperar num CPU
O Ollama é uma ferramenta que executa modelos de IA abertos no seu próprio servidor. Os servidores da Seturack não têm placa gráfica (GPU), por isso os modelos correm no CPU. Isto significa que os modelos pequenos (1 a 4 mil milhões de parâmetros) são utilizáveis para conversa e tarefas curtas, os de 7 a 8 mil milhões de parâmetros funcionam mas devagar, e os maiores não são práticos. O tamanho do ficheiro de um modelo é o limite inferior da RAM que deve reservar para ele.
Os comentários sobre velocidade neste artigo vêm da experiência geral, e não de medições em servidores da Seturack. Os tamanhos dos modelos vêm da biblioteca do próprio Ollama.
O modelo tem de caber na RAM
| Modelo | Parâmetros | Tamanho do ficheiro |
|---|---|---|
llama3.2:1b | 1 mil milhões | 1,3 GB |
llama3.2:3b | 3 mil milhões | 2,0 GB |
gemma3:4b | 4 mil milhões | 3,4 GB |
qwen2.5:7b | 7 mil milhões | 4,7 GB |
llama3.1:8b | 8 mil milhões | 4,9 GB |
gemma3:12b | 12 mil milhões | 8,2 GB |
qwen2.5:14b | 14 mil milhões | 9,0 GB |
qwen2.5:32b | 32 mil milhões | 20 GB |
O tamanho do ficheiro aproxima-se da parte do modelo que é carregada na memória. A isso somam-se a memória de contexto, que depende da duração da conversa, o consumo do próprio Ollama e o sistema operativo. Por isso, RAM igual ao tamanho do ficheiro não chega, e convém deixar folga. Não há um multiplicador exato, mas medir é fácil: execute free -h depois de o modelo estar carregado. A biblioteca é atualizada constantemente, por isso consulte a biblioteca de modelos do Ollama para ver a lista atual.
Que tamanho de servidor?
| Grupo de modelos | RAM inicial razoável |
|---|---|
| 1 a 3 mil milhões de parâmetros | 4 GB |
| 7 a 8 mil milhões de parâmetros | 8 GB |
| 12 a 14 mil milhões de parâmetros | 16 GB |
| 32 mil milhões de parâmetros | 24 a 32 GB, ainda muito lento num CPU |
Esta tabela é uma regra prática obtida somando folga aos tamanhos de ficheiro acima. Não é uma recomendação oficial. Se a RAM se esgotar, o sistema passa a usar o disco como memória (swap) e a velocidade cai a pique, ou o processo é terminado. Antes de experimentar um modelo grande, é mais seguro aumentar primeiro o servidor.
O que esperar num CPU
- A geração de texto é limitada em grande parte pela largura de banda da memória. Quanto maior o modelo, mais lenta é a resposta a chegar.
- Comparado com uma placa gráfica, um CPU é bastante mais lento. A resposta pode chegar mais devagar do que a lê.
- Processar um texto longo aumenta a espera pela primeira resposta. No primeiro pedido, o modelo é carregado do disco para a memória, por isso a resposta chega ainda mais tarde.
- Vários utilizadores ao mesmo tempo repartem a velocidade entre si.
O que funciona bem: resumos curtos, classificação, rascunhos de e-mail, um assistente pessoal, experiências e desenvolvimento, pequenas automatizações. O que tem dificuldades: um serviço em direto para muitos utilizadores, modelos grandes, respostas em tempo real, geração intensiva de código.
Instalação (Ubuntu)
- Execute o script de instalação oficial de uma linha:
curl -fsSL https://ollama.com/install.sh | shÉ boa prática transferir e ler primeiro o script. - Comece com um modelo pequeno:
ollama run llama3.2:3b - Veja onde o modelo está a correr:
ollama psSe a coluna Processor disser apenas CPU, o modelo está inteiramente na memória do sistema. - Vigie o espaço em disco. No Linux, os modelos ficam em
/usr/share/ollama/.ollama/modelse cada um ocupa gigabytes. Useollama listpara os listar eollama rmpara apagar um.
Se preferir o Docker, o comando oficial é docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama. Sugerimos ligar a porta apenas ao endereço local: -p 127.0.0.1:11434:11434.
Que modelo escolher?
Comece com um modelo de 3 mil milhões de parâmetros e experimente-o no seu trabalho. Os modelos pequenos costumam ser mais fracos em turco do que em inglês, por isso teste-os com os seus próprios textos. Se as respostas ficarem aquém, suba um tamanho e confirme com free -h que a RAM chega.
Os tamanhos da tabela são para as etiquetas predefinidas da biblioteca. Os modelos costumam vir comprimidos (quantizados) para cerca de 4 bits. Com precisão de 16 bits, 8 mil milhões de parâmetros ocupam cerca de 16 GB, e a compressão reduz isso para cerca de 5 GB, como na tabela. Em troca, perde-se uma pequena parte da qualidade.
Usar a partir de aplicações
O Ollama expõe uma API local. A partir de dentro do servidor pode experimentá-la assim:
curl http://127.0.0.1:11434/api/generate -d '{"model":"llama3.2:3b","prompt":"Hello, introduce yourself.","stream":false}'
A resposta vem em JSON. As ferramentas de automatização e as suas próprias aplicações podem ligar-se à mesma API.
Gerir a memória
- Por predefinição, o Ollama mantém um modelo em memória durante 5 minutos após o último pedido. É normal que a RAM pareça cheia nesse período. O
ollama stop MODEL_NAMEdescarrega o modelo de imediato. - O
OLLAMA_MAX_LOADED_MODELSlimita quantos modelos podem ficar carregados ao mesmo tempo. Num CPU, o valor predefinido é 3. Se a RAM estiver justa, defina-o como 1, senão chamar modelos diferentes um a seguir ao outro deixa-os todos em memória. - O
OLLAMA_NUM_PARALLELé o número de pedidos em paralelo por modelo e, por predefinição, é 1. Quanto mais o aumentar, mais RAM precisa.
Segurança
- Por predefinição, o Ollama escuta apenas na porta 11434 de
127.0.0.1. Se o abrir comOLLAMA_HOST, qualquer pessoa que saiba o endereço pode usar o seu modelo, porque a API não tem, por predefinição, um passo de autenticação. Não a exponha. - Um túnel SSH basta para uso remoto:
ssh -L 11434:127.0.0.1:11434 user@SERVER_IP - O Docker ignora as regras do ufw nas portas que publica. É por isso que se liga a porta apenas ao endereço local, como acima.
- Para conversar a partir de um navegador, pode instalar uma interface como o Open WebUI. Execute-a atrás de HTTPS e proteja-a com contas de utilizador.
Dados e licenças
Quando executa um modelo no seu próprio servidor, as suas conversas ficam no seu servidor. O Ollama também oferece modelos que correm na cloud. Esses não correm no seu servidor e ficam fora do âmbito deste artigo. Cada modelo tem a sua própria licença, por isso leia a licença na página do modelo antes de o usar comercialmente.
Aumentar o servidor
As necessidades de RAM mudam à medida que muda de modelo. Se começar com um modelo de 3 mil milhões de parâmetros e passar para um de 8 mil milhões, aumente o servidor no painel. Aumentar não apaga o servidor, e o seu endereço IP e os dados mantêm-se. Quando reduz, o disco não encolhe, e como os modelos podem encher um disco, tenha também o disco em conta.
Pode calcular o seu preço na página de preços.
Pronto a usar na Seturack: Ollama, AnythingLLM, Qdrant.
Comentários0
Ainda não existem comentários
Seja a primeira pessoa a partilhar a sua opinião.
Inicie sessão ou crie uma conta para deixar um comentário.