الکتروهایو

هوش مصنوعی / الکترونیک / برنامه‌نویسی

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

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

اجرای LLM محلی و VLM بر روی رزبری پای 5

اجرای LLM محلی و VLM بر روی رزبری پای 5 در الکتروهایو
در این مقاله می‌خوانید:

زمان تخمینی مطالعه: 8 دقیقه

آیا تا به حال به این فکر کرده اید که دست به اجرای LLM محلی و VLM بر روی رزبری پای 5 خود بزنید؟ احتمالاً این کار را کرده‌اید، اما فکر راه‌اندازی کارها از ابتدا، نیاز به مدیریت محیط اجرا، دانلود وزن‌های مناسب مدل، و شک دائمی در مورد اینکه آیا دستگاه شما حتی می‌تواند مدل را مدیریت کند یا خیر، احتمالاً شما را کمی دچار خلل کرده است.

امکان سنجی پروژه

LLMها(مدل‌های زبان بزرگ) در لبه علم قرار داشته و اجرای آنها بر روی دستگاهی مثل رزبری پای در این برهه از زمان بسیار دور از ذهن به نظر می‌رسد. اما این مورد خاص که بتوانیم از یک دستگاه لبه(Edge) برای پردازش LLM ها بهره بگیریم باید به مرور زمان به بلوغ برسد، و ما قطعاً شاهد استفاده از راه‌حل‌های جذاب با یک راه‌حل هوش مصنوعی مولد تمام محلی خواهیم بود که روی دستگاه در لبه اجرا می‌شود. در واقع می‌توان گفت که این تلاش مثالی از آزمودن محدودیت‌ها برای دیدن آنچه ممکن است می‌باشد. اگر بتوان این سیستم‌ها را بر روی چنین بردهایی اجرا کرد بنابراین می‌توان آن را در هر سطحی مابین رزبری پای و سرور بزرگ و قدرتمند GPU انجام داد. آیا می‌توان اقدام به اجرای LLM محلی و VLM بر روی رزبری پای 5 کرد؟ سوالی بزرگ است.

به طور سنتی، هوش مصنوعی لبه(Edge) ارتباط نزدیکی با بینایی کامپیوتر دارد. کاوش در استقرار LLMها و VLMها(مدل‌های زبان بینایی) در لبه، بعد هیجان انگیزی را به این زمینه اضافه می‌کند که به تازگی در حال ظهور است.مهمتر از همه، این پروژه در واقع تلاشی برای تست قابلیت رزبری پای 5 برای اجرای چنین سیستمی است.بنابراین، دست به دامان اولاما(Ollama) شدیم!!!!

اولاما(Ollama) چیست؟

Ollama به عنوان یکی از بهترین راه حل‌ها برای اجرای LLMهای محلی بر روی رایانه شخصی بدون نیاز به دست و پنجه نرم کردن با مشکل تنظیم پارامترها از ابتدا است. در این برنامه تنها با چند دستور می‌توان همه چیز را بدون هیچ مشکلی راه اندازی کرد. در اولاما همه چیز مستقل بوده و بر اساس تجربه در چندین دستگاه و مدل به طرز شگفت انگیزی کار می‌کند. حتی یک REST API را برای استنباط مدل نشان می‌دهد، بنابراین می‌توانید آن را روی برد رسپری پای اجرا کنید و در صورت تمایل آن را از سایر برنامه‌ها و دستگاه‌های خود فراخوانی کنید.

همچنین رابط کاربری اولاما(Ollama Web UI) هم وجود دارد که یک بخش زیبا از UI/UX هوش مصنوعی است که به طور یکپارچه با اولاما برای کسانی که از رابط‌های خط فرمان نگران هستند اجرا می‌شود. که اساساً یک رابط ChatGPT محلی است. این دو قطعه نرم افزاری منبع باز چیزی را ارائه می‌دهند که بهترین تجربه از میزبانی محلی LLM در حال حاضر است.هم Ollama و هم Ollama Web UI از VLMهایی مانند LLaVA نیز پشتیبانی می‌کنند، که قادر به گشودن درهای بیشتری برای استفاده از هوش مصنوعی مولد در ابزار لبه مانند رزبری پای است.

