برنامه نویسی

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

Deepseek R1 دنیای تولید AI را لرزاند ، و همه حتی از راه دور علاقه مند به هوش مصنوعی بودند که آن را امتحان کردند. این یک مدل عالی است ، IMO. همانطور که ممکن است بدانید ، من دوست دارم مدل های محلی را اجرا کنم ، و از آنجا که این یک مدل منبع باز است ، البته ، من مجبور شدم آن را امتحان کنم. در استودیوی MAC من و 4090 دستگاه عالی کار می کند.

اما آیا می تواند در این مورد اجرا شود؟ یک تمشک کوچک احمقانه؟

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5re7fnzjehiajfjjzr0r

من چند ایمیل و پیام های خصوصی دریافت کردم که در مورد این موضوع سؤال کردم و مجبور شدم آن را امتحان کنم. در این آموزش ، ما چگونه می توانیم مدل های Deepseek R1 را در Raspberry Pi 5 اجرا کنیم و عملکرد آنها را ارزیابی کنیم. این که آیا شما می خواهید LLM ها را به صورت محلی اجرا کنید یا برخی از موارد Edge AI را بسازید ، این می تواند یک آموزش جالب برای امتحان کردن باشد.

اگر ترجیح می دهید در اینجا به صورت ویدیویی باشد:

https://www.youtube.com/watch؟v=8zeamfv_-z4

بنابراین بیایید شروع کنیم. این چیزی است که شما نیاز دارید:


پیش نیازهای

  1. سخت افزار:
  • Raspberry Pi 5 (8 گیگابایت یا 16 گیگابایت رم توصیه می شود).
  • کارت microSD با Raspberry Pi OS (64 بیتی) نصب شده است.
  • منبع تغذیه پایدار و اتصال به اینترنت.
  1. نرم افزاری:
  • آشنایی اساسی با OS Raspberry Pi و دستورات ترمینال.
  • Docker (اختیاری ، برای برنامه های کانتینر).

این دستگاهی است که من آن را امتحان کردم:

https%3A%2F%2Fdev to

مرحله 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 گزینه سیستم را انتخاب کنید

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc77vvdz1nnnds013vf2f

سپس S5 Boot/Auto Login را انتخاب کنید

https%3A%2F%2Fdev to

و B3 Desktop را انتخاب کنید (GUI دسک تاپ ، که به ورود کاربر نیاز دارد)

https%3A%2F%2Fdev to

حال اگر می خواهید ، می توانید با استفاده از RDP از راه دور وارد دسک تاپ شوید و به یک دسک تاپ دسترسی پیدا کنید.

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fadzo59qvg2lvq2oiy691

توجه: در Raspberry Pi من نتوانستم هیچ مرورگری را برای اجرای صحیح بدست آورم. آنها به صورت قابل خواندن نمایش نمی دهند ، من به دنبال آن خواهم بود و سعی می کنم در بعضی از موارد آن را برطرف کنم.

مرورگر شما نیز ممکن است به این شکل باشد:

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4hr176ihnb4ky9rkea3h


مرحله 2: اولاما را نصب کنید

Ollama ابزاری برای اجرای LLMS به صورت محلی است. از آنجا که Raspberry Pi از معماری ARM64 استفاده می کند ، ساخت Ollama Linux ARM64 را بارگیری کنید:

curl -fsSL https://ollama.com/install.sh | sh
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

نصب را تأیید کنید:

ollama --version
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6q4emoj1rzjwhkr0lb05

توجه داشته باشید که می گوید

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.

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

https%3A%2F%2Fdev to

یادداشت های عملکردی:

  • سرعت: ~ 6.12 توکن/ثانیه.
  • استفاده از RAM: ~ 3 گیگابایت.
  • CPU: به طور مداوم 99 ٪ حداکثر می شود.

بنابراین این خیلی بد نیست. این عالی نیست ، اما ممکن است برای نمونه سازی و آزمایش مفید باشد. شما می توانید از این کار برای بسیاری از کارها استفاده کنید تا زمانی که چت در زمان واقعی نباشد یا چیزی که بلافاصله تعاملی باشد.

بیایید یک مدل بزرگتر را امتحان کنیم. ما می دانیم که این کندتر خواهد بود ، اما می خواهم ببینم که آیا این امکان پذیر است یا خیر.

