آموزش هوش مصنوعی برای نقاشی با کد
خلاصهٔ کاملتر
نویسنده این پروژه رو از یه محدودیت ساده شروع کرده: وقتی با هوش مصنوعی عکس میسازی، تنها راه دخالتت prompt هست و نمیتونی خود تصویر رو ویرایش کنی. برای همین اون و دوستش Cameron Franz یه مدل زبانی رو با reinforcement learning (یعنی آموزش با پاداش دادن به خروجیهای بهتر) آموزش دادن تا یه sketch جاوااسکریپتی با کتابخونه p5.brush بنویسه. خروجی کده، پس میشه جزئیاتش رو دستی عوض کرد.
حلقه آموزش چهار مرحله داره و هزاران بار تکرار میشه. مدل یه prompt مثل «یه گل ختمی هلویی آبرنگ بکش» میگیره و کد کامل مینویسه. کد تو یه محیط ایزوله Puppeteer رندر میشه و یه PNG بیرون میاد. بعد یه مدل داور این تصویر رو با دو نقاشی مرجع مقایسه میکنه و نتیجه به پاداش تبدیل میشه. در آخر الگوریتم GRPO مدل رو بهروز میکنه.
نسخه اول پاداش نُه سیگنال جدا داشت، از جمله چک کامپایل، طول کد حدود ۳۰۰۰ توکن، مدل ترجیح انسانی HPSv3 و چند داور کیفیت. مدل حدود امتیاز ۰٫۶۵ گیر کرد و همه خروجیها یه گل ساده کارتونی با پنج گلبرگ بودن. وقتی سیگنالها رو جدا بررسی کردن، دیدن پنج داور با همبستگی ۰٫۸۵ تا ۰٫۹۵ عملاً یه چیز رو میسنجیدن. طول کد هم از قدم سیام اشباع شده بود و دیگه چیزی یاد نمیداد.
راهحل دو بخش داشت. اول، بهجای امتیاز صفر تا ده، داور فقط باید بگه بین خروجی و دو مرجع کدوم آبرنگ بهتره؛ مدلها به سؤال نسبی خیلی بهتر جواب میدن. دوم، نویسنده ۱۶۶۴ تصویر رو دستی تو سه دسته love، okay و nope دستهبندی کرد. پاداش جدید فقط چهار جزء داشت و سهم داور دوبهدو ۰٫۶ بود. نتیجه این شد که مدل سه برابر سریعتر به سقف قبلی رسید، ازش رد شد و کدش از ۱۳۵۰۰ توکن به زیر ۲۰۰۰ رسید.
یه درس جالب دیگه درباره system prompt بود. نسخههای اول یه مرجع ۴۰۰ خطی از API کتابخونه p5.brush داشتن و مدل با اعتماد به نفس APIهایی میساخت که اصلاً وجود نداشتن. با GEPA (یه کتابخونه که prompt رو با یه تابع امتیاز تکامل میده) و ۲۰۰ دور تکرار، prompt نهایی فقط یه لیست مجاز از هشت متد brush شد، بدون مستندات و بدون مثال. نویسنده میگه یه لیست کوتاه و قاطع، خروجی رو بهتر از مستندات کامل کنترل میکنه.
جمعبندی نویسنده اینه که RL برای کار خلاقانه در اصل یه مسئله طراحیه: پاداش رو باید دستی بسازی، طوری که اگه خیلی سفت باشه مدل فقط نمونهها رو کپی میکنه و اگه خیلی شل باشه چیزی یاد نمیگیره. خودش هم قبول داره این روش ساختن تصویر خیلی کندتره. پروژه هنوز ادامه داره و قراره یه گزارش فنی کامل هم منتشر بشه.
نکات کلیدی:
- پاداش جدید: گیت کامپایل ۰٫۰۵، چک طول ۰٫۰۵، HPSv3 ۰٫۳ و داور دوبهدو ۰٫۶
- با پاداش جدید مدل سه برابر سریعتر به سقف ۰٫۶۵ رسید و کد از ۱۳۵۰۰ به زیر ۲۰۰۰ توکن کوچیک شد
- مجموعه مرجع ۵۸۱ نقاشی داره: ۱۱۷ love، ۲۶۶ okay و ۱۹۸ نمونه تکمیلی
- همه مرجعها خروجی مدلها هستن، چون نمونه انسانی کافی برای p5.brush پیدا نشد
- لیست مجاز هشتمتدی جای مرجع ۴۰۰ خطی API رو گرفت و APIهای ساختگی کم شدن




