A maioria dos desenvolvedores e entusiastas de hardware possui algum smartphone antigo esquecido em uma gaveta. Celulares topo de linha de gerações passadas (como os equipados com Snapdragon 845 ou Snapdragon 870) possuem:

  • 6GB a 8GB de memória LPDDR4X rápida;
  • SoCs Octa-Core de 64 bits com excelente eficiência por Watt;
  • Armazenamento flash UFS veloz;
  • Uma bateria integrada (UPS/No-break nativo) que impede o desligamento súbito em caso de queda de energia.

Enquanto rodar ferramentas no Android via Termux frequentemente sofre com o OOM killer agressivo do sistema operacional móvel, instalar uma distribuição Linux real como o postmarketOS (baseado no Alpine Linux) transforma o celular em um micro-servidor bare-metal de baixo consumo.

Neste artigo, veremos como configurar um nó de inferência de IA local (Edge AI) rodando Ollama e Small Language Models (SLMs) diretamente no hardware ARM64.

1. Por que postmarketOS em vez de Android/Termux?

Aspecto Android + Termux postmarketOS (Alpine Linux)
Kernel Kernel customizado do fabricante (antigo) Kernel Linux mainline upstream
Overhead de RAM ~2.5GB consumidos pela JVM e serviços Android Menos de 200MB de RAM em idle
Gerenciamento de Processos Android suspende daemons em background systemd / OpenRC padrão de servidor
Acesso a Pacotes Repositórios limitados do Termux Repositórios completos Alpine ARM64 (apk)

2. Preparando o Ambiente Headless

Após flashear o postmarketOS no dispositivo (ex: Xiaomi Pocophone F1, OnePlus 6, etc.), o primeiro passo para maximizar a memória disponível para os modelos de IA é desativar a interface gráfica (Phosh ou Plasma Mobile) e mascarar a suspensão profunda:

# Conectado via SSH no aparelho # 1. Desativar suspensão para não derrubar a conexão de rede sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target # 2. Desativar interface gráfica no boot (modo servidor puro) sudo systemctl set-default multi-user.target 

Após reiniciar, o sistema consumirá míseros 150MB a 200MB de RAM, deixando mais de 5.5GB livres para carregar pesos de modelos de linguagem diretamente na memória unificada do SoC.

3. Instalando o Ollama no ARM64

O Ollama possui compilações oficiais compatíveis com a arquitetura aarch64. A instalação pode ser realizada via script oficial:

curl -fsSL https://ollama.com/install.sh | sh 

Para garantir que o serviço escute em todas as interfaces da sua rede local privada (ou na malha Tailscale), configure as variáveis de ambiente do serviço:

sudo systemctl edit ollama.service 

Insira:

[Service] Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_KEEP_ALIVE=24h" 

Reinicie o serviço:

sudo systemctl daemon-reload sudo systemctl restart ollama.service 

4. Escolha e Benchmark de Modelos SLM para Edge

Em chips como o Snapdragon 845/870, modelos de 1B a 3B de parâmetros quantizados em 4 bits (GGUF) oferecem um equilíbrio ideal entre velocidade e consumo de memória:

# Modelo ultra-rápido para código e raciocínio lógico (consome ~1.2GB de RAM) ollama pull qwen2.5-coder:1.5b # Modelo excelente para conversação e triagem de tarefas gerais (consome ~2.1GB de RAM) ollama pull llama3.2:3b 

Resultados de Performance (Snapdragon 845 / 6GB RAM):

  • Qwen 2.5 Coder 1.5B (Q4_K_M): ~12 a 15 tokens/segundo.
  • Llama 3.2 3B (Q4_K_M): ~7 a 9 tokens/segundo.
  • Consumo Energético: Menos de 3 Watts sob carga máxima de inferência.

Conclusão e Recursos

Reaproveitar hardware existente reduz lixo eletrônico e oferece uma infraestrutura de IA privada 24/7 sem custos recorrentes em nuvem. Com a bateria interna do smartphone, você ganha ainda tolerância total contra oscilações de energia elétrica.

Confira o guia aprofundado com comparação de hardware dedicado e mini PCs no meu blog:

👉 Artigo Completo no Fymax Sentinel

Você tem algum smartphone antigo encostado? Já considerou rodar serviços locais ou nós de rede nele? Deixe seu comentário!