پرش به محتوای اصلی
پرش به محتوای مقاله

بهینه‌ساز Adam: موتور ریاضی که آموزش مدل‌های میلیاردپارامتری را ممکن کرد

·۱۳ تیر ۱۴۰۵۷ دقیقه مطالعه
آدام: الگوریتم بهینه‌سازی که مدل‌های زبانی بزرگ را عملی کرد
آدام: الگوریتم بهینه‌سازی که مدل‌های زبانی بزرگ را عملی کرد
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

توضیح این مطلب روی سیگنال «زیرساختی» متمرکز است؛ برخلاف اکثر اخبار که بر قابلیت‌های مدل (Output) تأکید دارند، اینجا مکانیزم ریاضی که امکان تولید آن خروجی‌ها را فراهم کرد (Optimizer) بررسی شده است.

تصور کنید مدل زبانی بزرگی با ۷۰ میلیارد پارامتر را آموزش می‌دهید؛ برای اینکه در این مسیر سقوط نکنید، به چیزی بیشتر از یک معماری خوب نیاز دارید. شما به راهی نیاز دارید که هر گام به سمت پایین (کاهش خطا) بدون لغزش از صخره برداشته شود. بهینه‌ساز Adam (Adaptive Moment Estimation) همان موتور ریاضی است که این پایداری را در کوادریلیون‌ها به‌روزرسانی پارامتر تضمین می‌کند.

بدون Adam، احتمالاً مدل‌های مشهوری مثل ChatGPT، Claude، Gemini و Llama بسیار دیرتر به واقعیت می‌پیوستند. در حالی که پیشرفت‌هایی مثل ترنسفورمر (Transformer)، مکانیزم‌های توجه (Attention) و مجموعه‌داده‌های عظیم تیتر اخبار می‌شوند، اما بهینه‌ساز قهرمانی است که نامش کمتر شنیده شده است. طبق مستندات فنی، تک‌تک به‌روزرسانی‌های گرادیان در طول آموزش به این الگوریتم وابسته است تا دقیقاً تصمیم بگیرد هر پارامتر چقدر تغییر کند.

پیش از معرفی Adam در سال ۲۰۱۴، آموزش شبکه عصبی (Neural Network) — شبکه‌ای از سلول‌های کوچک، شبیه نقشه مترو، که سیگنال را از ورودی به جواب می‌رساند — فرآیندی بسیار شکننده بود. به نقل از منابع پژوهشی، اکثر محققان بر کاهش گرادیان تصادفی (SGD) تکیه می‌کردند؛ روشی که شبیه کوهنوردی در مه غلیظ است و شما فقط شیب زیر پای خود را می‌بینید. فرمول ساده به‌روزرسانی در SGD چنین است: [ \theta = \theta - \eta \nabla L ]، که در آن θ پارامترها، η نرخ یادگیری (Learning Rate) و ∇L گرادیان است.

در فضایی با میلیاردها پارامتر، این رویکرد اغلب شکست می‌خورد. شبکه‌های عصبی واقعی شبیه کوه‌های صاف نیستند، بلکه دارای صخره‌های تند، دره‌های باریک، فلات‌های مسطح و زمین‌های پر نوسان در میلیون‌ها یا میلیاردها بعد هستند. چون گرادیان‌ها روی نمونه‌های کوچکی از داده‌ها (mini-batches) محاسبه می‌شوند، کل فرآیند تصادفی (stochastic) است؛ انگار سعی دارید از کوهی پایین بروید در حالی که کسی مدام زمین زیر پای شما را به‌طور تصادفی تکان می‌دهد.

همان‌طور که در تحلیل قبلی ما درباره‌ی هزینه‌های سخت‌افزاری مدل‌های محلی اشاره کردیم، مشخص است که کارایی تنها به GPU مربوط نمی‌شود. بهینه‌سازی یک مسئله اقتصادی مستقیم است. در یک عملیات آموزشی چند میلیون دلاری، بهبود ۱۰ درصدی در سرعت همگرایی به معنای صرفه‌جویی صدها هزار دلاری و تکرار سریع‌تر آزمایش‌های علمی است. سرعت همگرایی بیشتر به پژوهشگران اجازه می‌دهد تا معماری‌های مدل را سریع‌تر بازبینی کنند و هزینه‌ی فرصت عظیمِ مربوط به عملیات‌های طولانی آموزشی را کاهش دهند.

تکامل هر گام

پژوهشگران برای حل نویز SGD، مفهوم تکانه (Momentum) را معرفی کردند. این تکنیک شبیه یک چرخ‌دستی سنگین است: وقتی در یک جهت ثابت حرکت می‌کند، سرعت می‌گیرد و اجازه می‌دهد بهینه‌ساز نوسانات کوچک را نادیده بگیرد و از نقاط کمینه محلی کم‌عمق خارج شود. از نظر ریاضی، تکانه سرعت را ردیابی می‌کند: [ v_t=\beta v_{t-1}+(1-\beta)g_t ]، که در آن (g_t) گرادیان فعلی و (v_t) سرعت انباشته شده است. در این حالت، به‌روزرسانی پارامتر به [ \theta=\theta-\eta v_t ] تغییر می‌یابد.

