۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

۵ راه آسان برای اجرای LLM به صورت محلی

استقرار یک مدل زبان بزرگ بر روی سیستم خود می تواند به طرز شگفت آوری ساده باشد – اگر ابزار مناسبی داشته باشید. در اینجا نحوه استفاده از LLMها مانند Code Llama جدید متا در دسکتاپ آورده شده است.

استقرار یک مدل زبان بزرگ بر روی سیستم خود می تواند به طرز شگفت آوری ساده باشد – اگر ابزار مناسبی داشته باشید. در اینجا نحوه استفاده از LLMها مانند Code Llama جدید متا در دسکتاپ آورده شده است.

ربات‌های چت مانند ChatGPT، Claude.ai و phind می تواند بسیار مفید باشد، اما ممکن است همیشه نخواهید سوالات یا داده های حساس شما توسط یک برنامه کاربردی خارجی بررسی شود. این امر به‌ویژه در پلتفرم‌هایی که ممکن است تعاملات شما توسط انسان‌ها بررسی شود و در غیر این صورت برای کمک به آموزش مدل‌های آینده استفاده شود، صادق است.

یک راه حل این است که یک مدل زبان بزرگ (LLM) را دانلود کنید و آن را روی دستگاه خود اجرا کنید. به این ترتیب، یک شرکت خارجی هرگز به داده های شما دسترسی ندارد. این همچنین یک گزینه سریع برای امتحان برخی از مدل‌های تخصصی جدید مانند مدل‌های خانواده Code Llama که اخیراً معرفی شده متا است، که برای کدنویسی تنظیم شده‌اند، و SeamlessM4T، با هدف ترجمه متن به گفتار و زبان. p>

اجرای LLM خودتان ممکن است پیچیده به نظر برسد، اما با ابزارهای مناسب، به طرز شگفت آوری آسان است. و الزامات سخت افزاری برای بسیاری از مدل ها احمقانه نیست. من گزینه های ارائه شده در این مقاله را روی دو سیستم آزمایش کرده ام: یک رایانه شخصی Dell با پردازنده Intel i9، ۶۴ گیگابایت رم، و یک پردازنده گرافیکی Nvidia GeForce 12GB (که احتمالاً بسیاری از این نرم افزار را اجرا نمی کرد) و روی مک با تراشه M1 اما فقط ۱۶ گیگابایت رم.

توصیه کنید که ممکن است برای یافتن مدلی که عملکرد مناسبی برای کار شما داشته باشد، کمی تحقیق کنید و بر روی سخت‌افزار دسکتاپ شما اجرا شود. و ممکن است تعداد کمی از ابزارهایی مانند ChatGPT (مخصوصاً با GPT-4) یا Claude.ai به اندازه آنچه شما به آن عادت کرده اید خوب باشند. Simon Willison، خالق ابزار خط فرمان LLM، در یک ارائه ماه گذشته  مبنی بر اینکه اجرای یک مدل محلی می‌تواند ارزشمند باشد، حتی اگر پاسخ‌های آن اشتباه باشد:

همچنین شایان ذکر است که مدل‌های منبع باز احتمالاً همچنان در حال بهبود هستند و برخی ناظران صنعت انتظار دارند شکاف بین آنها و رهبران تجاری کاهش یابد.

یک ربات چت محلی با GPT4All

اجرا کنید

اگر ربات چت می‌خواهید که به صورت محلی اجرا شود و داده‌ها را به جای دیگری ارسال نکند، GPT4All یک کلاینت دسکتاپ برای دانلود ارائه می دهد که تنظیم آن بسیار آسان است. این شامل گزینه‌هایی برای مدل‌هایی است که روی سیستم شما اجرا می‌شوند، و نسخه‌هایی برای Windows، macOS و اوبونتو وجود دارد.

