برنامه نویسی

یک راهنمای گام به گام برای نصب Deepseek-R1 به صورت محلی با Ollama ، VLLM یا Transformers

Deepseek-R1 در جامعه AI به عنوان یک الگوی استدلال قدرتمند منبع باز موج می زند و قابلیت های پیشرفته ای را ارائه می دهد که رهبران صنعت مانند OPEAI را بدون برچسب قیمت سنگین به چالش می کشد. این مدل برش بر روی ترکیبی از معماری متخصصان (MOE) ساخته شده است و دارای 671 میلیارد پارامتر بسیار زیاد است و در حالی که در هر پاس رو به جلو تنها 37 میلیارد فعال می کند. این رویکرد به تعادل عملکرد و کارآیی کمک می کند و این مدل را بسیار مقیاس پذیر و مقرون به صرفه می کند. آنچه DeepSeek-R1 را از هم جدا می کند ، روش یادگیری تقویت کننده تقویت (RL) آن است که به آن امکان می دهد استدلال زنجیره ای ، خود تأیید و تأمل را به صورت خودمختار توسعه دهد. این خصوصیات آن را به ابزاری استثنایی برای مقابله با چالش های پیچیده در زمینه های مختلف مانند ریاضی ، برنامه نویسی و استدلال منطقی تبدیل می کند.

بر خلاف LLM های سنتی ، DeepSeek-R1 بینش بهتری در مورد فرآیندهای استدلال خود ارائه می دهد و عملکرد بهینه شده را در معیارهای کلیدی ارائه می دهد.

مدل-معیار -1

مدل-2

Deepseek-R1 از مدل های برتر مانند Openai's O1 و Claude Sonnet 3.5 در چندین معیار استفاده می کند.

نمودار مقایسه مدل

چندین روش برای نصب DeepSeek-R1 به صورت محلی در دستگاه شما (یا VM) در اینترنت وجود دارد. در این راهنما ، ما سه بهترین و ساده ترین روش را برای تنظیم سریع و اجرای این مدل روی دستگاه شما پوشش خواهیم داد. در پایان این مقاله ، شما قادر خواهید بود تصمیم متفکرانه ای بگیرید که در مورد کدام روش مناسب ترین نیازهای شما باشد.

پیش نیازهای

حداقل نیاز سیستم برای اجرای یک مدل DeepSeek-R1:

  • فضای دیسک: 500 گیگابایت (ممکن است در مدلها متفاوت باشد)

  • نوت بوک Jupyter یا Nvidia cuda نصب شده است.

  • الزامات پیکربندی GPU بسته به نوع مدل به شرح زیر است:

نمودار پیش نیازهای مدل

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

فرآیند گام به گام برای نصب DeepSeek-R1 به صورت محلی

برای هدف از این آموزش ، ما از یک دستگاه مجازی با GPU توسط Nodeshift استفاده خواهیم کرد زیرا ماشین های مجازی محاسباتی بالا را با هزینه بسیار مقرون به صرفه در مقیاس ارائه می دهد که مطابق با الزامات GDPR ، SOC2 و ISO27001 است. همچنین ، این یک رابط بصری و کاربر پسند را ارائه می دهد ، و شروع کار را برای مبتدیان با استقرار ابر آسانتر می کند. با این حال ، احساس راحتی کنید که از هر ارائه دهنده ابر انتخابی خود استفاده کنید و همان مراحل را برای بقیه آموزش دنبال کنید.

مرحله 1: تنظیم یک حساب Nodeshift

به App.Nodeshift.com مراجعه کرده و با پر کردن جزئیات اصلی ، یا یک حساب کاربری ایجاد کنید ، یا به ثبت نام در حساب Google/GitHub خود ادامه دهید.

اگر قبلاً یک حساب کاربری دارید ، مستقیماً به داشبورد خود وارد شوید.

تصویر-مرحله 1-1