با این حال، مشکلی دیگر باقی ماند: پارامترهای مختلف با سرعت‌های متفاوتی یاد می‌گیرند. در یک شبکه عظیم، برخی پارامترها گرادیان‌های بسیار کوچکی (مثلاً ۰.۰۰۰۰۲) و برخی دیگر گرادیان‌های عظیمی (مثلاً ۴۵) دریافت می‌کنند. استفاده از یک نرخ یادگیری واحد برای همه، به یک بازی تعادلی تبدیل می‌شود که در آن نرخ یادگیری یا برای گرادیان‌های ریز بسیار کند است و یا برای گرادیان‌های بزرگ بیش از حد تهاجمی است، که در نهایت منجر به واگرایی مدل می‌شود.

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

Adam چگونه مشکل مقیاس را حل می‌کند

در مقاله سال ۲۰۱۴ با عنوان «Adam: A Method for Stochastic Optimization»، دیڈریک پینگما (Diederik P. Kingma) و جیمی با (Jimmy Ba) یک راهکار ترکیبی ارائه دادند. Adam قدرت الگوریتم‌هایی مثل AdaGrad و RMSProp را با هم ادغام می‌کند. این بهینه‌ساز برای تک‌تک پارامترها، دو آمار جاری را نگه می‌دارد:

  • گشتاور اول (m_t): میانگین گرادیان که نماینده بخش تکانه است.
  • گشتاور دوم (v_t): میانگین مجذور گرادیان که میزان «ناپایداری» یا «عدم قطعیت» به‌روزرسانی‌ها را می‌سنجد.

نمایش نحوه پیش‌بینی اپلیکیشن‌ها از رفتار کاربر با الگوریتم‌های یادگیری ماشین و تحلیل داده‌ها

قاعده به‌روزرسانی تقریباً به این صورت است: [ \theta \theta \eta \frac{m_t} {\sqrt{v_t}+\epsilon} ]. این مکانیزم به Adam اجازه می‌دهد برای هر پارامتر یک نرخ یادگیری شخصی‌سازی شده داشته باشد. اگر پارامتری مدام گرادیان‌های بزرگی بگیرد، مخرج کسر بزرگ‌تر شده و به‌روزرسانی‌های آینده کوچک می‌شوند تا از انفجار پارامتر جلوگیری شود. اگر پارامتری به‌ندرت تغییر کند، مخرج کوچک می‌ماند و اجازه می‌دهد به‌روزرسانی‌های نسبتاً بزرگ‌تری رخ دهد تا پارامتر همچنان در حرکت باشد.

برای مثال، یک محاسبه سریع را برای دو پارامتر در نظر بگیرید که هر دو در حال حاضر گرادیان یکسانی دارند (میانگین گرادیان = ۲):

  • پارامتر A: میانگین مجذور گرادیان ۱۰۰ است. به‌روزرسانی می‌شود: ۲ / √۱۰۰ = ۰.۲.
  • پارامتر B: میانگین مجذور گرادیان ۴ است. به‌روزرسانی می‌شود: ۲ / √۴ = ۱.

با وجود اینکه گرادیان‌ها امروز یکسان هستند، Adam به پارامتر B بسیار بیشتر اعتماد می‌کند چون واریانس تاریخی آن کمتر است. این مقیاس‌بندی خودکار دلیل اثرگذاری بالای Adam در آموزش شبکه‌های عمیق است.

مدیریت «راه‌اندازی سرد»

یک مانع فنی در میانگین‌های متحرک این است که آن‌ها از صفر شروع می‌شوند. در ابتدای آموزش، این موضوع یک سوگیری (bias) به سمت صفر ایجاد می‌کند و به این معنی است که تخمین‌های اولیه نادرست هستند. پینگما و با برای حل این مشکل «اصلاح سوگیری» را معرفی کردند: [ \hat m_t \frac{m_t} {1-\beta_1^t} ] و [ \hat v_t \frac{v_t} {1-\beta_2^t} ].

این اصلاحات سریعاً سوگیری شروع را در چند گام نخست بهینه‌سازی حذف می‌کنند. اگرچه این یک ترفند ریاضی کوچک به نظر می‌رسد، اما تأثیر عملی شگفت‌انگیزی بر پایداری اولیه مدل دارد.

پیوند با مدل‌های زبانی بزرگ

