علیرضا مدنی
علیرضا مدنی
خواندن ۶ دقیقه·۱ سال پیش

‏مدل جدید FunSearch :DeepMind برای کشف الگوریتم های جدید

‏Google DeepMind یکی از آزمایشگاه‌های هوش مصنوعی پیشرو در جهان است که در زمینه‌های مختلف یادگیری ماشین و رباتیک فعالیت می‌کند. این آزمایشگاه در سال ۲۰۱۰ توسط گوگل خریداری شد و از آن زمان تاکنون دستاوردهای چشمگیری در زمینه هوش مصنوعی داشته است.

‏یکی از جدیدترین دستاوردهای Google DeepMind، مدلی به نام FunSearch است که می‌تواند الگوریتم‌های ریاضی و علوم کامپیوتری جدیدی را کشف کند. FunSearch از یک رویکرد هوشمندانه استفاده می‌کند که به آن «تفکر در کد(thinking in code)» می‌گویند. در این رویکرد، FunSearch از یک LLM برای تولید برنامه‌های کامپیوتری بر اساس مجموعه‌ای از توابع استفاده می‌کند. سپس، یک ارزیاب برای اثبات راه‌حل‌های مختلف استفاده می‌شود.

‏FunSearch تاکنون نتایج چشمگیری داشته است. این مدل موفق شده است الگوریتم‌های جدیدی برای مشکلات ریاضی و علوم کامپیوتری مانند مسئله‌ی cap set و مسئله‌ی bin packing پیدا کند. مسئله‌ی cap set یک مسئله‌ی ریاضی است که به دنبال یافتن مجموعه‌ای از اشیا است که بیشترین پوشش را برای یک مجموعه‌ی داده فراهم می‌کند. مسئله‌ی bin packing نیز یک مسئله‌ی است که به دنبال یافتن راه‌حلی برای قرار دادن اشیا در بسته‌‌های مختلف است به گونه‌ای که هر بسته‌‌ ظرفیت خود را پر کند.

‏FunSearch پتانسیل زیادی برای اکتشافات علمی جدید در زمینه‌های ریاضی و علوم کامپیوتری دارد. این مدل می‌تواند به دانشمندان کمک کند تا مشکلات پیچیده‌ای را حل کنند و راه‌حل‌های جدیدی برای چالش‌های دنیای واقعی ارائه دهند. نامگذاری FunSearch از این واقعیت مشتق شده است که مدل به طور مکرر فضای تابع را جستجو می کند.

‏FunSearch یک روش هوشمندانه برای کشف الگوریتم‌های جدید در ریاضیات و علوم کامپیوتر است. این روش، ترکیبی از روش‌های تکاملی با مدل‌های زبان بزرگ (LLM) را برای بهبود و ارتقای بهترین ایده‌های برنامه‌نویسی به کار می‌گیرد.

فرآیند به این صورت است:

  1. تعریف مسئله: کاربر ابتدا مسئله را به شکل کد با مشخص کردن یک تابع ارزیابی (برای سنجش راه‌حل‌های احتمالی) و یک برنامه ساده اولیه (نقطه‌ای برای شروع تکامل) معرفی می‌کند.
  2. ‏LLM پیش‌آموزش‌دیده: FunSearch بر پایه‌ی مدل «Codey» از خانواده‌ی PaLM2 بنا شده است. Codey با آموزش گسترده روی کدهای مختلف، نقش کلیدی در پیشنهاد بهبودهایی برای توابع ایفا می‌کند. نکته‌ی قابل توجه این است که Codey نیازی به آموزش اختصاصی برای هر مسئله ندارد.
  3. ارزیابی: این بخش از FunSearch، برنامه‌های تولید شده توسط LLM را بر اساس ورودی‌های مشخصی ارزیابی می‌کند. مثلاً، در مسائل بهینه‌سازی ترکیبی یا ابعادی، ورودی‌ها با توجه به الزامات خاص آن وظیفه، تغییر می‌کنند.
  4. پایگاه داده‌ی برنامه‌ها: این پایگاه، مجموعه‌ای متنوع از برنامه‌های صحیح را در خود نگه می‌دارد. این برنامه‌ها برای ایجاد ورودی‌های جدید و جلوگیری از گیر افتادن در نقاط بهینه محلی در فرآیند تکامل، حیاتی هستند.
  5. ورودی Prompt : در FunSearch از روشی به نام «بهترین ورودی احتمالی best-shot prompting» استفاده می‌شود که شامل انتخاب و رتبه‌بندی برنامه‌ها از پایگاه داده بر اساس عملکرد آن‌هاست. به هر برنامه بر اساس امتیازش، یک شماره نسخه اختصاص داده می‌شود.
  6. سیستم توزیع‌شده: این بخش از FunSearch شامل سه جزء اصلی است: پایگاه داده‌ی برنامه‌ها، نمونه‌گیرها و ارزیابگرها که به‌صورت غیرهمزمان کار می‌کنند. پایگاه داده، برنامه‌ها را ذخیره و ارائه می‌کند، نمونه‌گیرها با استفاده از LLM پیش‌آموزش‌دیده توابع جدیدی ایجاد می‌کنند و ارزیابگرها کارایی این برنامه‌ها را قضاوت می‌کنند. این سیستم پیچیده، که در اطلاعات تکمیلی آن‌ها نشان داده شده است، رویکرد جامع و پویای Google DeepMind برای پیشرفت حوزه تکامل برنامه را به نمایش می‌گذارد.