وقتی برای اولین بار برنامه دسکتاپ GPT4All را باز می کنید، گزینه هایی برای دانلود حدود ۱۰ مدل (تا لحظه نگارش این مقاله) را مشاهده خواهید کرد که می توانند به صورت محلی اجرا شوند. از جمله چت Llama-2-7B، مدلی از Meta AI است. همچنین اگر کلید API دارید، می‌توانید GPT-3.5 و GPT-4 OpenAI را برای استفاده غیرمحلی تنظیم کنید.

بخش دانلود مدل از رابط GPT4All در ابتدا کمی گیج کننده بود. بعد از اینکه چندین مدل را دانلود کردم، همچنان گزینه دانلود همه آنها را دیدم. این نشان می دهد که دانلودها کار نمی کنند. با این حال، وقتی مسیر دانلود را بررسی کردم، مدل ها آنجا بودند.

تصویر شرح دو مدل در سمت چپ و گزینه هایی برای دانلود در سمت راست را نشان می دهد.

بخشی از رابط دانلود مدل در GPT4All. هنگامی که بخش استفاده از برنامه را باز کردم، مدل های دانلود شده من به طور خودکار ظاهر می شوند.

هنگامی که مدل‌ها راه‌اندازی شدند، خود رابط چت بات تمیز و آسان برای استفاده است. گزینه های مفید شامل کپی کردن یک چت در کلیپ بورد و ایجاد پاسخ است.

تصویر پرس و جو را نشان می دهد

رابط گپ GPT4All تمیز و استفاده آسان است.

یک افزونه بتا LocalDocs نیز وجود دارد که به شما امکان می‌دهد با اسناد خود به صورت محلی «چت» کنید. می‌توانید آن را در برگه تنظیمات > افزونه‌ها فعال کنید، جایی که سرصفحه “تنظیمات پلاگین LocalDocs (BETA)” و گزینه‌ای برای ایجاد مجموعه در یک مسیر پوشه خاص را خواهید دید.

این افزونه در حال انجام است و اسناد   هشدار می دهد که LLM ممکن است همچنان “توهم” داشته باشد (چیزها را درست کند) حتی زمانی که به اطلاعات تخصصی اضافه شده شما دسترسی داشته باشد. با این وجود، این یک ویژگی جالب است که احتمالاً با توانمندتر شدن مدل‌های منبع باز بهبود می‌یابد.

علاوه بر برنامه چت بات، GPT4All همچنین دارای پیوندهایی برای پایتون، گره و یک رابط خط فرمان (CLI) است. همچنین یک حالت سرور وجود دارد که به شما امکان می دهد با LLM محلی از طریق یک API HTTP که بسیار شبیه OpenAI است. هدف این است که به شما اجازه دهیم با تغییر چند خط کد، یک LLM محلی را با OpenAI عوض کنید.

LLMها در خط فرمان

LLM توسط Simon Willison یکی از راه‌های ساده‌تر است مشاهده کرده اید که LLM های منبع باز را به صورت محلی در دستگاه خود بارگیری و استفاده کنید. در حالی که برای اجرای آن نیاز به نصب پایتون دارید، نباید هیچ کد پایتون را لمس کنید. اگر از Mac استفاده می کنید و از Homebrew استفاده می کنید، فقط با

نصب کنید


brew install llm

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


pip install llm

LLM به‌طور پیش‌فرض از مدل‌های OpenAI استفاده می‌کند، اما می‌توانید از افزونه‌ها برای اجرای سایر مدل‌ها به صورت محلی استفاده کنید. برای مثال، اگر افزونه gpt4all را نصب کنید، به مدل‌های محلی اضافی از GPT4All دسترسی خواهید داشت. همچنین افزونه‌هایی برای لاما، پروژه MLC و MPT-30B و همچنین مدل‌های راه دور اضافی وجود دارد.

یک افزونه در خط فرمان با llm install model-name نصب کنید:


llm install llm-gpt4all

با دستور لیست مدل‌های llm، می‌توانید همه مدل‌های موجود—ریموت و مدل‌هایی را که نصب کرده‌اید، از جمله اطلاعات مختصری درباره هر کدام، مشاهده کنید.

نتایج فرمان لیست مدل های llm منبع، نام، اندازه و RAM مورد نیاز مدل را نشان می دهد.

هنگامی که از LLM می‌خواهید مدل‌های موجود را فهرست کند، نمایش داده می‌شود.

برای ارسال درخواست به یک LLM محلی، از نحو استفاده کنید:


llm -m the-model-name "Your query"

LLM مناسب را انتخاب کنید

چگونه یک مدل انتخاب کنیم؟ ۱۴ LLM که ChatGPT نیستند InfoWorld یک منبع است، اگرچه باید بررسی کنید که کدام یک قابل دانلود هستند و آیا با افزونه LLM سازگار هستند یا خیر. همچنین می‌توانید به صفحه اصلی GPT4All بروید و به مدل Explorer برای مدل‌ها به پایین بروید. که با GPT4All سازگار هستند. گزینه falcon-q4_0 یک مدل نسبتا کوچک با امتیاز بالا با مجوزی بود که امکان استفاده تجاری را می‌دهد، بنابراین من از آنجا شروع کردم.

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


llm -m ggml-model-gpt4all-falcon-q4_0 "Tell me a joke about computer programming"

این یکی از مواردی است که تجربه کاربری LLM را بسیار زیبا می کند: اگر مدل GPT4All در سیستم محلی شما وجود نداشته باشد، ابزار LLM به طور خودکار آن را قبل از اجرای درخواست شما برای شما دانلود می کند. هنگامی که مدل در حال بارگیری است، نوار پیشرفت را در ترمینال مشاهده خواهید کرد.

دانلود مدل در ترمینال با نوار پیشرفت.

LLM به طور خودکار مدلی را که من در یک جستجو استفاده کردم دانلود کرد.

خود شوخی فوق‌العاده نبود – “چرا برنامه‌نویس کامپیوترش را خاموش کرد؟ چون می‌خواست ببیند که آیا هنوز کار می‌کند یا نه!” – اما در واقع این پرس و جو کار کرد. و اگر نتایج ناامیدکننده هستند، به دلیل عملکرد مدل یا درخواست ناکافی کاربر است، نه ابزار LLM.

همچنین می‌توانید برای مدل‌های درون LLM نام مستعار تنظیم کنید تا بتوانید با نام‌های کوتاه‌تر به آن‌ها مراجعه کنید:


llm aliases set falcon ggml-model-gpt4all-falcon-q4_0

برای دیدن همه نام‌های مستعار موجود، وارد کنید: llm مستعار.

افزونه LLM برای مدل‌های Llama متا به مقداری نیاز دارد تنظیمات بیشتری نسبت به GPT4All انجام می دهد. جزئیات را در مخزن GitHub پلاگین LLM بخوانید. توجه داشته باشید که llama-2-7b-chat همه‌منظوره با تراشه M1 Pro و فقط ۱۶ گیگابایت رم، روی Mac کاری من اجرا شد. در مقایسه با مدل‌های GPT4All که برای ماشین‌های کوچک‌تر بدون GPU بهینه‌سازی شده‌اند، نسبتاً آهسته کار می‌کرد و در رایانه شخصی خانگی قوی‌تر من عملکرد بهتری داشت.

LLM دارای ویژگی های دیگری است، مانند یک پرچم argument که به شما امکان می دهد از یک چت قبلی ادامه دهید و توانایی استفاده از آن را در یک اسکریپت پایتون. و در اوایل سپتامبر، این برنامه ابزارهایی برای ایجاد جاسازی متن< /a>، نمایش عددی معنای متن است که می تواند برای جستجوی اسناد مرتبط استفاده شود. می توانید اطلاعات بیشتری را در وب سایت LLM مشاهده کنید. ویلیسون، یکی از خالقان چارچوب محبوب Python Django، امیدوار است که دیگران در جامعه افزونه‌های بیشتری را به اکوسیستم LLM کمک کنند.

مدل های لاما در مک: اوللاما

