تصویرسازی توسط سوپریث کوندینیا
تصویرسازی توسط سوپریث کوندینیا

این توسعه‌دهنده مدل DeepSeek-R1 با ۶۷۱ میلیارد پارامتر را بدون GPU اجرا کرد

خیر، این یک نسخه تقطیر شده نبود، بلکه یک نوع کوانتیزه شده با مدل ۲.۵۱ بیت به ازای هر پارامتر بود.

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

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

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

قابل توجه است که جان لایمگروبر، مهندس نرم‌افزار اهل ایالات متحده با دو سال تجربه در مهندسی، توانست با میزبانی مدل عظیم ۶۷۱ میلیارد پارامتری DeepSeek-R1، نیاز به GPUهای گران‌قیمت را دور بزند. او یک نسخه کوانتیزه شده از این مدل را روی یک SSD سریع NVMe اجرا کرد.

در گفتگو با AIM، لایمگروبر توضیح داد که چه چیزی این امر را ممکن ساخته است.

MLA، MoE و وزن‌های ۸ بیتی بومی برای پیروزی

لایمگروبر از یک نسخه کوانتیزه شده و غیر تقطیر شده از این مدل، توسعه یافته توسط Unsloth.ai، استفاده کرد - یک مدل ۲.۵۱ بیت به ازای هر پارامتر، که به گفته او با وجود فشرده‌سازی به تنها ۲۱۲ گیگابایت، کیفیت خوبی را حفظ کرده است.

با این حال، این مدل به صورت بومی بر روی ۸ بیت ساخته شده است، که به طور پیش‌فرض آن را کاملاً کارآمد می‌کند.

لایمگروبر افزود: «برای شروع، هر یک از آن ۶۷۱ میلیارد پارامتر فقط ۸ بیت است که در مجموع حجم فایل ۶۷۱ گیگابایت می‌شود. آن را با Llama-3.1-405B مقایسه کنید که به ۱۶ بیت به ازای هر پارامتر نیاز دارد و در مجموع حجم فایل ۸۱۰ گیگابایت می‌شود.»

لایمگروبر این مدل را پس از غیرفعال کردن GPU NVIDIA RTX 3090 Ti خود در دستگاه بازی‌اش، با ۹۶ گیگابایت رم و ۲۴ گیگابایت VRAM، اجرا کرد.

او توضیح داد که «ترفند مخفی» این است که فقط حافظه پنهان KV را در RAM بارگذاری کنید، در حالی که به llama.cpp اجازه می‌دهید تا فایل‌های مدل را با استفاده از رفتار پیش‌فرض خود مدیریت کند - نگاشت حافظه (mmap) آن‌ها به طور مستقیم از یک SSD سریع NVMe. او افزود: «بقیه RAM سیستم شما به عنوان حافظه پنهان دیسک برای وزن‌های فعال عمل می‌کند.»

این بدان معناست که بیشتر مدل مستقیماً از SSD NVMe اجرا می‌شود و حافظه سیستم، سرعت دسترسی به مدل را افزایش می‌دهد.

لایمگروبر همچنین روشن کرد که این امر بر طول عمر چرخه خواندن یا نوشتن SSD تأثیر نمی‌گذارد و از طریق نگاشت حافظه و نه حافظه swap به مدل دسترسی پیدا می‌شود، جایی که داده‌ها به طور مکرر روی دیسک نوشته و پاک می‌شوند.

او توانست مدل را با کمی بیش از دو توکن در ثانیه اجرا کند. برای درک بهتر، مایکروسافت اخیراً فاش کرد که نسخه تقطیر شده مدل DeepSeek-R1 14B، هشت توکن در ثانیه تولید می‌کند. در مقابل، مدل‌های هوش مصنوعی مستقر در ابر مانند ChatGPT یا Claude می‌توانند ۵۰ تا ۶۰ توکن در ثانیه تولید کنند.

با این حال، او همچنین پیشنهاد کرد که داشتن یک GPU واحد با ۱۶ تا ۲۴ گیگابایت حافظه همچنان بهتر از نداشتن GPU است. او گفت: «این به این دلیل است که لایه‌های توجه و محاسبات kv-cache را می‌توان روی GPU اجرا کرد تا از بهینه‌سازی‌هایی مانند نمودارهای CUDA (معماری دستگاه یکپارچه محاسباتی) بهره‌مند شد، در حالی که بخش عمده‌ای از وزن‌های MoE (ترکیبی از متخصصان) مدل‌ها در RAM سیستم اجرا می‌شوند.»

لایمگروبر معیارها و نمونه‌های دقیقی از تولیدات را در پست گیت‌هاب ارائه کرد.

این امر عمدتاً به دلیل معماری DeepSeek، علاوه بر وزن‌های ۸ بیتی بومی آن، امکان‌پذیر است. معماری MoE DeepSeek به این معنی است که در هنگام تولید توکن‌ها، تنها ۳۷ میلیارد پارامتر فعال دارد.

لایمگروبر گفت: «این بسیار کارآمدتر از یک مدل متراکم سنتی مانند GPT-3 یا Llama-3.1-405B است، زیرا هر توکن به محاسبات کمتری نیاز دارد.»

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

با در نظر گرفتن همه موارد، بهترین راه برای اکثر کاربران خانگی برای اجرای محلی یک مدل بر روی دسکتاپ بدون GPU، استفاده از برنامه‌هایی مانند Ollama و نسخه‌های بسیار کوچکتر و تقطیر شده DeepSeek-R1 است. به طور خاص، نسخه تقطیر شده مدل Qwen-2.5-32B علی‌بابا، که بر روی مدل DeepSeek-R1 تنظیم شده است تا خروجی‌های استدلالی تولید کند. یک کاربر اخیراً آموزشی در گیت‌هاب در مورد نحوه استقرار محلی این مدل با استفاده از Inferless منتشر کرده است.

برای نسخه‌های حتی کوچکتر، LinuxConfig.Org یک آموزش برای استقرار نسخه ۷B مدل DeepSeek-R1 بدون GPU منتشر کرد. به طور مشابه، DataCamp آموزش مفصلی را در مورد استقرار این مدل در ماشین‌های ویندوز و مک با استفاده از ollama منتشر کرد.