مرحله 2: یک گره GPU ایجاد کنید

پس از دسترسی به حساب خود ، باید داشبورد را ببینید (به تصویر مراجعه کنید) ، اکنون:

1) به منوی سمت چپ بروید.

2) روی روی کلیک کنید گره های GPU گزینه

تصویر-مرحله 2-1

3) برای شروع اولین گره GPU خود روی Start کلیک کنید.

این گره های GPU دستگاه های مجازی با GPU توسط Nodeshift هستند. این گره ها بسیار قابل تنظیم هستند و به شما امکان می دهند تنظیمات مختلف محیطی را برای GPU های مختلف از H100 تا A100s ، CPU ، RAM و ذخیره سازی با توجه به نیازهای خود کنترل کنید.

تصویر-مرحله 2-2

مرحله 3: انتخاب پیکربندی برای GPU (مدل ، منطقه ، ذخیره سازی)

1) برای این آموزش ، ما از GPU RTX 4090 استفاده خواهیم کرد ، با این حال ، شما می توانید هر GPU مورد نظر خود را مطابق نیاز خود انتخاب کنید.

2) به طور مشابه ، ما با کشیدن نوار ، 700 گیگابایت را انتخاب خواهیم کرد. همچنین می توانید منطقه ای را که می خواهید GPU خود را از موارد موجود ساکن کنید ، انتخاب کنید.

تصویر-مرحله 3-1

مرحله 4: روش پیکربندی و احراز هویت GPU را انتخاب کنید

1) پس از انتخاب گزینه های پیکربندی مورد نیاز خود ، VM های موجود را در منطقه خود و با توجه به پیکربندی (یا بسیار نزدیک به آن) مشاهده خواهید کرد. در مورد ما ، ما یک گره GPU 2X RTX 4090 با 64 VCPUS/129 گیگابایت رم/700 GB SSD را انتخاب خواهیم کرد.

تصویر-مرحله 4-1

  1. در مرحله بعد ، باید یک روش تأیید اعتبار را انتخاب کنید. دو روش در دسترس است: رمز عبور و کلید SSH. توصیه می کنیم از کلیدهای SSH استفاده کنید ، زیرا آنها گزینه ای امن تر هستند. برای ایجاد یکی ، به مستندات رسمی ما بروید.

تصویر-مرحله 4-2

مرحله 5: یک تصویر را انتخاب کنید

مرحله آخر انتخاب تصویری برای VM است که در مورد ما این است nvidia cuda، جایی که ما از طریق Ollama و VLLM استنباط مدل خود را مستقر و اجرا خواهیم کرد. اگر با استفاده از ترانسفورماتورها استفاده می کنید ، تصویر نوت بوک Jupyter را انتخاب کنید.

تصویر-مرحله 5-1

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

تصویر-مرحله 5-3

تصویر-مرحله 5-4

مرحله ششم: با استفاده از SSH به گره محاسبات فعال وصل شوید

1) به محض ایجاد گره ، در چند ثانیه یا یک دقیقه مستقر می شود. پس از استقرار ، وضعیتی را مشاهده خواهید کرد دویدن به رنگ سبز ، به این معنی که گره محاسباتی ما آماده استفاده است!

2) هنگامی که GPU خود این وضعیت را نشان می دهد ، به سمت سه نقطه در سمت راست حرکت کنید ، روی کلیک کنید با SSH ارتباط برقرار کنید، و جزئیات SSH را که ظاهر می شود کپی کنید.

تصویر-مرحله 6-1

همانطور که جزئیات را کپی می کنید ، مراحل زیر را برای اتصال به GPU VM در حال اجرا از طریق SSH دنبال کنید:

1) ترمینال خود را باز کنید ، دستور SSH را بچسبانید و آن را اجرا کنید.

  1. در بعضی موارد ، ترمینال شما ممکن است قبل از اتصال رضایت شما را بگیرد. “بله” را وارد کنید.

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