تست مدل پارامتر 7B (اختیاری)

برای این آزمایش ، مدل پارامتر DeepSeek-R1 7B را امتحان خواهیم کرد. این یکی به طور قابل توجهی بزرگتر است و برای بسیاری از پروژه ها الگوی بسیار مناسبی است.

ollama run deepseek-r1:7b
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

یادداشت های عملکردی:

  • سرعت: 1.43 tokens/ثانیه (بسیار کند).
  • استفاده از RAM: ~ 6 گیگابایت (به 8 گیگابایت+ PI نیاز دارد).

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Faw4ltnjlpcrl51jz4b7a

این یکی واقعاً کند و به سختی قابل استفاده است. اما هنوز هم چشمگیر است که به نظر من می توانید یک مدل پارامتر 7B را روی یک تمشک Pi اجرا کنید. استفاده زیادی برای آن وجود ندارد ، اما ممکن است.


مرحله 4: یک برنامه چت dockerized را مستقر کنید

بیایید یک برنامه چت dockerized را اجرا کنیم. این برنامه ای است که من برای یک ویدیوی قبلی YouTube ساخته ام. این یک برنامه Vuejs است که از مدل های Deepseek R1 استفاده می کند.

کد منبع در اینجا موجود است.

در اینجا نحوه اجرای آن بر روی PI آورده شده است:

  1. کلون برنامه نسخه ی نمایشی (با پروژه خود جایگزین کنید):
git clone https://github.com/JeremyMorgan/DeepSeek-Chat-Demo
cd deepseek-chat-demo
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. با Docker بسازید و اجرا کنید:
docker compose up
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. دسترسی به برنامه در http://localhost:5173 و اعلان های تست.

سلام! اجرا می شود! عالی پاسخگویی خیلی بد نیست ، کمی کند اما قابل استفاده است.

https%3A%2F%2Fdev to


مرحله 5: با خوشه تمشک Pi (دور جایزه اضافی!) آزمایش کنید

من تصمیم گرفتم که این کار را در خوشه تمشک خود رها کنم تا آن را امتحان کنم. در حالی که این سرعت را بهبود نمی بخشد (LLMS روی گره های تک اجرا می شود) ، این یک آزمایش جالب برای بار کاری توزیع شده است.

https%3A%2F%2Fdev to uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F31zgrfzc6kmg4yszfg4l

این PI های تمشک به جای 16 گیگابایت همه مدل های 8 گیگابایتی هستند. در اینجا چگونه می توانید آن را تنظیم کنید:

  1. Kubernetes را تنظیم کنید با استفاده از micorok8s یا ابزارهای مشابه

  2. استقرار برنامه با ایجاد از طریق یک مانیفست 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
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  1. ایجاد یک سرویس (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. امکان:

    • در مدل 1.5b برای کارهای سبک وزن به طور قابل قبول در یک تمشک 8-16 گیگابایتی PI 5 اجرا می شود.
    • در مدل 7B اجرا خواهد شد ، اما به دلیل سرعت (1.43 توکن در ثانیه) غیر عملی است.
  2. موارد استفاده:

    • آزمایش های آموزشی.
    • برنامه های اولیه Edge AI.
  3. نکات بهینه سازی:

    • برای عملکرد بهتر از مدل های کمیت (به عنوان مثال ، GGUF 4 بیتی) استفاده کنید.
    • با دویدن Ollama Headless از بالای GUI خودداری کنید.

پایان

در حالی که Deepseek R1 جایگزین LLM های مبتنی بر ابر در Raspberry Pi نخواهد شد ، این یک روش جالب برای کشف هوش مصنوعی در سخت افزار بودجه است. برای عملکرد بهتر به ارتقاء به یک نانو جتسون یا سرور GPU استفاده کنید.

این یک آزمایش سرگرم کننده است!

نتایج نهایی:

اندازه مدل توکن/ثانیه استفاده از RAM قابلیت استفاده
1.5b 6.12 پوند 3 گیگابایت پرسش و پاسخ اساسی
7b 1.43 پوند 6 گیگابایت توصیه نمی شود

خودتان آن را امتحان کنید و ببینید ، اگر نظر یا سؤالی دارید که در مورد من فریاد می زنید چگونه پیش می رود !!


نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا