Plataforma open source e cliente Python que reúne a capacidade ociosa de GPUs e CPUs de várias máquinas em um único plano de controle para executar workloads de IA.
b4rtaz/distributed-llama
Ferramenta em C++ que distribui a inferência de LLM entre dispositivos domésticos conectados por Ethernet para acelerar a geração.
- Estrelas
- 3,115
- Forks
- 258
- Issues abertas
- 48
- Último commit
- há 11 dias
O que é?
Distributed Llama conecta vários computadores comuns, como dispositivos domésticos ou placas Raspberry Pi, em um cluster para executar modelos de linguagem grandes. Um nó raiz carrega o modelo e os pesos, envia a cada worker sua parte da rede e sincroniza o estado, enquanto os nós worker processam suas próprias partes. O paralelismo de tensores e a sincronização de alta velocidade via Ethernet permitem que a adição de dispositivos aumente a velocidade da inferência.
O projeto funciona em Linux, macOS e Windows, com otimizações para CPUs ARM e x86_64 com AVX2. Ele oferece uma configuração com um único comando que baixa modelos compatíveis de Llama, DeepSeek R1 Distill e Qwen 3 em quantização Q40, além de incluir um conversor para modelos do Hugging Face. Há comandos para fazer benchmark da inferência, usar um chat via CLI, executar um worker e iniciar um servidor de API.
O tamanho do cluster é limitado a 2^n nós, e o número máximo de nós depende da quantidade de cabeças KV do modelo. Para quantização, são compatíveis apenas q40 com tipo de buffer q80 e f32 com tipo de buffer f32. Os caminhos experimentais com Vulkan e GPU estão documentados separadamente.
Recursos principais
- 01Distribui a computação do modelo entre vários dispositivos usando paralelismo de tensores.
- 02Sincroniza os nós por meio de Ethernet padrão.
- 03Funciona em Linux, macOS e Windows, com otimizações para ARM e x86_64 com AVX2.
- 04Oferece chat via CLI, benchmark de inferência, modo worker e servidor de API.
- 05Oferece configuração com um único comando para vários modelos Llama, DeepSeek e Qwen 3.
Casos de uso
- Executar um modelo Llama da classe 70B em vários computadores domésticos ou mini PCs.
- Experimentar a inferência de LLM em clusters de Raspberry Pi.
- Disponibilizar uma API local no estilo OpenAI a partir de um pequeno grupo de máquinas em uma LAN.
Início rápido
- 1
Instale o Python 3 e um compilador C++ e, em seguida, clone o repositório
- 2
Configure o nó raiz com um único comando (baixa o modelo e o tokenizador)
python launch.py llama3_2_1b_instruct_q40
Antes de usar
- A quantidade de nós deve ser 1, 2, 4 ou 2^n, e o máximo é a quantidade de cabeças KV do modelo.
- São compatíveis apenas modelos q40 com tipo de buffer q80 e modelos f32 com tipo de buffer f32.
- O suporte a Vulkan é experimental.
Em coleções
Tópicos
Perguntas frequentes
- O que é distributed-llama?
- Ferramenta em C++ que distribui a inferência de LLM entre dispositivos domésticos conectados por Ethernet para acelerar a geração. Distributed Llama conecta vários computadores comuns, como dispositivos domésticos ou placas Raspberry Pi, em um cluster para executar modelos de linguagem grandes. Um nó raiz carrega o modelo e os pesos, envia a cada worker sua parte da rede e sincroniza o estado, enquanto os nós worker processam suas próprias partes. O paralelismo de tensores e a sincronização de alta velocidade via Ethernet permitem que a adição de dispositivos aumente a velocidade da inferência.
- distributed-llama é gratuito? Qual é a licença?
- distributed-llama é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- distributed-llama ainda é mantido?
- Manutenção ativa. O último commit de distributed-llama foi em 14 de out. de 2026.
- Para que posso usar distributed-llama?
- Executar um modelo Llama da classe 70B em vários computadores domésticos ou mini PCs. Experimentar a inferência de LLM em clusters de Raspberry Pi. Disponibilizar uma API local no estilo OpenAI a partir de um pequeno grupo de máquinas em uma LAN.
- Como instalar distributed-llama?
- Instale o Python 3 e um compilador C++ e, em seguida, clone o repositório Configure o nó raiz com um único comando (baixa o modelo e o tokenizador): python launch.py llama3_2_1b_instruct_q40
- Onde consigo distributed-llama?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/b4rtaz/distributed-llama
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um mecanismo de alto desempenho e fácil de usar para inferência e serving de LLMs, com um servidor de API compatível com OpenAI.
Receita para servir o DeepSeek-V4.1-Flash-1017 (EXL3 2.9 bpw) em dois NVIDIA DGX Sparks como uma API compatível com OpenAI, com janela de 1 milhão de tokens.
Registro de execução e benchmark do DeepSeek-V4.1-Flash (552B MoE) em quatro NVIDIA DGX Spark, usando TensorFold e vLLM, com scripts de inicialização e resultados medidos.
Binding de React Native para llama.cpp, que permite executar LLMs GGUF no dispositivo em apps para iOS e Android.
Toolkit de código aberto para otimizar e implantar modelos de deep learning para inferência em CPUs, GPUs e NPUs Intel.