تصور کنید میخواهید به مدل یاد بدهید قبل از پاسخ دادن، فکر کند؛ این کار به چیزی فراتر از داده نیاز دارد و مستلزم سیستمی از پاداش است که تنبل بودن را جریمه کند. با پیادهسازی یک گردشکار بهینهسازی سیاست نسبی گروهی (Group Relative Policy Optimization یا GRPO)، مدل Gemma-3 گوگل میتواند به سمت استدلالی ساختارمند سوق داده شود. این رویکرد مدل را مجبور میکند تا چندین مسیر استدلال را تولید کند و سپس سیستم، پاداش را به تلاشهایی اختصاص میدهد که از نظر منطقی درست و از نظر قالببندی دقیق باشند.
به طور سنتی، یادگیری تقویتی با بازخورد انسانی (RLHF) — که شبیه آموزش یک ورزشکار توسط مربی است که برای هر حرکت درست امتیاز میدهد — بسیار هزینهبر بوده و اغلب به خوشههای عظیم محاسباتی نیاز داشت تا یک مدل مرجع (Reference Model) و یک مدل سیاست (Policy Model) را بهطور همزمان نگه دارد. اما ادغام Tunix، JAX و لورا (LoRA یا Low-Rank Adaptation) — که مانند اضافه کردن چند لایه متمرکز روی یک نقشه قدیمی برای بهروزرسانی آن است — اجازه میدهد این فرآیند پیچیده روی یک شتابدهنده واحد (Single-accelerator setup) اجرا شود. با بهروزرسانی تنها بخش کوچکی از وزنهای مدل، توسعهدهندگان میتوانند بدون هزینههای سنگین و سربار تنظیم دقیق کامل پارامترها (Full-parameter fine-tuning)، استدلال مدل را ارتقا دهند.
همانطور که در تحلیلهای پیشین ما دربارهی مدلهای استدلالی اشاره کردیم، تمرکز صنعت از «دانستن» به «چگونگی فکر کردن» تغییر کرده است. برای پیادهسازی این مورد، از مجموعه داده GSM8K استفاده شده است که یک بنچمارک از مسائل کلامی با کیفیت بالا در سطح ریاضیات ابتدایی است. در اینجا هدف تنها رسیدن به پاسخ عددی صحیح نیست، بلکه تمرکز بر فرآیند رسیدن به آن پاسخ است. مدل از طریق یک پرامپت سیستمی (System Prompt) هدایت میشود تا تکگوییهای داخلی (Internal Monologue) خود را در تگهای <reasoning> و پاسخ نهایی را در تگهای <answer> قرار دهد.
زمینه: محیط و پیکربندی
محیط آموزشی با نصب یک اکوسیستم جامع JAX، شامل Tunix و Flax و Qwix و TensorFlow ایجاد شده است. فرآیند راهاندازی و نصب معمولاً بین ۵ تا ۸ دقیقه زمان میبرد و برای دسترسی به مجوز مدل Gemma، نیاز به احراز هویت از طریق توکن Hugging Face دارد. برای اینکه تمام توان سختافزاری روی آموزش متمرکز شود و تداخلی پیش نیاید، TensorFlow بهطور صریح پیکربندی شده تا دستگاههای GPU را نادیده بگیرد؛ این کار با دستور tf.config.set_visible_devices([], "GPU") انجام میشود.
این ساختار نصب شامل چندین کتابخانه تخصصی است، از جمله ipywidgets و tensorboardX و transformers و grain و nest_asyncio و datasets و huggingface_hub و همچنین نسخه numpy > 2. برای تضمین دسترسی به آخرین نسخهها و قابلیتهای خاص، گردشکار به گونهای تنظیم شده که Tunix و Qwix و Flax را مستقیماً از مخازن گیتهاب (GitHub repositories) مربوطه نصب کند. پس از نصب اولیه، محیط اجرای برنامه (Runtime) بهطور برنامهریزی شده با دستور os.kill(os.getpid(), 9) ریاستارت میشود تا پیکربندی محیط نهایی شود.
در بخش ارکستراسیون سختافزاری، از یک مش دستگاه JAX (JAX device mesh) استفاده میشود که با پیکربندی [(N, 1), ("fsdp", "tp")] و انواع محور Symmetry.Auto تنظیم شده است. این پیکربندی به مدل اجازه میدهد تا بهطور بهینه روی دستگاههای موجود TPU یا GPU مقیاسپذیر شود. در این پروژه از مدل google/gemma-3-1b-it به عنوان مدل پایه استفاده شده است تا تعادلی بهینه بین ظرفیت استدلال و کارایی محاسباتی برقرار گردد.
معماری سیستم پاداش
طبق آموزش منتشر شده توسط Marktechpost در این ماه، موفقیت GRPO به یک تابع پاداش چندسیگنالی (Multi-signal reward function) وابسته است. بهجای یک امتیاز ساده و دوتایی «درست یا غلط»، سیستم از چهار تابع پاداش متمایز برای هدایت مدل استفاده میکند:
- تطبیق دقیق قالب (Exact Format Matching): این تابع با استفاده از یک عبارت منظم (
match_format) بررسی میکند که آیا هر دو تگ استدلال و پاسخ در خروجی وجود دارند یا خیر. اگر مدل دقیقاً از تگها پیروی کند، پاداش بالایی (۳.۰) دریافت میکند. - تگگذاری تقریبی (Approximate Tagging): این بخش پاداشهای افزایشی (۰.۵) را برای هر تگ خاص موجود (
<reasoning>،</reasoning>،<answer>،</answer>) ارائه میدهد. همچنین برای تگهای گمشده جریمه -۰.۵ در نظر میگیرد تا اگر مدل اشتباهات جزئی در قالببندی داشت، بهطور کامل نادیده گرفته نشود. - صحت پاسخ (Answer Correctness): در این مرحله، حدس استخراجشده با واقعیت (Ground Truth) مقایسه میشود. تطبیق دقیق ۳.۰ امتیاز میگیرد و تطبیقهای سادهشده (Stripped matches) ۱.۵ امتیاز دریافت میکنند. همچنین از نسبتهای عددی برای دادن امتیاز جزئی استفاده میشود: اگر نسبت بین ۰.۹ و ۱.۱ باشد، ۰.۵ امتیاز و اگر بین ۰.۸ و ۱.۲ باشد، ۰.۲۵ امتیاز داده میشود. پاسخهای کاملاً غلط با جریمه -۱.۰ مواجه میشوند.
- پشتیبان عددی (Numeric Fallback): یک شبکه ایمنی است که از یک Regex مجزا (
match_numbers) برای استخراج هر عدد پیشرو از راهحل استفاده میکند. اگر محاسبات ریاضی درست باشد اما فرمت تگها خراب شده باشد، امتیاز جزئی (۱.۵) اعطا میشود.
جزئیات پیادهسازی فنی
خط لوله آموزشی بر پایه ارائهدهنده لورای Qwix است که آداپتورها را روی ماژولهای خاص مدل اعمال میکند تا اثر حافظه (Footprint) سبک باقی بماند.
- ماژولهای هدف: آداپتورها بر روی ماژولهای
q_einsumوkv_einsumوgate_projوdown_projوup_projوattn_vec_einsumاعمال میشوند. - ابرپارامترهای لورا: در این تنظیمات از رتبه (Rank) ۳۲ و مقدار آلفا (Alpha) ۳۲.۰ استفاده شده است.
- مدیریت حافظه: یک نمونهبردار سفارشی با اندازه حافظه پنهان ۱,۰۲۴ توکن به کار رفته است (شامل ۲۵۶ توکن برای حداکثر طول پرامپت + ۵۱۲ گام تولید + ۲۵۶ توکن بافر اضافی). همچنین پیکربندیهای خاصی برای
num_layersوnum_kv_headsوhead_dimاز پیکربندی مدل استخراج شده است. - توکنسازی: سیستم از
tokenizer_gemma3.modelاستفاده کرده و توکنهای پایان توالی (EOS) را از فایلgeneration_config.jsonاستخراج میکند تا اطمینان حاصل شود که تولید متن در نقطه درست متوقف میشود.
بهینهساز و برنامه یادگیری
فرآیند یادگیری توسط بهینهساز AdamW با یک برنامه کاهش کسینوسی (warmup-cosine decay) هدایت میشود. این برنامه از مقدار اولیه ۰.۰ شروع شده، به اوج نرخ یادگیری ۳e-6 میرسد و در طول ۱۰۰ گام حداکثر (MAX_STEPS) کاهش مییابد.
برای جلوگیری از انفجار گرادیان (Gradient Explosion)، یک برش نرم جهانی (Global Norm Clip) مقدار ۰.۱ (MAX_GRAD_NORM) اعمال شده است. کاهش وزن (Weight Decay) روی ۰.۱ تنظیم شده و مقادیر beta1 روی ۰.۹ و beta2 روی ۰.۹۹ قرار گرفتهاند. دوره گرمکردن (Warmup) ۱۰ درصد اول از کل گامها (WARMUP_STEPS) را پوشش میدهد.
حلقه آموزش GRPO
برخلاف RL استاندارد، GRPO گروهی از پاسخها را برای هر پرامپت نمونهبرداری میکند و سیاست مدل را بر اساس مزیت نسبی (Relative Advantage) آن نمونهها بهینه میکند. این رویکرد کلی به بهینهسازی پایداری در آموزشهای پیچیده کمک میکند، مشابه آنچه در پیادهسازی AdvGRPO برای مدیریت تعامل مدلهای مهاجم و مدافع مشاهده شد. در این تنظیمات، مقدار num_generations برابر با ۲ و num_iterations برابر با ۱ است. این نمونهبرداری گروهی به مدل اجازه میدهد تا بین مسیرهای استدلالی باکیفیت و بیکیفیت برای یک مسئله واحد تفاوت قائل شود.
پارامترهای پیکربندی شامل بتای ۰.۰۸ برای ایجاد تعادل بین اکتشاف (Exploration) و بهرهبرداری (Exploitation) و اپسیلون ۰.۲ است. برای تولید متن، سیستم از دمای (Temperature) ۰.۹، top_p برابر با ۱.۰ و top_k برابر با ۵۰ استفاده میکند. کلاستر RL در Tunix حجم کاری مدل را به سه نقش مجزا تقسیم میکند:
۱. Actor: مدل سیاستی که با لورا تقویت شده و در حال آموزش است.
۲. Reference: مدل پایه اصلی که برای محاسبه واگرایی KL و جلوگیری از فروپاشی سیاست (Policy Collapse) استفاده میشود.
۳. Rollout: موتوری که مسئول تولید نمونههای پاسخ است و با یک موتور rollout از نوع vanilla و بدون تخلیه حافظه به CPU (No CPU offloading) پیکربندی شده است.
در طول این فرآیند، TensorBoard برای ردیابی لحظهای معیارها با فاصله تخلیه (Flush interval) هر ۱۰ گام استفاده میشود. دادههای آموزشی از طریق Grain مدیریت شده، با بذر (Seed) ۴۲ مخلوط شده و برای کلاستر RL دستهبندی (Batch) میشوند. ارزیابیهای پایه نشان داد که مدل خام در ابتدا هم با فرمت سختگیرانه تگها و هم با منطق ریاضی مشکل داشت، اما پس از ۱۰۰ گام آموزش GRPO، ارزیابیها تغییر چشمگیری به سمت خروجیهای ساختارمند و گامبهگام را نشان دادند که معیارها بر اساس درصد دقت و رعایت فرمت اندازهگیری شدهاند.
ارزیابی و استخراج مدل
پس از پایان آموزش، مدل تحت یک ارزیابی نهایی روی یک مجموعه آزمونی شامل ۱۶ مثال (NUM_TEST) قرار گرفت. تابع ارزیابی روی این ردیفها پیمایش کرده، خروجیها را تولید میکند و مقدار عددی پیشبینیشده را با واقعیت مقایسه مینماید. این کار یک معیار کمی فراهم میکند تا مشخص شود حلقه GRPO تا چه حد قابلیتهای استدلال را نسبت به مدل پایه بهبود بخشیده است.
برای اینکه مدل خارج از محیط آموزشی قابل استفاده باشد، وزنهای لورا دوباره با مدل پایه Gemma-3 ادغام شدند. تابع save_lora_merged_model_as_safetensors برای ایجاد یک دایرکتوری ادغامشده (مثلاً /content/gemma3-grpo-merged) استفاده شد. نتیجه این کار یک چکپوینت مستقل از نوع safetensors است که میتواند در هر محیط سازگار با Hugging Face بدون نیاز به ابزارهای آموزشی Tunix مستقر شود.
این متدولوژی تمرکز را از «آنچه مدل میداند» به «چگونه مدل استدلال میکند» تغییر میدهد. با پاداش دادن به ساختار فرآیند تفکر، مدلی ساخته میشود که کمتر احتمال دارد پاسخ نهایی را دچار توهم (Hallucination) — شبیه کسی که با اطمینان خاطرهای اشتباه را تعریف میکند — کند و بیشتر احتمال دارد در مرحله استدلال، خودش را اصلاح کند.
برای متخصصان، این یعنی شکاف بین مدلهای استدلالی عظیم تجاری و مدلهای وزنباز در حال بسته شدن است. توانایی اجرای حلقه GRPO روی یک GPU واحد، خلق مدلهای استدلالی را که پیشتر در انحصار آزمایشگاههایی با هزاران H100 بود، دموکراتیزه میکند. باید منتظر ظهور خطلولههای مشابه برای استدلالهای غیرریاضی، مانند تحلیلهای حقوقی یا وظایف پیچیده کدنویسی بود، جایی که منطق ساختارمند به اندازه خروجی نهایی اهمیت دارد.
گام بعدی شما
- اگر از Gemma-3 استفاده میکنید، سعی کنید لایهی استدلال را با تگهای سفارشی برای تسکهای غیرریاضی (مثل تحلیل حقوقی) پیاده کنید.
- کتابخانه Tunix را برای بررسی نحوه پیادهسازی GRPO در مقیاس کوچک مطالعه کنید.
- نتایج ادغام وزنهای LoRA را با مدلهای SFT ساده مقایسه کنید تا اثر یادگیری تقویتی را بسنجید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو