GraphicsSpeed

راه‌اندازی Jupyter برای پروژه‌های هوش مصنوعی

🧠 مقدمه

JupyterLab محیطی برای اجرای تعاملی کد Python در notebook است. در این آموزش آن را روی Linux نصب می‌کنید، دسترسی امن به آن را می‌شناسید و بررسی می‌کنید که PyTorch می‌تواند از GPU استفاده کند.

مراحل نصب و پیکربندی این راهنما برای سیستم Linux، دستگاه دارای GPU یا سرور GPU تحت مدیریت خودتان است. اگر کاربر GraphicsSpeed هستید، محیط Jupyter مرورگری و ابزارهای اصلی از قبل آماده‌اند؛ برای شروع لازم نیست این مراحل نصب سرور را تکرار کنید. جزئیات GPUها و قیمت استفاده را در صفحه GPU ابری GraphicsSpeed ببینید.

⚙️ مرحله ۱: نصب پیش‌نیازها

در Ubuntu، Python و ابزار ساخت محیط مجازی را نصب کنید:

sudo apt update
sudo apt install python3-venv python3-pip -y

برای جدا نگه‌داشتن وابستگی‌های Jupyter از پروژه‌های دیگر، محیط مجازی بسازید و فعال کنید:

python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install jupyterlab

این راهنما از نصب JupyterLab با pip در محیط مجازی استفاده می‌کند؛ روش‌های دیگر را در راهنمای رسمی نصب Jupyter ببینید.

🚀 مرحله ۲: اجرای اولیه JupyterLab

برای استفاده روی همان دستگاه، JupyterLab را اجرا کنید:

jupyter lab

آدرس محلی معمولاً http://localhost:8888/lab است. Jupyter به‌طور پیش‌فرض احراز هویت token را فعال می‌کند و token را در ترمینال نشان می‌دهد. این token مانند رمز ورود است؛ آن را منتشر نکنید و URL کامل حاوی token را با دیگران به اشتراک نگذارید.

دسترسی به Jupyter روی سرور شخصی

برای دسترسی از رایانه خود به سروری که مدیریت می‌کنید، Jupyter را روی loopback سرور اجرا کنید:

jupyter lab --no-browser --ip=127.0.0.1 --port=8888

از رایانه خود یک SSH tunnel بسازید:

ssh -N -L 8888:127.0.0.1:8888 your-user@your-server

سپس آدرس http://localhost:8888/lab را در مرورگر رایانه خود باز کنید و token نمایش‌داده‌شده در ترمینال سرور را وارد کنید.

گزینه --ip=0.0.0.0 باعث می‌شود Jupyter روی همه رابط‌های شبکه گوش کند؛ این کار به‌تنهایی سرور را امن نمی‌کند. پورت Jupyter را بدون کنترل دسترسی در معرض اینترنت عمومی قرار ندهید. اگر به دسترسی عمومی نیاز دارید، احراز هویت را فعال نگه دارید و از HTTPS همراه reverse proxy یا یک VPN امن استفاده کنید. توضیحات بیشتر در راهنمای امنیت Jupyter Server آمده است.

🔒 مرحله ۳: مدیریت احراز هویت

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

jupyter server password

دستور، رمز را تعاملی دریافت می‌کند و مقدار hash‌شده را در پیکربندی Jupyter ذخیره می‌کند. رمز یا token را در کد notebook، فایل عمومی یا پیام قابل‌دسترسی دیگران قرار ندهید. فعال‌کردن رمز عبور به معنی امن‌شدن اتصال شبکه نیست؛ برای دسترسی راه دور همچنان از tunnel یا HTTPS استفاده کنید.

⚡ مرحله ۴: نصب PyTorch و بررسی GPU

برای نصب PyTorch، ترکیب سیستم‌عامل، package manager و compute platform خود را در انتخاب‌گر رسمی نصب PyTorch انتخاب کنید و دستور تولیدشده را در همان محیط مجازی اجرا کنید. دستور نصب به سیستم و نسخه‌های پشتیبانی‌شده بستگی دارد؛ یک URL ثابت CUDA را برای همه دستگاه‌ها به‌کار نبرید.

اگر GPU شما NVIDIA است، این دستور اختیاری وضعیت GPU و درایور را در سطح سیستم نشان می‌دهد:

nvidia-smi

در یک notebook، دسترسی PyTorch به CUDA را جداگانه بررسی کنید:

import torch

cuda_available = torch.cuda.is_available()
print("CUDA available to PyTorch:", cuda_available)

if cuda_available:
    print("GPU:", torch.cuda.get_device_name(0))

nvidia-smi دیده‌شدن GPU و درایور NVIDIA را در سطح سیستم بررسی می‌کند. torch.cuda.is_available() مشخص می‌کند نصب PyTorch فعلی می‌تواند از CUDA استفاده کند. موفق‌بودن یکی، موفق‌بودن دیگری را تضمین نمی‌کند. اگر GPU در دسترس نبود، خروجی هر دو بررسی و دستور نصب انتخاب‌شده برای PyTorch را مرور کنید.

🧮 مرحله ۵: اجرای یک نمونه ساده روی GPU

اگر بررسی قبلی True بود، این نمونه را در یک سلول notebook اجرا کنید. تانسورها روی GPU ساخته می‌شوند و یک محاسبه ساده انجام می‌دهند:

import torch

device = torch.device("cuda")
left = torch.rand((512, 512), device=device)
right = torch.rand((512, 512), device=device)
result = left @ right

print("Device:", result.device)
print("Result shape:", result.shape)

اگر CUDA available to PyTorch مقدار False داشت، این نمونه را روی CPU اجرا نکنید و انتظار شتاب GPU نداشته باشید. ابتدا محیط Python، نصب PyTorch و وضعیت درایور را بررسی کنید.

📦 مرحله ۶: ذخیره و خروجی گرفتن از notebook

فایل notebook را در پوشه پروژه ذخیره کنید. برای تبدیل آن به HTML:

jupyter nbconvert --to html my_notebook.ipynb

برای اشتراک‌گذاری، می‌توانید فایل را در GitHub قرار دهید یا از nbviewer استفاده کنید. پیش از اشتراک‌گذاری، خروجی سلول‌ها و اطلاعات حساس مانند tokenها، رمزها و مسیرهای خصوصی را بررسی کنید.

🧭 جمع‌بندی

در این راهنما JupyterLab را در محیط مجازی نصب کردید، دسترسی محلی یا از راه دور با SSH tunnel را شناختید و GPU را با دو بررسی متفاوت ارزیابی کردید: nvidia-smi برای وضعیت سیستم و torch.cuda.is_available() برای دسترسی PyTorch به CUDA.

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


برای اجرای پروژه‌های Python و AI/ML در محیط Jupyter و با GPU، جزئیات GPUهای قابل انتخاب و قیمت استفاده را ببینید.