Ollama حتی روشی ساده‌تر برای دانلود و اجرای مدل‌ها نسبت به LLM است، اگرچه اینطور است همچنین محدودتر در حال حاضر نسخه ای برای macOS و Linux دارد. سازندگان آن می گویند پشتیبانی از ویندوز “به زودی ارائه می شود.”

صفحه تنظیم نهایی که می گوید

تنظیم Ollama بسیار ساده است.

نصب یک تجربه زیبا از طریق نقطه و کلیک است. و اگرچه Olama یک ابزار خط فرمان است، فقط یک دستور با نحو olama run model-name وجود دارد. مانند LLM، اگر مدل از قبل روی سیستم شما نباشد، به طور خودکار دانلود می شود.

می‌توانید فهرست مدل‌های موجود را در https://ollama.ai/library، که تا زمان نگارش این مقاله شامل چندین نسخه از مدل‌های مبتنی بر Llama مانند Llama 2 همه منظوره، Code Llama، CodeUp از DeepSE با تنظیم دقیق برای برخی از وظایف برنامه‌نویسی، و medllama2 بود که برای پاسخ به سؤالات پزشکی تنظیم شده است.

README مخزن Ollama GitHub شامل لیست مفیدی از برخی مشخصات مدل و توصیه هایی مبنی بر اینکه “برای اجرای مدل های ۳B باید حداقل ۸ گیگابایت رم، برای مدل های ۷B 16 گیگابایت و برای اجرای مدل های ۱۳B 32 گیگابایت رم داشته باشید.” در مک رم ۱۶ گیگابایتی من، عملکرد ۷B Code Llama به طرز شگفت‌آوری خوب بود. به سوالات مربوط به دستورات پوسته bash/zsh و همچنین زبان‌های برنامه‌نویسی مانند Python و JavaScript پاسخ می‌دهد.

صفحه پنجره ترمینال که نوارهای پیشرفت دانلود و پاسخ به سوالات مربوط به دستورات پوسته را نشان می دهد.

در حال اجرا Code Llama در پنجره پایانه اوللاما چگونه به نظر می رسد.

علیرغم اینکه کوچکترین مدل در خانواده است، در پاسخ به سؤال کدنویسی R که در برخی از مدل‌های بزرگتر ایجاد شده بود، ناقص بود، بسیار خوب بود: “کد R را برای یک نمودار ggplot2 بنویسید که در آن میله‌ها به رنگ آبی فولادی هستند.” کد درست بود به جز دو پرانتز بسته اضافی در دو خط کد، که به اندازه کافی به راحتی در IDE من قابل مشاهده بود. من گمان می کنم که Code Llama بزرگتر می توانست بهتر عمل کند.

Ollama دارای برخی ویژگی‌های اضافی است، مانند ادغام LangChain و توانایی اجرا با PrivateGPT، که ممکن است واضح نباشد مگر اینکه صفحه آموزش مخزن GitHub.

اگر از Mac استفاده می‌کنید و می‌خواهید از Code Llama استفاده کنید، می‌توانید این را در پنجره ترمینال اجرا کنید و هر بار که سؤالی دارید آن را بالا بکشید. من مشتاقانه منتظر نسخه Ollama Windows برای استفاده در رایانه شخصی خود هستم.

با اسناد خود گپ بزنید: h2oGPT

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

می‌توانید به یک نسخه آزمایشی در وب دسترسی داشته باشید (بدیهی است که از LLM محلی برای سیستم خود استفاده نمی‌کنید) در gpt.h2o.ai، که روشی مفید برای فهمیدن اینکه آیا رابط کاربری را قبل از بارگیری در سیستم خود دوست دارید یا خیر.

می‌توانید نسخه اصلی برنامه را با توانایی محدود برای درخواست اسناد خود با دستورالعمل های راه اندازی را در اینجا دنبال کنید.


صفحه نمایش سوالات، پاسخ هوش مصنوعی و پیوندی به سند منبع را نشان می دهد.