الزامات فنی

تنها چیزی که نیاز دارید به شرح ادامه است:

  • رزبری پای 5 (یا 4 برای نصب با سرعت کمتر) – میزان رم 8 گیگابایتی را انتخاب کنید تا متناسب با مدل های 7B باشد.
  • کارت SD – حداقل 16 گیگابایت، هر چه اندازه بزرگتر باشد، مدل‌های بیشتری را می‌توانید جا دهید. آن را قبلاً با یک سیستم عامل مناسب مانند Raspbian Bookworm یا Ubuntu بارگذاری کنید
  • یک اتصال اینترنتی

همانطور که قبلاً اشاره کردم، اجرای Ollama بر روی رزبری پای در حال حاضر کاری غیر ممکن از لحاظ سخت افزاری است. اساساً، هر دستگاهی قدرتمندتر از رزبری پای، به شرط اینکه توزیع لینوکس را اجرا کند و ظرفیت حافظه مشابهی داشته باشد، از نظر تئوری باید قادر به اجرای Ollama و مدل‌های مورد بحث در این مطلب باشد.

  1. نصب اولاما: برای نصب Ollama روی رزبری پای، از Docker برای حفظ منابع خودداری می‌کنیم.در ترمینال، وارد کنید:

 

curl https://ollama.ai/install.sh | sh

پس از اجرای دستور بالا باید چیزی شبیه به تصویر زیر مشاهده کنید:

خروجی اولین مرحله نصب اولاما(Ollama) در الکتروهایو

همانطور که خروجی نشان می‌دهد، به آدرس 0.0.0.0:11434 بروید تا تأیید کنید که اولاما در حال اجرا است. دیدن “هشدار: GPU NVIDIA شناسایی نشده است” اولاما در حالت فقط CPU اجرا می شود» طبیعی است زیرا ما از رزبری پای استفاده می‌کنیم. اما اگر این دستورالعمل‌ها را در مورد چیزی که قرار است پردازنده گرافیکی NVIDIA داشته باشد مشاهده می‌کنید، حتما چیزی درست پیش نرفته و مشکل وجود دارد.

  1. اجرای LLM از طریق خط فرمان: برای مشاهده لیستی از مدل‌هایی که می‌توان با استفاده از اولاما اجرا کرد، به کتابخانه رسمی مدل Ollama نگاهی بیندازید. در رزبری پای 8 گیگابایتی، مدل‌های بزرگتر از 7B مناسب نیستند. بنابراین از Phi-2، که یک LLM با 2.7B از مایکروسافت تحت مجوز MIT است استفاده کنید. در این مقاله از مدل پیش‌فرض Phi-2 استفاده شده است، اما از هر یک از برچسب‌های دیگر موجود در اینجا استفاده کنید. به صفحه مدل Phi-2 نگاهی بیندازید تا ببینید چگونه می‌توانید با آن تعامل کنید. دستورات زیر را در ترمینال، اجرا کنید:
ollama run phi

هنگامی که چیزی شبیه به خروجی زیر مشاهده کردید، شما یک LLM در حال اجرا بر روی رزبری پای دارید!

می‌توانید مدل‌های دیگری مانند Mistral، Llama-2 و غیره را امتحان کنید، فقط مطمئن شوید که فضای کافی روی کارت SD برای وزن‌های مدل وجود دارد. به طور طبیعی، هر چه مدل بزرگتر باشد، خروجی کندتر خواهد بود. در Phi-2 2.7B، می‌توانم حدود 4 توکن در ثانیه دریافت کنم. اما با Mistral 7B، سرعت تولید به حدود 2 توکن در ثانیه کاهش می‌یابد. تر توکن تقریباً معادل یک کلمه است.