در کل، FunSearch یک نوآوری هیجان‌انگیز در کشف الگوریتم‌های جدید است که پتانسیل زیادی برای حل مشکلات پیچیده و ارائه راه‌حل‌های نوآورانه در ریاضیات و علوم کامپیوتر دارد.

‏FunSearch در عمل

برای ارزیابی FunSearch ، گوگل دیپ‌مایند تصمیم گرفت به سراغ چندین مسئله‌ی نمادین در ریاضیات و علوم کامپیوتر برود.

مسئله‌ی ۱: مسئله‌ی پوشش مجموعه (Cap Set Problem)

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

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

مسئله‌ی ۲: مسئله بسته‌بندی (Bin Packing)

دومین مسئله‌ای که گوگل دیپ‌مایند با FunSearch به سراغ آن رفت، مسئله‌ی بسته‌بندی (Bin Packing) بود. این مسئله‌ی کاربردی و رایج، شامل بسته‌بندی بهینه و کارآمد اشیاء با اندازه‌های مختلف در کمترین تعداد بسته‌ ممکن است. این مسئله در دنیای واقعی کاربردهای فراوانی دارد، از لجستیک گرفته تا مدیریت مراکز داده.

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

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

چرا FunSearch مهم است؟

  • فراتر از الگوریتم‌ها: کشف الگوریتم‌های جدید تنها بخشی از توانایی‌های FunSearch است. اصول این سیستم در علوم مختلفی قابل‌استفاده بوده و پتانسیل دستیابی به دانش و نوآوری‌های در عرصه‌های گوناگون را دارد.
  • پیدا کردن گنج‌های پنهان: توانایی FunSearch در کاوش فضاهای پیچیده و گسترده از دانش، باعث شناسایی دانش‌های پنهانی می‌شود که روش‌های سنتی از آن‌ها غافل می‌مانند. این قابلیت می‌تواند علم را با آشکارسازی ارتباطات و الگوهای غیرمنتظره به پیش ببرد.
  • دموکراتیزه کردن کشف علمی: دسترسی آسان و انعطاف‌پذیری FunSearch می‌تواند کشف علمی را برای عموم مردم تسهیل کند. پژوهشگران از زمینه‌های مختلف و بدون نیاز به تخصص محاسباتی پیچیده، می‌توانند از این ابزار برای کشف و حل مسائل در حوزه‌های خود استفاده کنند.

چالش‌ها و نکات قابل‌تأمل:

  • تفسیرپذیری و قابلیت توضیح: درک اینکه FunSearch چگونه به نتایج خود می‌رسد برای ایجاد اعتماد و اطمینان به کشف‌های آن ضروری است. تلاش برای شفاف‌تر و قابل‌توضیح‌تر کردن استدلال‌های این سیستم، امری حیاتی است.
  • سوگیری و محدودیت‌ها: مانند هر سیستم هوش مصنوعی دیگری، FunSearch نیز در معرض سوگیری‌های موجود در داده‌هایی است که با آن‌ها آموزش دیده است. انتخاب دقیق داده‌های آموزشی و نظارت مستمر بر سوگیری‌های احتمالی، برای تضمین اعتبار و جلوگیری از تداوم نابرابری‌ها ضروری است.
  • همکاری انسان و هوش مصنوعی: به نظر می‌رسد ایده‌آل‌ترین حالت، همکاری پژوهشگران و دانشمندان با FunSearch است. در این همکاری، انسان‌ها مسیر اکتشاف را هدایت می‌کنند و از قابلیت‌های این سیستم برای کشف دانش جدید و گسترش مرزهای علم استفاده می‌کنند.

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

علوم کامپیوترهوش مصنوعیllmnlpپردازش زبان طبیعی
شاید از این پست‌ها خوشتان بیاید