یک مدل LLaMa محلی به سوالات بر اساس مستندات کد VS پاسخ می دهد.

بدون افزودن فایل های خود، می توانید از برنامه به عنوان یک ربات چت عمومی استفاده کنید. یا، می توانید برخی از اسناد را آپلود کنید و در مورد آن فایل ها سؤال بپرسید. فرمت های فایل سازگار عبارتند از PDF، Excel، CSV، Word، text، markdown و غیره. برنامه آزمایشی روی مک ۱۶ گیگابایتی من به خوبی کار می کرد، اگرچه نتایج مدل کوچکتر با ChatGPT پولی با GPT-4 مقایسه نمی شد (مثل همیشه، این تابعی از مدل است و نه برنامه). رابط کاربری h2oGPT یک برگه Expert با تعدادی گزینه پیکربندی برای کاربرانی که می دانند دارند انجام می دهند ارائه می دهد. این به کاربران با تجربه‌تر این گزینه را می‌دهد که سعی کنند نتایج خود را بهبود بخشند.

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

کاوش برگه Expert در h2oGPT.

اگر می‌خواهید کنترل بیشتری بر فرآیند و گزینه‌های مدل‌های بیشتر داشته باشید، برنامه کامل را دانلود کنید. نصب‌کننده‌های یک کلیکی برای ویندوز و macOS برای سیستم‌های دارای GPU یا فقط با CPU وجود دارد. توجه داشته باشید که نرم افزار آنتی ویروس ویندوز من از نسخه ویندوز ناراضی بود زیرا بدون امضا بود. من با نرم افزار دیگر H2O.ai آشنا هستم و کد آن در GitHub موجود است، بنابراین به هر حال حاضر بودم آن را دانلود و نصب کنم.

راب مولا، اکنون در H2O.ai، یک ویدیوی YouTube پست کرد در کانال خود درباره نصب برنامه در لینوکس. اگرچه اکنون این ویدیو چند ماه از عمر آن می گذرد و به نظر می رسد رابط کاربری برنامه تغییر کرده است، ویدیو هنوز دارای اطلاعات مفیدی است، از جمله توضیحات مفید در مورد H2O.ai LLM.

چت آسان اما کند با داده های شما: PrivateGPT

PrivateGPT همچنین طراحی شده است تا به شما امکان دهد اسناد خود را با استفاده از زبان طبیعی جستجو کنید و یک پاسخ هوش مصنوعی مولد دریافت کنید. اسناد موجود در این برنامه می تواند شامل چندین ده فرمت مختلف باشد. و README به شما اطمینان می‌دهد که داده‌ها ۱۰۰% خصوصی هستند، هیچ داده‌ای در هیچ نقطه‌ای از محیط اجرای شما خارج نمی‌شود.

PrivateGPT دارای اسکریپت هایی برای جذب فایل های داده، تقسیم آنها به تکه ها، ایجاد “Embeddings” (نمایش عددی معنای متن) و ذخیره آن جاسازی ها در یک فروشگاه محلی Chroma vector است. وقتی سؤالی می‌پرسید، برنامه اسناد مربوطه را جستجو می‌کند و فقط آن‌ها را برای ایجاد پاسخ به LLM می‌فرستد.

اگر با پایتون و نحوه راه اندازی پروژه های پایتون آشنایی دارید، می توانید را شبیه سازی کنید. مخزن کامل PrivateGPT و آن را به صورت محلی اجرا کنید. اگر دانش کمتری در مورد Python دارید، ممکن است بخواهید یک نسخه ساده شده پروژه را بررسی کنید. که نویسنده ایوان مارتینز برای یک کارگاه کنفرانس راه اندازی کرد، که راه اندازی آن بسیار آسان تر است.

آن نسخه فایل README شامل جزئیات دستورالعمل هایی که تخصص Python sysadmin را فرض نمی کنند. مخزن دارای یک پوشه source_documents پر از اسناد Penpot است، اما می‌توانید آن‌ها را حذف کرده و خود را اضافه کنید.