معرفی MLE-STAR: پیشگام در اتوماسیون مهندسی یادگیری ماشین
ظهور بیسابقه یادگیری ماشین (ML) منجر به توسعه کاربردهای بسیار قدرتمند در طیف وسیعی از سناریوهای دنیای واقعی شده است، از طبقهبندی دادههای جدولی گرفته تا حذف نویز از تصاویر. این پیشرفتها، با وجود قابلیتهای چشمگیرشان، با چالشهای بزرگی برای مهندسان یادگیری ماشین همراه هستند. فرآیند ساخت و بهینهسازی مدلهای ML اغلب طاقتفرساست و نیازمند آزمایشهای تکراری و مهندسی دقیق دادهها در مقیاس وسیع است. این پیچیدگیها، توسعه و استقرار سیستمهای ML را کند کرده و دسترسی به این فناوری قدرتمند را برای بسیاری از افراد و سازمانها دشوار میسازد.
در پاسخ به این چالشها، تحقیقات اخیر بر روی بهرهبرداری از مدلهای زبان بزرگ (LLMs) به عنوان عاملهای مهندسی یادگیری ماشین (MLE) متمرکز شدهاند. این عاملها با بهرهگیری از مهارتهای ذاتی کدنویسی و استدلال خود، وظایف ML را به عنوان چالشهای بهینهسازی کد مفهومسازی میکنند. آنها سپس راهحلهای کد ممکن را بررسی کرده و در نهایت کدهای قابل اجرا (مانند اسکریپتهای پایتون) را بر اساس توضیحات وظیفه و مجموعهدادههای ارائه شده تولید میکنند. این رویکرد، پتانسیل زیادی برای سادهسازی و تسریع چرخه عمر توسعه ML دارد، اما همچنان با محدودیتهایی روبرو است که باید برطرف شوند.
با وجود گامهای اولیه امیدوارکننده، عاملهای MLE فعلی با چندین محدودیت مواجه هستند که اثربخشی آنها را کاهش میدهد. اولاً، اتکای شدید آنها به دانش از پیش موجود LLM اغلب منجر به سوگیری نسبت به روشهای آشنا و پرکاربرد میشود (مانند کتابخانه scikit-learn برای دادههای جدولی). این عاملها ممکن است رویکردهای تخصصیتر و کارآمدتر برای وظایف خاص را نادیده بگیرند. ثانیاً، این عاملها معمولاً از یک استراتژی اکتشافی استفاده میکنند که کل ساختار کد را به طور همزمان در هر تکرار تغییر میدهد. این امر اغلب باعث میشود که عاملها به طور نارس به مراحل دیگر (مانند انتخاب مدل یا تنظیم ابرپارامترها) منتقل شوند، زیرا آنها فاقد ظرفیت برای اکتشاف عمیق و تکراری در اجزای خاص خط لوله هستند، مانند آزمایش جامع گزینههای مختلف مهندسی ویژگی.
در مقاله اخیر خود، ما MLE-STAR را معرفی میکنیم، یک عامل مهندسی ML نوین که جستجوی وب و پالایش هدفمند بلوک کد را یکپارچه میکند. برخلاف جایگزینها، MLE-STAR چالشهای ML را با جستجوی اولیه در وب برای مدلهای مناسب جهت ایجاد یک پایه محکم حل میکند. سپس با آزمایش اینکه کدام بخشهای کد بیشترین اهمیت را دارند، این پایه را با دقت بهبود میبخشد. MLE-STAR همچنین از یک روش جدید برای ترکیب چندین مدل با یکدیگر برای نتایج بهتر استفاده میکند. این رویکرد بسیار موفقیتآمیز است؛ این عامل در ۶۳ درصد از رقابتهای Kaggle در MLE-Bench-Lite مدال کسب کرده است که به طور قابل توجهی از جایگزینها بهتر عمل میکند.
روشهای نوین در مهندسی یادگیری ماشین
برای تولید کد راهحل اولیه، MLE-STAR از جستجوی وب برای بازیابی رویکردهای مرتبط و بالقوه پیشرفته استفاده میکند که میتواند برای ساخت یک مدل مؤثر باشد. این جستجو به عامل اجازه میدهد تا از طیف وسیعی از مدلها و تکنیکهای موجود در جامعه ML بهرهمند شود و از محدودیتهای دانش داخلی LLM فراتر رود. این قابلیت، یکی از نقاط قوت کلیدی MLE-STAR است که آن را از سایر عاملهای MLE متمایز میکند، زیرا به جای اتکا صرف به دادههای آموزشی خود، به طور مداوم با آخرین پیشرفتها بهروز میشود.
برای بهبود راهحل، MLE-STAR یک بلوک کد خاص را که نشاندهنده یک جزء متمایز از خط لوله ML است، مانند مهندسی ویژگی یا ساخت مجموعه (ensemble building)، استخراج میکند. سپس بر روی بررسی استراتژیهای متناسب با آن جزء تمرکز میکند و تلاشهای قبلی را به عنوان بازخورد در نظر میگیرد. این رویکرد هدفمند، امکان اکتشاف عمیقتر و بهینهسازی دقیقتر هر بخش از خط لوله را فراهم میآورد. به عنوان مثال، در مرحله مهندسی ویژگی، MLE-STAR میتواند انواع مختلف تبدیلها، انتخاب ویژگیها، و ترکیب ویژگیها را به صورت متمرکز بررسی کند.
برای شناسایی بلوک کد با بیشترین تأثیر بر عملکرد، MLE-STAR یک مطالعه تخریب (ablation study) انجام میدهد که سهم هر جزء ML را ارزیابی میکند. این فرآیند پالایش تکرار میشود و بلوکهای کد مختلف را تغییر میدهد. این چرخه بازخورد و بهبود، تضمین میکند که عامل به طور مداوم به سمت راهحل بهینه حرکت میکند و از تغییر ناگهانی تمرکز به مراحل دیگر قبل از بهینهسازی کامل یک جزء جلوگیری میکند. این روش به MLE-STAR امکان میدهد تا منابع محاسباتی و زمان خود را به طور مؤثرتری مدیریت کند و نتایج بهتری به دست آورد.
علاوه بر این، ما یک روش نوین برای تولید مجموعهها (ensembles) ارائه میکنیم. MLE-STAR ابتدا چندین راهحل کاندید را پیشنهاد میدهد. سپس، به جای اتکا به یک مکانیزم رأیگیری ساده بر اساس نمرات اعتبارسنجی، MLE-STAR این کاندیداها را در یک راهحل بهبود یافته واحد با استفاده از یک استراتژی مجموعه پیشنهادی توسط خود عامل ادغام میکند. این استراتژی مجموعه به طور تکراری بر اساس عملکرد استراتژیهای قبلی پالایش میشود. این فرآیند پویا، به MLE-STAR امکان میدهد تا از قدرت ترکیبی چندین مدل بهرهبرداری کند و عملکرد کلی را بیش از پیش بهبود بخشد، در حالی که سایر عاملها ممکن است تنها به بهترین مدل واحد اکتفا کنند.
ماژولهای تقویتکننده عملکرد
آخرین اما نه کماهمیتترین، MLE-STAR سه ماژول اضافی را برای افزایش استحکام خود به کار میگیرد: (i) یک عامل اشکالزدایی، (ii) یک بررسیکننده نشت داده، و (iii) یک بررسیکننده استفاده از داده. این ماژولها برای اطمینان از صحت، امنیت و کامل بودن راهحلهای تولید شده توسط عامل، طراحی شدهاند. وجود این ماژولها، MLE-STAR را به یک ابزار جامع و قابل اعتماد برای مهندسی یادگیری ماشین تبدیل میکند که نه تنها به تولید کد میپردازد، بلکه به جنبههای حیاتی کیفیت و قابلیت اطمینان کد نیز توجه دارد.
برای عامل اشکالزدایی، اگر اجرای یک اسکریپت پایتون خطایی را ایجاد کند، که منجر به یک رخداد (مانند یک Traceback) شود، MLE-STAR از یک ماژول اشکالزدایی برای تلاش در جهت تصحیح استفاده میکند. این قابلیت بسیار حیاتی است، زیرا کد تولید شده توسط LLMها ممکن است حاوی خطاهای نحوی یا منطقی باشد که نیاز به مداخله دارد. عامل اشکالزدایی با تحلیل خروجی خطا و پیشنهاد اصلاحات مناسب، فرآیند توسعه را خودکار و کارآمدتر میکند، و نیاز به مداخله دستی مکرر را کاهش میدهد.
در مورد بررسیکننده نشت داده، ما مشاهده کردهایم که اسکریپتهای پایتون تولید شده توسط LLMها خطر معرفی نشت داده را دارند، به عنوان مثال، با دسترسی نامناسب به اطلاعات از مجموعه داده آزمایشی در طول آمادهسازی دادههای آموزشی. برای رفع این مشکل، ما یک عامل بررسیکننده معرفی کردهایم که اسکریپت راهحل را قبل از اجرا تحلیل میکند. این بررسیکننده به شناسایی و جلوگیری از چنین مشکلاتی کمک میکند، اطمینان حاصل میکند که مدل به درستی آموزش دیده و عملکرد آن در محیطهای واقعی قابل اعتماد است. نشت داده میتواند منجر به ارزیابیهای نادرست از عملکرد مدل شود و در نتیجه تصمیمات اشتباهی در فرآیند استقرار گرفته شود.
و اما بررسیکننده استفاده از داده، ما متوجه شدهایم که اسکریپتهای تولید شده توسط LLM گاهی اوقات از استفاده از تمام منابع داده ارائه شده غفلت میکنند و صرفاً بر روی فرمتهای ساده مانند CSV تمرکز میکنند. برای اطمینان از استفاده از تمام دادههای مرتبط ارائه شده، MLE-STAR شامل یک عامل بررسیکننده استفاده از داده است. این عامل با بررسی توضیحات وظیفه و منابع داده موجود، تأیید میکند که تمام اطلاعات ارزشمند در فرآیند ساخت مدل به کار گرفته شدهاند. این ویژگی برای مسائلی که دادههای چندوجهی یا پیچیده دارند، ضروری است، زیرا تضمین میکند که MLE-STAR از پتانسیل کامل دادهها بهرهبرداری میکند.
ارزیابیها و نتایج
برای تأیید اثربخشی آن، ما ارزیابیهای جامعی از MLE-STAR با استفاده از رقابتهای Kaggle در MLE-Bench-Lite انجام دادیم. در اینجا، ما از یک عامل اضافی استفاده کردیم که توضیحات وظیفه و راهحل نهایی را به عنوان ورودی میگیرد و کدی را که شامل بارگذاری نمونه آزمایشی و ایجاد فایل ارسال است، خروجی میدهد. این تنظیمات آزمایشی به ما اجازه داد تا عملکرد MLE-STAR را در یک محیط واقعی و رقابتی، شبیهسازی کنیم، جایی که معیارهای عملکرد بسیار سختگیرانه هستند و نیاز به دقت بالا دارند.
نتایج تجربی ارائه شده در شکل بالا نشان میدهد که MLE-STAR، با نیاز به حداقل تلاش انسانی (به عنوان مثال، تعریف پرامپتهای اولیه که قابل تعمیم به هر وظیفهای هستند)، به طور قابل توجهی از جایگزینهای قبلی، از جمله آنهایی که نیازمند کار دستی برای جمعآوری استراتژیها از Kaggle هستند، بهتر عمل میکند. به طور خاص، MLE-STAR در کسب هر مدال، افزایش قابل توجهی را نشان میدهد و آن را از ۲۵.۸% به ۶۳.۶% در مقایسه با بهترین baseline بهبود میبخشد. این دستاورد، اهمیت رویکرد نوآورانه MLE-STAR را در اتوماسیون وظایف مهندسی یادگیری ماشین برجسته میکند و پتانسیل آن را برای تغییر نحوه توسعه و استقرار مدلهای ML نشان میدهد.
تحلیل عمیق دستاوردهای MLE-STAR
برای درک منابع افزایش عملکرد MLE-STAR، ما چندین تحلیل را از دیدگاههای مختلف انجام دادیم. در اینجا، ما بررسی کردیم (i) انواع مدلهای ML که MLE-STAR از آنها استفاده میکند، (ii) چگونه MLE-STAR را میتوان با مداخله انسانی گسترش داد، و (iii) چگونه بررسیکنندههای نشت داده و استفاده از داده اضافی، عملکرد MLE-STAR را بیشتر بهبود میبخشند. این تحلیلهای عمیق به ما کمک کردند تا عوامل اصلی موفقیت MLE-STAR را شناسایی کرده و مسیرهای بیشتری برای پیشرفت آینده ترسیم کنیم.
کاربرد مدلها و مداخله انسانی
کاربرد مدل: در مقایسه کاربرد مدل توسط دو عامل MLE، AIDE عمدتاً از ResNet برای طبقهبندی تصویر استفاده میکند. با این حال، ResNet، که در سال ۲۰۱۵ منتشر شد، اکنون قدیمی تلقی میشود و میتواند منجر به عملکرد زیر بهینه شود. در مقابل، MLE-STAR عمدتاً از مدلهای جدیدتر و رقابتیتر مانند EfficientNet یا ViT استفاده میکند که منجر به افزایش عملکرد مشاهده شده میشود. این نشان میدهد که قابلیت MLE-STAR در جستجو و یافتن آخرین مدلها، یک مزیت رقابتی مهم را ایجاد میکند.
مداخله انسانی: MLE-STAR به راحتی حتی مدلهای جدیدتر را با حداقل مداخله انسانی تطبیق میدهد. در حالی که MLE-STAR به طور خودکار یک توصیف مدل را با استفاده از جستجوی وب میسازد، یک توسعه طبیعی شامل بهرهبرداری از تخصص انسانی برای این ساختار است. با افزودن دستی یک توصیف مدل برای RealMLP، MLE-STAR با موفقیت کد آموزشی آن را در چارچوب خود ادغام میکند، مدلی که قبلاً بازیابی نشده بود. این انعطافپذیری نشان میدهد که MLE-STAR میتواند به عنوان یک ابزار قدرتمند در کنار تخصص انسانی عمل کند و به مهندسان ML اجازه میدهد تا کنترل بیشتری بر فرآیند داشته باشند و مدلهای بسیار تخصصی را نیز به کار گیرند.
رفتار نامطلوب LLM و اصلاحات
رفتار نامطلوب LLM و اصلاحات: ما مشاهده کردیم که در حالی که کد تولید شده توسط LLM به درستی اجرا میشد، محتوای آن گاهی اوقات غیرواقعی بود و حالت توهم (hallucination) را نشان میداد. به عنوان مثال، شکل زیر (سمت چپ) یک رویکرد غیرعملی را نشان میدهد که در آن دادههای آزمایشی با استفاده از آمار خودشان پیشپردازش میشوند. از آنجایی که دادههای آزمایشی باید دیده نشده باقی بمانند، تصحیح در کد ضروری است، که MLE-STAR برای شناسایی چنین مشکلاتی و پالایش اسکریپت تولید شده در صورت شناسایی مشکل، از یک بررسیکننده نشت داده استفاده میکند. این ویژگی حیاتی، اطمینان میدهد که راهحلهای تولید شده از نظر عملی نیز صحیح هستند.
ما همچنین مشاهده کردیم که LLMها اغلب اسکریپتهایی تولید میکنند که برخی از منابع داده ارائه شده را نادیده میگیرند. برای رفع این مشکل، MLE-STAR از یک بررسیکننده استفاده از داده استفاده میکند که توضیحات وظیفه را مجدداً بررسی میکند تا اطمینان حاصل شود که از تمام دادههای ارائه شده استفاده میشود. همانطور که در (سمت راست) نشان داده شده است، این طراحی MLE-STAR را قادر میسازد تا دادههایی را که قبلاً نادیده گرفته شده بودند، در خود جای دهد. این قابلیت، برای مسائلی که شامل مجموعه دادههای پیچیده یا چند منبعی هستند، بسیار ارزشمند است، زیرا تضمین میکند که تمام اطلاعات مرتبط برای دستیابی به بهترین عملکرد ممکن استفاده میشوند.
نتیجهگیری
ما MLE-STAR را پیشنهاد کردیم، یک عامل نوین مهندسی یادگیری ماشین که برای وظایف متنوع ML طراحی شده است. ایده اصلی ما استفاده از جستجوی وب برای بازیابی مدلهای مؤثر و سپس بررسی استراتژیهای مختلف با هدف اجزای خاص خط لوله ML برای بهبود راهحل است. اثربخشی MLE-STAR با کسب مدال در ۶۳% (که ۳۶% آنها مدال طلا هستند) از رقابتهای Kaggle در MLE-Bench-Lite تأیید شده است. این نتایج به وضوح نشان میدهد که رویکرد جامع و نوآورانه MLE-STAR چقدر در عمل مؤثر است.
با خودکارسازی وظایف پیچیده ML، MLE-STAR میتواند مانع ورود افراد و سازمانهایی را که به دنبال بهرهبرداری از ML هستند، کاهش دهد و به طور بالقوه نوآوری را در بخشهای مختلف تقویت کند. علاوه بر این، با توجه به اینکه مدلهای پیشرفته به طور مداوم بهروز و بهبود مییابند، انتظار میرود عملکرد راهحلهای تولید شده توسط MLE-STAR به طور خودکار افزایش یابد. این به دلیل سازگاری ذاتی چارچوب ما است که از موتور جستجو برای بازیابی مدلهای مؤثر از وب برای تشکیل راهحلهای خود استفاده میکند. این تضمین میکند که MLE-STAR با پیشرفت حوزه ML، به ارائه راهحلهای بهتر و بهتر ادامه میدهد.
آخرین نکته اینکه، توسعهدهندگان و محققان اکنون میتوانند پروژههای یادگیری ماشین خود را با استفاده از کدبیس منبعباز جدید MLE-STAR که با Agent Development Kit (ADK) ساخته شده است، سرعت بخشند. این دسترسی عمومی به ابزار، جامعه ML را قادر میسازد تا بر اساس پیشرفتهای MLE-STAR بسازد، آن را بیشتر کاوش کند و در نهایت به پیشرفتهای سریعتر در هوش مصنوعی کمک کند. این یک گام مهم به سوی دموکراتیزه کردن هوش مصنوعی و ساختن آن برای همه قابل دسترستر است.
منبع: Google Research Blog: MLE-STAR: A state-of-the-art machine learning engineering agent