مرا به خاطر بسپار

راهنمای اجرای پروژه‌های یادگیری عمیق با پردازنده گرافیکی H200

بازدید: 224 آخرین به‌روزرسانی: 02 خرداد 1404

مقدمه

این راهنما به شما کمک می‌کند تا با استفاده از ابررایانه سیمرغ و پردازشگرهای گرافیکی پیشرفته (مانند NVIDIA H200) پروژه‌های یادگیری عمیق خود را راه‌اندازی و اجرا کنید. ابررایانه سیمرغ با توان محاسباتی بیش از 20 پتافلاپس برای محاسبات تنسوری، بستری قدرتمند برای پردازش‌های سنگین هوش مصنوعی و یادگیری عمیق فراهم می‌کند. در این راهنما، مراحل، ابزارهای موردنیاز، مثال‌های عملی، و نکات بهینه‌سازی ارائه شده است.

پیش‌نیازها

قبل از شروع، اطمینان حاصل کنید که:
  • حساب کاربری فعال در سامانه https://cloud دارید.
  • دانش پایه در مورد یادگیری عمیق و کتابخانه‌هایی مانند TensorFlow یا PyTorch دارید.
  • داده‌های آموزشی و مدل یادگیری عمیق خود را آماده کرده‌اید.

ابزارهای موردنیاز

سامانه simorgh.cloud: دسترسی به سرورهای ابری و خوشه‌های محاسباتی با پردازشگرهای گرافیکی NVIDIA H200.
کتابخانه‌های یادگیری عمیق:
TensorFlow یا PyTorch (از پیش نصب‌شده در simorgh.cloud).
NVIDIA CUDA و cuDNN برای بهره‌برداری از توان پردازنده گرافیکی.
ابزارهای مدیریت داده:
Pandas و NumPy برای پیش‌پردازش داده‌ها.
Dask یا Apache Spark برای مدیریت داده‌های حجیم (در صورت نیاز).
محیط توسعه:
Jupyter Notebook یا Google Colab (برای آزمایش اولیه).
SSH Client برای اتصال به سرورهای ابری.
سخت‌افزار: دسترسی به NVIDIA H200 GPUs از طریق اجاره H200 در simorgh.cloud.

درباره NVIDIA H200

NVIDIA H200 یک پردازشگر گرافیکی پیشرفته است که برای محاسبات یادگیری عمیق و هوش مصنوعی طراحی شده است. این پردازنده گرافیکی از معماری Hopper بهره می‌برد و دارای توانمندی‌های زیر است:
هسته‌های تنسور: برای شتاب‌دهی به عملیات ماتریسی در یادگیری عمیق.
حافظه HBM3: با ظرفیت بالا (تا ۱۴۱ گیگابایت) و پهنای باند ۳ ترابایت بر ثانیه.
عملکرد: تا ۱.۴ پتافلاپس در محاسبات FP8 برای یادگیری عمیق.
این پردازنده از طریق سامانه simorgh.cloud برای اجاره در دسترس است، که امکان اجرای مدل‌های بزرگ با حداقل تأخیر را فراهم می‌کند.

مراحل راه‌اندازی پروژه

۱. ثبت‌نام و خرید سرویس
به سامانه simorgh.cloud مراجعه کنید و یک حساب کاربری ایجاد کنید.
از بخش خدمات، گزینه اجاره پردازشگر گرافیکی (مانند NVIDIA H200) را انتخاب کنید.
منابع موردنیاز (تعداد GPU، فضای ذخیره‌سازی، و RAM) را مشخص کنید.
اطلاعات دسترسی را پس از خرید دریافت کنید.
۲. آماده‌سازی داده‌ها
داده‌های آموزشی خود را در قالب‌های استاندارد (مانند CSV، HDF5، یا TFRecord) آماده کنید.
از ابزارهای پیش‌پردازش مانند Pandas یا Dask برای پاکسازی و تبدیل داده‌ها استفاده کنید.
مثال: حذف مقادیر گمشده با Pandas:

import pandas as pd
data = pd.read_csv('dataset.csv')
data = data.dropna

داده‌ها را به سیستم خریداری شده در سامانه simorgh.cloud آپلود کنید.

پیکربندی محیط محاسباتی

با استفاده از ssh یا مطابق دستورات اتصال پس از خرید خدمت به سرور ابری متصل شوید. سپس اطمینان حاصل کنید که کودا و cuDNN به درستی نصب شده‌اند:

Nvidia –smi

این دستور باید NVIDIA H200 و نسخه درایور CUDA را نمایش دهد.
در این مرحله، کتابخانه‌های مورد نیاز مانند تنسوفلو یا پایتورچ را نصب یا بررسی کنید (برای مثال در صورت خرید ابرهوش مصنوعی پایتورچ، ابزار آن از پیش نصب شده در اختیار شما قرار داده می‌شود.):

Pip install tensorflow==2.15.0

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

