چطور ترکیب سخت‌افزار و نرم‌افزار هوش مصنوعی رو سبزتر می‌کنه (داستان GPUهای AMD و NVIDIA و بقیه!)

Fall Back

خب بیاید یه راست بریم سر اصل مطلب: آموزش مدل‌های هوش مصنوعی و یادگیری عمیق – اون مدل‌هایی که خیلی بزرگ و معروف هستن – یه عالمه برق و منابع کامپیوتری می‌خورن. واقعاً وقتی نگاه می‌کنی، هرچی مدل‌ها پیچیده‌تر و باهوش‌تر می‌شن، مصرف انرژی‌شون می‌ره بالا و خب این داستان از نظر محیط زیستی اصلاً خوب نیست. الان دیگه بحث سر اینه که چطور میشه کاری کرد که این مدل‌ها کمتر به محیط زیست آسیب بزنن و پایدارتر (یعنی دوست‌دار محیط زیست و دوام‌دار) بشن.

یکی از جواب‌های باحال و امیدبخش برای این مشکل، همکاری هوشمندانه بین سخت‌افزار و نرم‌افزار هست — به این کار می‌گن “هم‌طراحی سخت‌افزار و نرم‌افزار” یا همون Hardware-Software Co-Design، یعنی جفتشون رو طوری بچینیم و تنظیم کنیم که از هم بیشترین بهره رو ببرن و مصرف انرژیشون هم کم بشه.

حالا این مقاله به طور خاص رفته سراغ کارت‌های گرافیکی معروف مثل NVIDIA و AMD و حتی معماری‌های جدیدتری که شاید اسمشون هنوز همه‌گیر نشده باشه. کارت گرافیک یا همون GPU: این همون قطعه تو کامپیوتره که باعث میشه مدل‌های بزرگ هوش مصنوعی سریع‌تر و بهتر آموزش ببینن.

نویسنده‌ها نشون میدن که چطوری باهوش‌تر کردن پردازش‌های مموری (memory-level operations), و عملیات کرنل (kernel-level operations — یعنی اون بخش کوچیکی از برنامه که روی GPU اجرا میشه)، میشه کلی کارایی بالاتر به‌ازای مصرف انرژی کمتر (performance-per-watt) گرفت. خلاصه، اگه این کارا درست انجام بشن، هر وات برق که مصرف می‌کنیم، خروجی و کارایی خیلی بیشتری می‌گیریم.

یه تیکه مهم از ماجرا هم اینه که باید از بخش‌های تخصصی جدید کارت‌های گرافیک مثل هسته‌های “تنسور” و “ماتریس” استفاده کنیم — اینا قطعه‌هایی تو GPU هستن که مخصوص محاسبات پیچیده مدل‌های یادگیری ماشینی طراحی شدن و یه عالمه سرعت و بازدهی میارن.

ولی قضیه فقط به سخت‌افزار ختم نمیشه؛ کلی ترفند و بهینه‌سازی نرم‌افزاری هم داریم که کمک می‌کنن:

  • استفاده از “محاسبات با دقت ترکیبی” یا mixed-precision، یعنی اعداد رو (مثلاً بجای دقت بالا) با دقت کمتر و سریع‌تر محاسبه کنیم و برق الکی هدر ندیم.
  • زمان‌بندی‌های هوشمند مصرف انرژی که بهشون می‌گن الگوریتم‌های پیشرفته energy-aware scheduling — یعنی خود سیستم تشخیص بده چطور و کی منابع رو خرج کنه که مصرف برق کم بشه.
  • بهبود کرنل با کمک کامپایلر — کامپایلر همون برنامه‌ایه که کد رو برای اجرا روی سخت‌افزار آماده می‌کنه، و اگه باهوش باشه می‌تونه کرنل‌ها رو حسابی بهینه کنه.

تازه، نویسنده‌ها اومدن کار شرکت‌های بزرگ مثل Meta (فیسبوک سابق)، Google و Amazon رو هم بررسی کردن که نشون بدن این ایده‌ها واقعاً بکاره و عملیاتی هستن و خودشون دارن از این روشا استفاده می‌کنن تا آموزش مدل‌های هوش مصنوعی‌شون دوست‌دار محیط زیست‌تر باشه.

یه نکته باحال دیگه هم اینکه باوجود این همه پیشرفت، هنوزم یه سری چالش و مساله حل نشده وجود داره. یعنی کارای زیادی مونده تا هوش مصنوعی واقعاً “پایدار” بشه و دیگه حرف و حدیثی از نظر انرژی براش نمونه. مثلاً هنوز کلی جای کار برای روش‌های جدید و بهتر تو طراحی و ترکیب سخت‌افزار و نرم‌افزار هست تا هوش مصنوعی رو هم قدرتمندتر کنیم و هم محیط زیست رو حفظ کنیم.

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

منبع: +