خروجی:

تصویر مرحله 6-2

نصب با استفاده از اولاما

Ollama یک گزینه کاربر پسند برای اجرای سریع DeepSeek-R1 به صورت محلی با حداقل پیکربندی است. این مناسب برای افراد یا پروژه های در مقیاس کوچک است که نیازی به بهینه سازی یا مقیاس بندی گسترده ندارند.

قبل از شروع مراحل نصب ، با استفاده از دستور زیر ، جزئیات پیکربندی GPU خود را بررسی کنید:

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

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

خروجی:

تصویر-اولاما -1

اولین روش نصب از طریق اولاما خواهد بود. برای نصب DeepSeek-R1 با Ollama ، مراحل ذکر شده در زیر را دنبال کنید:

1) اولاما را نصب کنید

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

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

خروجی:

تصویر-اولاما -2

2) نصب را با بررسی نسخه تأیید کنید.

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

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

خروجی:

تصویر-اولاما -3

  1. اولما را شروع کنید.

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

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

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

خروجی:

اکنون که سرور Ollama ما شروع شده است ، بیایید مدل را نصب کنیم.

4) یک پنجره ترمینال جدید را باز کنید و دستور Ollama را اجرا کنید تا بررسی کنید که آیا همه چیز در حال اجرا است و لیستی از دستورات Ollama را مشاهده می کنید.

خروجی:

تصویر-اولاما -4

  1. مدل Deepseek-R1 را با دستور زیر اجرا کنید.

(جایگزین کنید با نوع مدل مورد نظر خود ، به عنوان مثال 70b)

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

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

خروجی:

تصویر-اولاما -5

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

6) برای استنتاج مدل ، درخواست کنید.

پس از اتمام بارگیری ، Ollama به طور خودکار یک کنسول را برای شما باز می کند تا یک مدل را تایپ و ارسال کنید. اینجاست که می توانید با مدل گپ بزنید. برای مثال ، پاسخ زیر (در تصاویر نشان داده شده) را برای سریع داده شده در زیر ایجاد می کند:

“تفاوت بین monorepos و turborepos را توضیح دهید”

خروجی:

تصویر-اولاما -6

تصویر-اولاما -7

تصویر-اولاما -8

نصب با استفاده از VLLM

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

در مراحل آینده ، نحوه نصب DeepSeek-R1 را با استفاده از VLLM مشاهده خواهید کرد.

اطمینان حاصل کنید که یک سرور جدید برای انجام این تنظیمات دارید. اگر قبلاً مدل را با استفاده از Ollama نصب کرده اید ، می توانید از این روش پرش کنید یا آن را بر روی یک سرور جدید نصب کنید تا از کمبود حافظه جلوگیری شود.

1) تأیید کنید که آیا پایتون نصب شده است.

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

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

خروجی:

تصویر-VLLM-1

2) PIP را نصب کنید.

apt install -y python3-pip
حالت تمام صفحه را وارد کنید

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

خروجی:

تصویر-vllm-2

  1. بسته های زنگ زدگی و بار را به عنوان وابستگی برای vLLM با استفاده از rustupبشر
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
حالت تمام صفحه را وارد کنید

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

خروجی:

تصویر-VLLM-3

تصویر-VLLM-4

3) نصب را تأیید کنید

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

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

خروجی:

تصویر-VLLM-5

4) VLLM را نصب کنید

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

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

خروجی:

تصویر-VLLM-6

تصویر-VLLM-7

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

pip install transformers -U
حالت تمام صفحه را وارد کنید

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

خروجی:

تصویر-VLLM-8

پس از رفع خطا ، vllm دستور نصب دوباره ، و باید بدون هیچ گونه خطایی بارگیری شود.

  1. مدل را بارگیری و اجرا کنید.

