بعد از GPU چی؟ نور، مغز و آموزش بدون backprop
خلاصهٔ کاملتر
نویسنده میگه مشکل GPUها کند بودن نیست. مشکل اینه که تراشه، الگوریتم آموزش و طراحی مدل با هم رشد کردن و حالا به یه مسیر خاص قفل شدن. شاخص gigaflops per joule (یعنی چقدر محاسبه به ازای هر واحد انرژی) حدود دو ساله که تقریباً ثابت مونده. از دورهٔ AlexNet در ۲۰۱۲ تا حدود ۲۰۲۰ تمرکز روی قدرت خام محاسبه بود، ولی بعد از اومدن ترنسفورمرها سازندهها رفتن سراغ حافظهٔ بیشتر و پهنای باند بالاتر. دلیلش اینه که attention با طول ورودی بهصورت درجهٔ دو بزرگ میشه.
مشکل دوم خود backpropagation هست، یعنی روشی که خطا رو از آخر شبکه به عقب برمیگردونه تا وزنها آپدیت بشن. به گفتهٔ نویسنده، مغز اینجوری کار نمیکنه و بیشتر رو به جلوئه. روشهای جایگزینی مثل یادگیری Hebbian (یعنی قویشدن اتصالها وقتی دو نورون با هم فعال میشن) به مشکلی به اسم weight transport problem میخورن: مسیر برگشت باید دقیقاً همون وزنهای مسیر رفت رو داشته باشه و هیچ سازوکار زیستی واضحی برای این وجود نداره.
محاسبات نوری از اینجا شروع میشه که دیتاسنترها همین الان داده رو با فیبر نوری جابهجا میکنن. هدر رفتن انرژی سر مرزهاست: نور به سیگنال برقی تبدیل میشه، محاسبه انجام میشه، و دوباره برمیگرده به نور. ایده اینه که خود محاسبه، مثلاً ضرب ماتریس، با عبور نور از ساختارهای مهندسیشده انجام بشه و انرژی خیلی کمی مصرف کنه. حتی تولید تصویر به روش diffusion با نور هم بهعنوان نمونهٔ اولیه امتحان شده. ولی نور یه جا نمیمونه، پس نگهداشتن داده و وزنها، که آموزش شبکه بهش وابستهست، خیلی سخته.
محاسبات neuromorphic یعنی ساختن تراشههایی که ساختار مغز رو مستقیم با مدار آنالوگ تقلید کنن، نه اینکه نورون رو روی سختافزار دیجیتال شبیهسازی کنن. مغز با حدود ۲۰ وات کار میکنه. یه بخش از رازش ساختاریه: واحدهای تکراری به اسم cortical column که با سیگنالهای بازدارنده از هم جدا میشن و هرکدوم تا حدی مستقل یاد میگیرن. شبکههای عصبی معمولی و GPUها چنین چیزی ندارن.
راه سوم، zero-order optimization هست، یعنی آموزش مدل فقط با forward pass و بدون محاسبهٔ گرادیان. توی روش SPSA پارامترها رو در یه جهت تصادفی کمی مثبت و کمی منفی تغییر میدن، دو بار مدل رو اجرا میکنن و از فرق خطاها میفهمن چقدر باید آپدیت کنن. این روش روی loss ناهموار هم جواب میده و لازم نیست activationها برای مسیر برگشت ذخیره بشن. ولی هرچی مدل بزرگتر بشه نویزش بیشتر میشه.
پیشنهاد نویسنده اینه که مدل بزرگ به کلی مدل کوچیک (شبیه mixture-of-experts) شکسته بشه و هرکدوم جدا آموزش ببینن. این فقط وقتی بهصرفهست که هر forward pass خیلی ارزون بشه، و دقیقاً اینجاست که سختافزار نوری یا neuromorphic به کار میاد.
نکات کلیدی:
- راندمان gigaflops per joule در GPUها حدود دو سال اخیر تقریباً ثابت مونده.
- مغز انسان با حدود ۲۰ وات کار میکنه.
- محاسبات نوری مصرف انرژی خیلی کمی داره ولی ذخیرهٔ داده توش سخته.
- SPSA با دو forward pass و یه تغییر تصادفی، بدون گرادیان مدل رو آموزش میده، ولی برای مدلهای خیلی بزرگ پرنویز میشه.
- هیچکدوم از این سه روش فعلاً جای GPU رو نمیگیره و بیشترشون هنوز در حد تحقیقاتیان.




