Skip to content
Todo o Lab

Projeto independente

Uma pipeline de IA self-hosted e distribuída

Uma carga de trabalho exigente de IA e multimédia distribuída por quatro máquinas díspares que eu já tinha, sem nada sair da rede e sem contador a correr.

Notas de campo

Queria saber quanto trabalho de IA genuinamente pesado conseguia correr em hardware que já tinha, sem nada sair da minha rede e sem contador a correr.

Atlantic Forge

O bichinho

Sempre que experimentava IA alojada, havia duas coisas que me incomodavam. Havia um contador a correr em cada pedido, e os meus dados tinham de viajar até aos servidores de outra pessoa para trazerem uma resposta de volta. Queria descobrir quanto trabalho pesado, grandes modelos de linguagem, tradução e rendering multimédia, conseguia correr em máquinas que já tinha, sem nada sair da minha rede.

A decisão

A jogada óbvia era comprar uma máquina potente e correr tudo nela. Fui pelo caminho contrário, com as quatro máquinas muito diferentes que tinha à mão: um Raspberry Pi 5, um Mac Mini M4, um Mac Mini M4 Pro e um desktop com uma GPU grande. Em vez de forçar o trabalho para uma só caixa, olhei para aquilo em que cada uma era realmente boa. O Pi 5 fica na edge como nó de sensores, sempre ligado e a gastar uns escassos watts. O Mini M4 tornou-se o burro de carga dos serviços e dos dados: a base de dados, o message broker, as APIs e os dashboards. O Mini M4 Pro, com muito mais memória, ganhou o papel de cérebro, a correr os modelos de linguagem no seu próprio silício. O desktop, com a sua GPU, só acorda quando há rendering pesado para fazer.

A segunda decisão importou mais: uma regra estrita de que nenhuma fase fala diretamente com outra. Tudo passa por uma base de dados e por um message broker. Na altura pareceu cerimónia a mais. É também a única razão pela qual o sistema encolhe os ombros quando uma máquina fica offline a meio de um trabalho, em vez de ir abaixo.

A primeira vez que um nó morreu a meio de uma execução e o trabalho simplesmente continuou, a cerimónia pagou-se a si própria.

Como funciona

Oito fases, distribuídas pelas máquinas numa mesh privada Tailscale. O Mini M4 corre o PostgreSQL, o broker e os workers que distribuem o trabalho, além das APIs e dos dashboards. O Mini M4 Pro corre os modelos de linguagem através do Ollama. O desktop acorda a pedido para rendering acelerado por GPU, e o Pi 5 alimenta o sistema com as leituras dos seus sensores na edge. Como o estado vive na base de dados e na fila, e não em nenhum processo em particular, cada passo pode ser repetido de forma independente, e a pipeline continua a andar mesmo que um nó caia.

O que aprendi

  • Dividir o trabalho por aquilo em que cada máquina é boa venceu comprar uma caixa grande, em custo e em resiliência.
  • A troca de mensagens, em vez de chamadas diretas, foi o que transformou quatro máquinas separadas num único sistema.
  • Os modelos locais estão à altura de cargas de trabalho reais, sem custo por token e sem dados a sair de casa.
  • Este lab é agora a prova permanente por trás do trabalho de IA on-premise que vendemos: o mesmo padrão, robustecido.