برای دامنه این آموزش ، ما اجرا خواهیم کرد DeepSeek-R1-Distill-Llama-8B مدل با VLLM. در دستور ، فراموش نکنید که شامل شوید --max_model 4096 برای محدود کردن اندازه توکن در پاسخ ؛ در غیر این صورت ، سرور ممکن است از حافظه تمام شود.

vllm serve "deepseek-ai/DeepSeek-R1-Distill-Llama-8B" --max_model 4096
حالت تمام صفحه را وارد کنید

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

خروجی:

تصویر-VLLM-9

  1. یک ترمینال جدید را باز کنید و با استفاده از دستور زیر با سرور مدل تماس بگیرید.

ویژگی “محتوا” را با سریع خود جایگزین کنید. به عنوان مثال ، سریع ما این است که “دستور چای را به من بگویید”.

curl -X POST "http://localhost:8000/v1/chat/completions" \
    -H "Content-Type: application/json" \
    --data '{
        "model": "deepseek-ai/DeepSeek-R1",
        "messages": [
            {
                "role": "user",
                "content": "Tell me the recipe for tea"
            }
        ]
    }'
حالت تمام صفحه را وارد کنید

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

خروجی:

تصویر-VLLM-10

نصب با استفاده از ترانسفورماتورها

ترانسفورماتورها حداکثر انعطاف پذیری و کنترل را برای تنظیم دقیق و آزمایش با Deepseek-R1 ارائه می دهند. این بهترین انتخاب برای توسعه دهندگان و محققانی است که برای موارد استفاده خاص خود نیاز به سفارشی کردن مدل ها دارند و با تنظیمات مختلف آموزش یا استنتاج آزمایش می کنند.

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

1) برای استفاده از عملکرد نوت بوک داخلی در سرور از راه دور خود ، همان مراحل را دنبال کنید (مرحله 1 – مرحله 6) برای ایجاد یک نمونه جدید GPU ، اما این بار ، انتخاب کنید نوت بوک Jupyter گزینه به جای nvidia cuda در یک تصویر را انتخاب کنید بخش و استقرار GPU.

ترانسفورمرهای تصویر -1

  1. پس از اجرای GPU ، روی Connect with SSH کلیک کنید تا یک جلسه نوت بوک Jupyter در مرورگر خود باز شود.

تصویر-ترانسفورماتور -2

  1. یک نوت بوک پایتون را باز کنید.

تصویر-ترانسفورماتور -3

  1. وابستگی ها را نصب کنید تا مدل را با ترانسفورماتورها اجرا کنید.
!pip install transformers accelerate
حالت تمام صفحه را وارد کنید

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

خروجی:

تصویر-ترانسفورماتور -4

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

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

# Use a pipeline as a high-level helper
from transformers import pipeline

messages = [
    {"role": "user", "content": "How can you help me?"},
]
pipe = pipeline("text-generation", model="deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B")
pipe(messages)
حالت تمام صفحه را وارد کنید

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

خروجی:

تصویر-ترانسفورماتور -5

پایان

در این راهنما ، ما سه روش مختلف را برای نصب Deepseek-R1 به صورت محلی-Ollama ، VLLM و Transformers بررسی کرده ایم که هر کدام بسته به نیاز شما ، مزایای منحصر به فرد شما را ارائه می دهند ، خواه سهولت استفاده ، بهینه سازی عملکرد یا انعطاف پذیری باشد. با درک این رویکردها ، می توانید DeepSeek-R1 را به گونه ای مستقر کنید که مناسب گردش کار شما باشد. با استفاده از ابر Nodeshift ، مدیریت چنین استقرارها حتی ساده تر می شود و یک زیرساخت قوی را فراهم می کند که تنظیم را ساده می کند و باعث افزایش مقیاس پذیری می شود و یک تجربه یکپارچه را برای توسعه دهندگان به دنبال مهار قدرت DeepSeek-R1 با حداقل سربار عملیاتی تضمین می کند.

برای اطلاعات بیشتر در مورد Nodeshift:

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

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

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

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