Pular para o conteúdo principal

Inferência Distribuída do modelo DeepSeek no Raspberry Pi AI box & Industrial box

Introdução

Este wiki explica como implantar o modelo DeepSeek em múltiplos Raspberry Pi AI Boxs com distributed-llama. Neste wiki, usei um Raspberry Pi com 8GB de RAM como nó raiz e três Raspberry Pis com 4GB de RAM como nós de trabalho para executar o modelo DeepSeek 8B. A velocidade de inferência atingiu 6,06 tokens por segundo.

Preparar Hardware

reComputer AI R2130reComputer AI Industrial R2145reComputer Industrial R20xxreComputer Industrial R21xx

Preparar software

atualizar o sistema:

Abra um terminal com Ctrl+Alt+T e insira o comando como abaixo:

sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
sudo apt update
sudo apt full-upgrade

Instale o ditributed llama no seu nó raiz e nos nós de trabalho

Abra um terminal com Ctrl+Alt+T e insira o comando como abaixo para instalar o distributed-llama:

git clone https://github.com/b4rtaz/distributed-llama.git
cd distributed-llama
make dllama
make dllama-api

Execute no seu nó de trabalho

Em seguida, insira o comando como abaixo para fazer os nós de trabalho funcionarem:

cd distributed-llama
sudo nice -n -20 ./dllama worker --port 9998 --nthreads 4

Execute no seu nó raiz

Criar e ativar o ambiente virtual python

cd distributed-llama
python -m venv .env
source .env/bin/acitvate

Instalar biblioteca necessária

pip install numpy==1.23.5
pip install tourch=2.0.1
pip install safetensors==0.4.2
pip install sentencepiece==0.1.99
pip install transformers

Instalar modelo deepseek 8b q40

git lfs install
git clone https://huggingface.co/b4rtaz/Llama-3_1-8B-Q40-Instruct-Distributed-Llama

Executar inferência distribuída no nó raiz

Note: --workers 10.0.0.139:9998 10.0.0.175:9998 10.0.0.124:9998 is the IP of the workers.

cd ..
./dllama chat --model ./Llama-3_1-8B-Q40-Instruct-Distributed-Llama/dllama_model_deepseek-r1-distill-llama-8b_q40.m --tokenizer ./Llama-3_1-8B-Q40-Instruct-Distributed-Llama/dllama_tokenizer_deepseek-r1-distill-llama-8b.t --buffer-float-type q80 --prompt "What is 5 plus 9 minus 3?" --nthreads 4 --max-seq-len 2048 --workers 10.0.0.139:9998 10.0.0.175:9998 10.0.0.124:9998 --steps 256

Note: If you want to test the inference speed, please use the following command.

cd ..
./dllama inference --model ./model/dllama_model_deepseek-r1-distill-llama-8b_q40.m --tokenizer ./model/dllama_tokenizer_deepseek-r1-distill-llama-8b.t --buffer-float-type q80 --prompt "What is 5 plus 9 minus 3?" --nthreads 4 --max-seq-len 2048 --workers 10.0.0.139:9998 10.0.0.175:9998 10.0.0.124:9998 --steps 256

Resultado

A seguir está a inferência do modelo DeepSeek Llama 8b usando 4 Raspberry Pi.

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...