مدل‌های امروزی مثل معماری‌های GPT، بین ۷ تا ۷۰ میلیارد پارامتر دارند و در برخی سیستم‌های پژوهشی، این عدد از یک تریلیون فراتر می‌رود. در هر گام بهینه‌سازی، تک‌تک پارامترهای قابل آموزش به‌روزرسانی می‌شوند. در طول صدها هزار گام، Adam میلیاردها پارامتر را در صدها هزار به‌روزرسانی مدیریت می‌کند که منجر به کوادریلیون‌ها تصمیم به‌روزرسانی مجزا می‌شود.

بدون پایداری Adam، این مدل‌ها احتمالاً واگرا می‌شدند و مقادیر عظیمی از زمان GPU و سرمایه تلف می‌شد. رویکرد مشابهی در مدل‌های نوین استدلال دیده می‌شود، جایی که مدل‌های انتشار مانند iLLaDA تلاش می‌کنند با بهینه‌سازی‌های دقیق، عملکرد خود را با مدل‌های autoregressive قدرتمندی مثل Qwen2.5 هم‌تراز کنند. چون Adam به تنظیم بسیار کمی از ابرپارامترها (Hyperparameter) نیاز دارد، پیشرفت در بینایی ماشین، بازشناسی گفتار و سیستم‌های توصیه‌گر را شتاب داد و در نهایت مسیر را برای انقلاب ترنسفورمر در سال ۲۰۱۷ هموار کرد.

گذار به AdamW و جایگزین‌ها

Adam کامل نیست. محققان دریافته‌اند که SGD ساده گاهی مدل‌هایی با تعمیم‌پذیری (Generalization) بهتر در وظایف خاص بینایی تولید می‌کند. برخی دیگر متوجه مشکلات همگرایی در تنظیمات تئوریک خاص شده‌اند. با مقیاس‌پذیری مدل‌ها، نسخه‌های جدیدی برای رفع این نقص‌ها ظاهر شدند:

  • AdamW: این نسخه «کاهش وزن» (Weight Decay) را از به‌روزرسانی‌های تطبیقی جدا می‌کند. این بهینه‌ساز پیش‌فرض بسیاری از پیاده‌سازی‌های مدرن ترنسفورمر است زیرا اغلب باعث بهبود منظم‌سازی می‌شود.
  • AdaFactor: به‌طور خاص برای کاهش اثر حافظه مورد نیاز برای ذخیره آمار گشتاور دوم طراحی شده است تا حافظه کمتری اشغال کند.
  • Lion: یک بهینه‌ساز مبتنی بر علامت (sign-based) که برای دستیابی به کارایی حتی بیشتر ایجاد شده است.

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

درس بزرگ

وقتی مقاله ترنسفورمر در سال ۲۰۱۷ منتشر شد، مکانیزم توجه به‌حق تیتر خبر شد. اما ترنسفورمرها به تنهایی کافی نبودند. یادگیری عمیق مدرن بر لایه‌هایی از نوآوری می‌ایستد: مجموعه‌داده‌های بزرگ‌تر، مقداردهی اولیه بهبودیافته، روش‌های نرمال‌سازی، اتصالات باقی‌مانده (Residual Connections) و بهینه‌سازهای کارآمد.

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

گام بعدی شما

  • اگر از PyTorch یا TensorFlow استفاده می‌کنید، تفاوت عملکرد Adam و AdamW را در پروژه‌های خود تست کنید تا تأثیر منظم‌سازی را ببینید.
  • برای درک عمیق‌تر، مقاله اصلی پینگما و با (۲۰۱۴) را بخوانید تا بفهمید چرا اصلاح سوگیری در شروع آموزش حیاتی است.
  • در صورت محدودیت حافظه VRAM، استفاده از AdaFactor را جایگزین Adam کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

بهینه‌ساز Adam با کاهش زمان همگرایی، هزینه‌ی آموزش مدل‌های عظیم را از حالت غیرممکن به مقدور تبدیل کرد. اعتبار این الگوریتم در واقعیت عملیاتی مدل‌های زبانی بزرگ تأیید شده است و بدون آن، ریسک واگرایی مدل‌ها در مقیاس تریلیونی غیرقابل مدیریت بود.

تأثیر برای ایران

این موضوع برای پژوهشگران مدل‌های بنیادی و توسعه‌دهندگان AI در ایران که با محدودیت شدید منابع محاسباتی (GPU) روبرو هستند، حیاتی است؛ چرا که انتخاب بهینه‌ساز درست مستقیماً زمان و هزینه آموزش را کاهش می‌دهد.

·نگاه ما
تحریریه دات‌هوش

تمرکز بیش از حد جامعه‌ی فناوری بر معماری مدل‌ها (مانند ترنسفورمرها) یک خطای ادراکی است. در واقع، پایداری ریاضی در لایه‌ی بهینه‌سازی، سد دفاعی اصلی در برابر شکست‌های چند میلیون دلاری است. Adam نشان داد که در مقیاس میلیاردها پارامتر، «تطبیق‌پذیری» راه‌حل جایگزین «دقت مطلق» است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.