اکنون ما LLMهایی داریم که روی رزبری پای اجرا می‌شوند، اما هنوز کارمان تمام نشده است. در ادامه Ollama Web UI را اجرا خواهیم کرد.

  1. نصب و اجرای Ollama Web UI: ما باید دستورالعمل‌های موجود در مخزن رسمی Ollama Web UI در گیت هاب را دنبال کنیم تا آن را بدون Docker نصب کنیم. این کتابخه حداقل Node.js ورژن 20.10 به بالا را توصیه می‌کند. همچنین پایتون باید حداقل ورژن 3.11 باشد که پیش‌تر در سیستم عامل rasbian برد رزبری موجود است.ابتدا باید Node.js را نصب کنیم:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\ 
sudo apt-get install -y nodejs

در صورت نیاز برای خوانندگان این متن در آینده، ورژن را به یک نسخه مناسب تر تغییر دهید. سپس بلوک کد زیر را اجرا کنید..

git clone https://github.com/ollama-webui/ollama-webui.git
cd ollama-webui/

# Copying required .env file
cp -RPp example.env .env

# Building Frontend Using Node
npm i
npm run build

# Serving Frontend with the Backend
cd ./backend
pip install -r requirements.txt --break-system-packages 
sh start.sh

اگر همه چیز درست پیش برود، باید بتوانید از طریق آدرس http://0.0.0.0:8080 در رزبری پای، دسترسی داشته باشید.

  1. اجرای VLMها از طریق Ollama Web UI: همانطور که در ابتدای این مقاله اشاره کردم، ما می‌توانیم VLMها را نیز اجرا کنیم. بیایید LLaVA را اجرا کنیم، یک VLM منبع باز محبوب که اتفاقاً توسط Ollama نیز پشتیبانی می‌شود. برای انجام این کار، وزن‌ها را با کشیدن «llava» از طریق رابط دانلود کنید. متأسفانه، بر خلاف LLMها، زمان زیادی طول می‌کشد تا تنظیمات تصویر را در رزبری پای انجام دهیم تا سیستم شروع به تفسیر کند. پردازش تصویر در مثال زیر حدود 6 دقیقه طول کشید. بیشتر اوقات این تاخیر احتمالاً به این دلیل است که جنبه تصویری چیزها هنوز به درستی بهینه نشده است، اما این قطعاً در آینده تغییر خواهد کرد. در این سیستم سرعت تولید توکن حدود 2 توکن در ثانیه است.

نتیجه گیری

در انتها برای جمع بندی باید گفت که موفق شده‌ایم از Ollama و Ollama Web UI برای اجرای LLM محلی و VLM بر روی رزبری پای 5 استفاده کنیم. امید است که روز به روز شاهد شکوفایی بیشتر این حوزه باشیم.

لوگو الکتروهایو

الکتروهایو در خدمت مخاطبان عزیز می‌باشد. ما در تیم الکتروهایو در تلاش برای تهیه مقالات و مطالب به روز هستیم. لطفا برای مطالب و مقالات بیشتر با ما همراه باشید.

مطالب مرتبط:

نقص نیورالینک Neuralink در اولین کارآزمایی انسانی!! آیا ایلان ماسک شکست خورده است؟ - سایت الکتروهایو

نقص نیورالینک Neuralink در اولین کارآزمایی انسانی!! آیا ایلان ماسک شکست خورده است؟

آخرین اخبار در مورد نرورالینک که شرکت فناوری عصبی ایلان ماسک(Neuralink) است نشان می‌دهد که اولین آزمایش انسانی کاشت یک تراشه مغزی بر روی یک مرد 29 ساله به نام Noland Arbaugh انجام داد. اما در این فرآیند یک نقص

ادامه مطلب »
محاسبات GPU چیست؟ - الکتروهایو

محاسبات GPU چیست؟

