اجرای Deepseek R1 به صورت محلی در Pi Raspberry

Deepseek R1 دنیای تولید AI را لرزاند ، و همه حتی از راه دور علاقه مند به هوش مصنوعی بودند که آن را امتحان کردند. این یک مدل عالی است ، IMO. همانطور که ممکن است بدانید ، من دوست دارم مدل های محلی را اجرا کنم ، و از آنجا که این یک مدل منبع باز است ، البته ، من مجبور شدم آن را امتحان کنم. در استودیوی MAC من و 4090 دستگاه عالی کار می کند.
اما آیا می تواند در این مورد اجرا شود؟ یک تمشک کوچک احمقانه؟
من چند ایمیل و پیام های خصوصی دریافت کردم که در مورد این موضوع سؤال کردم و مجبور شدم آن را امتحان کنم. در این آموزش ، ما چگونه می توانیم مدل های Deepseek R1 را در Raspberry Pi 5 اجرا کنیم و عملکرد آنها را ارزیابی کنیم. این که آیا شما می خواهید LLM ها را به صورت محلی اجرا کنید یا برخی از موارد Edge AI را بسازید ، این می تواند یک آموزش جالب برای امتحان کردن باشد.
اگر ترجیح می دهید در اینجا به صورت ویدیویی باشد:
https://www.youtube.com/watch؟v=8zeamfv_-z4
بنابراین بیایید شروع کنیم. این چیزی است که شما نیاز دارید:
پیش نیازهای
- سخت افزار:
- Raspberry Pi 5 (8 گیگابایت یا 16 گیگابایت رم توصیه می شود).
- کارت microSD با Raspberry Pi OS (64 بیتی) نصب شده است.
- منبع تغذیه پایدار و اتصال به اینترنت.
- نرم افزاری:
- آشنایی اساسی با OS Raspberry Pi و دستورات ترمینال.
- Docker (اختیاری ، برای برنامه های کانتینر).
این دستگاهی است که من آن را امتحان کردم:
مرحله 1: PI تمشک خود را پیکربندی کنید
دسک تاپ از راه دور (اختیاری)
برای ساده سازی تعامل GUI ، دسک تاپ از راه دور را فعال کنید:
sudo apt-get install xrdp -y
sudo systemctl start xrdp
sudo systemctl enable xrdp
PI را روی AUTO-LOGIN را روی GUI دسک تاپ تنظیم کنید.
در نوع
sudo raspi-config
و 1 گزینه سیستم را انتخاب کنید
سپس S5 Boot/Auto Login را انتخاب کنید
و B3 Desktop را انتخاب کنید (GUI دسک تاپ ، که به ورود کاربر نیاز دارد)
حال اگر می خواهید ، می توانید با استفاده از RDP از راه دور وارد دسک تاپ شوید و به یک دسک تاپ دسترسی پیدا کنید.
توجه: در Raspberry Pi من نتوانستم هیچ مرورگری را برای اجرای صحیح بدست آورم. آنها به صورت قابل خواندن نمایش نمی دهند ، من به دنبال آن خواهم بود و سعی می کنم در بعضی از موارد آن را برطرف کنم.
مرورگر شما نیز ممکن است به این شکل باشد:
مرحله 2: اولاما را نصب کنید
Ollama ابزاری برای اجرای LLMS به صورت محلی است. از آنجا که Raspberry Pi از معماری ARM64 استفاده می کند ، ساخت Ollama Linux ARM64 را بارگیری کنید:
curl -fsSL https://ollama.com/install.sh | sh
نصب را تأیید کنید:
ollama --version
توجه داشته باشید که می گوید
WARNING: No NVIDIA/AMD GPU detected. Ollama will run in CPU-only mode.
این امر به این دلیل است که GPU Raspberry Pi سازگار نیست. با این حال ، ما می توانیم ببینیم که چگونه فقط CPU اجرا می شود.
مرحله 3: مدل های Deepseek R1 را اجرا کنید
مدل پارامتر 1.5B را آزمایش کنید
بیایید با کوچکترین مدل موجود برای امتحان کردن آن شروع کنیم. این مدل مدل Deepseek-R1 1.5B است که دارای 1.5 میلیارد پارامتر است.
ollama run deepseek-r1:1.5b
مثال سریع:
>>> Tell me a funny joke about Python.
یادداشت های عملکردی:
- سرعت: ~ 6.12 توکن/ثانیه.
- استفاده از RAM: ~ 3 گیگابایت.
- CPU: به طور مداوم 99 ٪ حداکثر می شود.
بنابراین این خیلی بد نیست. این عالی نیست ، اما ممکن است برای نمونه سازی و آزمایش مفید باشد. شما می توانید از این کار برای بسیاری از کارها استفاده کنید تا زمانی که چت در زمان واقعی نباشد یا چیزی که بلافاصله تعاملی باشد.
بیایید یک مدل بزرگتر را امتحان کنیم. ما می دانیم که این کندتر خواهد بود ، اما می خواهم ببینم که آیا این امکان پذیر است یا خیر.
تست مدل پارامتر 7B (اختیاری)
برای این آزمایش ، مدل پارامتر DeepSeek-R1 7B را امتحان خواهیم کرد. این یکی به طور قابل توجهی بزرگتر است و برای بسیاری از پروژه ها الگوی بسیار مناسبی است.
ollama run deepseek-r1:7b
یادداشت های عملکردی:
- سرعت: 1.43 tokens/ثانیه (بسیار کند).
- استفاده از RAM: ~ 6 گیگابایت (به 8 گیگابایت+ PI نیاز دارد).
این یکی واقعاً کند و به سختی قابل استفاده است. اما هنوز هم چشمگیر است که به نظر من می توانید یک مدل پارامتر 7B را روی یک تمشک Pi اجرا کنید. استفاده زیادی برای آن وجود ندارد ، اما ممکن است.
مرحله 4: یک برنامه چت dockerized را مستقر کنید
بیایید یک برنامه چت dockerized را اجرا کنیم. این برنامه ای است که من برای یک ویدیوی قبلی YouTube ساخته ام. این یک برنامه Vuejs است که از مدل های Deepseek R1 استفاده می کند.
کد منبع در اینجا موجود است.
در اینجا نحوه اجرای آن بر روی PI آورده شده است:
- کلون برنامه نسخه ی نمایشی (با پروژه خود جایگزین کنید):
git clone https://github.com/JeremyMorgan/DeepSeek-Chat-Demo
cd deepseek-chat-demo
- با Docker بسازید و اجرا کنید:
docker compose up
- دسترسی به برنامه در
http://localhost:5173
و اعلان های تست.
سلام! اجرا می شود! عالی پاسخگویی خیلی بد نیست ، کمی کند اما قابل استفاده است.
مرحله 5: با خوشه تمشک Pi (دور جایزه اضافی!) آزمایش کنید
من تصمیم گرفتم که این کار را در خوشه تمشک خود رها کنم تا آن را امتحان کنم. در حالی که این سرعت را بهبود نمی بخشد (LLMS روی گره های تک اجرا می شود) ، این یک آزمایش جالب برای بار کاری توزیع شده است.
این PI های تمشک به جای 16 گیگابایت همه مدل های 8 گیگابایتی هستند. در اینجا چگونه می توانید آن را تنظیم کنید:
-
Kubernetes را تنظیم کنید با استفاده از
micorok8s
یا ابزارهای مشابه -
استقرار برنامه با ایجاد از طریق یک مانیفست yaml (Deepseek-deplection.yaml):
apiVersion: apps/v1
kind: Deployment
metadata:
name: deepseek-deployment
labels:
app: deepseek
spec:
replicas: 4
selector:
matchLabels:
app: deepseek
template:
metadata:
labels:
app: deepseek
spec:
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchLabels:
app: deepseek
topologyKey: "kubernetes.io/hostname"
containers:
- name: deepseek
image: jeremymorgan/deepseek-1-5b-chat-demo:ARM64
ports:
- containerPort: 11435
hostPort: 11435
- ایجاد یک سرویس (deepseek-service.yaml):
apiVersion: v1
kind: Service
metadata:
name: deepseek-service
spec:
type: NodePort
selector:
app: deepseek
ports:
- name: http
protocol: TCP
port: 80 # service port (cluster-internal)
targetPort: 80 # container port
nodePort: 30080 # external port on every node
- name: chat
protocol: TCP
port: 11436 # service port (cluster-internal)
targetPort: 11436 # container port
nodePort: 31144 # external port on every node
پاسخ ها کند باقی می مانند ، زیرا خوشه بندی استنباط مدل را موازی نمی کند. با این حال ، تفاوت عملکرد بین 8 گیگابایتی و 16 گیگابایت با مدل پارامتر 1.5B قابل توجه نیست.
می توانید تصویر Docker را از اینجا بگیرید و آن را بررسی کنید:
https://hub.docker.com/r/jeremymorgan/deepseek-1-5b-chat-demo/
غذای اصلی
بنابراین آنچه در هنگام استقرار مدل های Deepseek به Raspberry Pi 5 یاد خواهید گرفت ، در اینجا آورده شده است.
-
امکان:
- در مدل 1.5b برای کارهای سبک وزن به طور قابل قبول در یک تمشک 8-16 گیگابایتی PI 5 اجرا می شود.
- در مدل 7B اجرا خواهد شد ، اما به دلیل سرعت (1.43 توکن در ثانیه) غیر عملی است.
-
موارد استفاده:
- آزمایش های آموزشی.
- برنامه های اولیه Edge AI.
-
نکات بهینه سازی:
- برای عملکرد بهتر از مدل های کمیت (به عنوان مثال ، GGUF 4 بیتی) استفاده کنید.
- با دویدن Ollama Headless از بالای GUI خودداری کنید.
پایان
در حالی که Deepseek R1 جایگزین LLM های مبتنی بر ابر در Raspberry Pi نخواهد شد ، این یک روش جالب برای کشف هوش مصنوعی در سخت افزار بودجه است. برای عملکرد بهتر به ارتقاء به یک نانو جتسون یا سرور GPU استفاده کنید.
این یک آزمایش سرگرم کننده است!
نتایج نهایی:
اندازه مدل | توکن/ثانیه | استفاده از RAM | قابلیت استفاده |
---|---|---|---|
1.5b | 6.12 پوند | 3 گیگابایت | پرسش و پاسخ اساسی |
7b | 1.43 پوند | 6 گیگابایت | توصیه نمی شود |
خودتان آن را امتحان کنید و ببینید ، اگر نظر یا سؤالی دارید که در مورد من فریاد می زنید چگونه پیش می رود !!