import tensorflow as tf
from tensorflow.keras import layers, models

model = models.Sequential([
    layers.Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3)),
    layers.MaxPooling2D((2, 2)),
    layers.Flatten(),
    layers.Dense(128, activation='relu'),
    layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])
داده‌ها را به مدل وارد کنید و آموزش را شروع کنید:

model.fit(train_images, train_labels, epochs=10, batch_size=32)

برای استفاده از چندین GPU، از استراتژی توزیع TensorFlow استفاده کنید:
strategy = tf.distribute.MirroredStrategy()
with strategy.scope():
    model = models.Sequential([...])
    model.compile(...)

اجرای مدل روی NVIDIA H200

اطمینان حاصل کنید که مدل شما از هسته‌های تنسور H200 استفاده می‌کند:
از کتابخانه cuDNN برای عملیات کانولوشنی و ماتریسی بهینه‌شده استفاده کنید.
تنظیمات FP16 یا FP8 را برای افزایش سرعت فعال کنید (پردازشگرهای دیگر ماننده A100 فاقد تنظیمات FP8 هستند):

tf.keras.mixed_precision.set_global_policy('mixed_float16')

مدل را روی داده‌های آموزشی اجرا کنید و پیشرفت را با ابزارهای نظارتی مانند TensorBoard بررسی کنید:

tensorboard --logdir logs/

بهینه‌سازی و مقیاس‌پذیری

مدیریت حافظه: از دسته‌های کوچک‌تر (batch size) برای جلوگیری از پر شدن حافظه H200 استفاده کنید.
موازی‌سازی: از چندین GPU برای توزیع بار محاسباتی استفاده کنید (مانند مثال استراتژی توزیع بالا).
پهنای باند حافظه: داده‌ها را در فرمت‌های فشرده (مانند TFRecord) ذخیره کنید تا انتقال داده سریع‌تر شود.
نظارت بر عملکرد: از ابزار nvidia-smi برای بررسی استفاده از GPU و شناسایی گلوگاه‌ها استفاده کنید:

nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv

نکات بهینه‌سازی

استفاده از FP8 برای محاسبات تنسوری: NVIDIA H200 از دقت پایین (FP8) پشتیبانی می‌کند که سرعت آموزش را بدون افت قابل‌توجه در دقت تا ۴ برابر افزایش می‌دهد.

تقسیم بار محاسباتی: برای مدل‌های بزرگ، از خوشه‌های ابری یا از سرویس‌های داری چند پردازشگر گرافیکی H200 که توسط ابررایانه سیمرغ ارائه می‌شود استفاده کنید.

ذخیره‌سازی موقت: داده‌های پراستفاده را در حافظه SSD ذخیره کنید تا زمان دسترسی کاهش یابد.

پایش دما و مصرف انرژی: با استفاده از دستور nvidia-smi میتوانید میزان مصرف دما و انرژی را مشاهده کنید. ما در ابررایانه سیمرغ تمهیدات لازم در استفاده از به روزترین سیستم‌های خنک‌کننده برای جلوگیری از داغ شدن H200 در طول آموزش‌های طولانی را اندیشیده‌ایم.

انتخاب batch size مناسب: برای مدل‌های بزرگ، batch size بین ۱۶ تا ۶۴ را آزمایش کنید تا تعادل بین سرعت و پایداری حفظ شود.

جمع‌بندی

با استفاده از ابررایانه سیمرغ و اجاره پردازشگرهای NVIDIA H200 از آن، می‌توانید پروژه‌های یادگیری عمیق خود را با سرعت و کارایی بالا اجرا کنید. این راهنما مراحل اصلی را پوشش داد، اما برای پروژه‌های پیچیده‌تر، می‌توانید از پشتیبانی فنی simorgh.cloud یا مستندات NVIDIA استفاده کنید. برای اجاره NVIDIA H200 و دسترسی به منابع بیشتر، به simorgh.cloud مراجعه کنید.

سوالات متداول

  1. تفاوت اصلی H200 با H100 چیست؟
H200 دارای ۱۴۱ گیگابایت حافظه HBM3e با پهنای باند ۴.۸ ترابایت بر ثانیه است، در مقابل ۸۰ گیگابایت و ۳.۳۵ ترابایت بر ثانیه H100.
  1. آیا H200 برای هوش مصنوعی generative مناسب است؟
بله، H200 مدل‌هایی مانند Stable Diffusion را با حافظه بالا و پهنای باند ۴.۸ ترابایت بر ثانیه سریع‌تر پردازش می‌کند.
  1. H200 در مقایسه با A100 در وظایف HPC چطور عمل می‌کند؟
H200 تا ۲ برابر سریع‌تر از A100 در وظایفی مانند شبیه‌سازی MILC عمل می‌کند.

منابع

https://simorgh.cloud/
تا چه حد این مطلب برای شما مفید بود؟
بر اساس رای 1 نفر

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

ثبت نظر

نظر دادن