هدف اصلی یک واحد پردازش گرافیکی (GPU) تسریع در ارائه و پردازش گرافیک است. با این حال، آنچه که GPU ها را در پردازش تصاویر بصری عالی می‌کند، این سخت افزار را در انجام وظایف خاص غیر گرافیکی (مانند آموزش

ادامه مطلب »
ارائه تکنیکی جدید توسط ریاضیدان‌ها برای افزایش سرعت اینترنت اشیا بوسیله روش تقسیم ترافیک بهینه - در الکتروهایو

ارائه تکنیکی جدید توسط ریاضیدان‌ها برای افزایش سرعت اینترنت اشیا بوسیله روش تقسیم ترافیک بهینه

ریاضیدانان دانشگاه RUDN یک الگوریتم مسیریابی جدید برای بهینه کردن و افزایش سرعت اینترنت اشیا ایجاد کرده‌اند. این الگوریتم به طور بهینه ترافیک را تقسیم می‌کند که سرعت و قابلیت اطمینان شبکه را بهبود می‌بخشد. نتایج در Mathematics منتشر شد.

ادامه مطلب »
کامل‌ترین راهنما برای انتخاب بهترین برد آردوینو برای انواع پروژه‌ها!!! در الکتروهایو

کامل‌ترین راهنما برای انتخاب بهترین برد آردوینو برای انواع پروژه‌ها!!!

بسیاری از مبتدیان دنیای الکترونیک، فعالیت خود را در این حوزه با کار بر روی برد Arduino شروع کردند. به هر حال، برد آردوینو یکی از محبوب‌ترین و مستندترین میکروکنترلرهای موجود در بازار است. اما وقتی وارد این اکوسیستم می‌شویم

ادامه مطلب »
نحوه نصب NVIDIA CUDA toolkit دراوبونتو در الکتروهایو

نحوه نصب NVIDIA CUDA toolkit دراوبونتو

پلت فرم NVIDIA CUDA Toolkit یک بستر نرم افزاری است که به توسعه دهندگان اجازه می‌دهد تا از قدرت محاسباتی پردازش NVIDIA و برنامه‌های کاربردی شتاب دهنده GPU بهره ببرند. CUDA همچنین یک مدل برنامه نویسی و یک API است

ادامه مطلب »
داده‌های اسمی Nominal Data - الکتروهایو

داده‌های اسمی Nominal Data چیست؟

داده‌های اسمی(Nominal Data) یکی از اساسی‌ترین انواع داده‌ها در تجزیه و تحلیل داده‌ها است. شناسایی …

حاشیه‌نویسی متن در هوش مصنوعی - سایت الکتروهایو

حاشیه‌نویسی متن در هوش مصنوعی

حاشیه‌نویسی داده به الگوریتم‌های یادگیری ماشین اجازه می‌دهد تا اطلاعات را درک و تفسیر کنند. …

هوش مصنوعی در باستان شناسی و کاربردهای آن - سایت الکتروهایو

هوش مصنوعی در باستان شناسی چه کاربردهای می‌تواند داشته باشد؟

مکان‌های باستان‌شناسی ممکن است ثابت باشند، اما فرهنگ‌هایی که آنها را تولید کرده‌اند، پویا و …

با الگوریتم تشخیص اشیاء FCOS آشنا شوید - سایت الکتروهایو

با الگوریتم تشخیص اشیاء FCOS آشنا شوید: تشخیص اشیاء تک مرحله‌ای کاملاً کانولوشنال

تشخیص اشیاء یک کار مهم در بینایی کامپیوتر است که با رسم کادرهای محدود کننده …

تصویربرداری چند طیفی، دیدی جدید فراسوی نور مرئی - سایت الکتروهایو

تصویربرداری چند طیفی، دیدی جدید فراسوی نور مرئی

تصویربرداری چند طیفی تکنیکی است که نور را در طیف وسیعی از باندهای طیفی، فراتر …