۳۰ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

آیا مدل های زبان بزرگ برای کدنویسی اشتباه هستند؟

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

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

ظهور مدل‌های زبان بزرگ (LLM) مانند GPT-4، با توانایی آنها برای تولید متن بسیار روان و مطمئن، قابل توجه بوده است، همانطور که نوشتم. متأسفانه، هیاهو هم همینطور است: محققان مایکروسافت با نفس نفس زدن مدل OpenAI GPT-4 با بودجه مایکروسافت را به عنوان نشان دهنده “جرقه های هوش عمومی مصنوعی” توصیف کرد. متاسفم مایکروسافت نه، اینطور نیست.

مگر اینکه، البته منظور مایکروسافت تمایل به توهم – ایجاد متن نادرست که مطمئناً اشتباه است – که بسیار انسانی است. GPT ها همچنین در انجام بازی هایی مانند شطرنج و رفتن بد هستند، در ریاضیات کاملاً بد هستند و ممکن است کدهایی با خطاها و اشکالات ظریف بنویسند. به باشگاه بپیوندید، درست است؟

هیچکدام از اینها به این معنی نیست که LLM/GPT ها همه تبلیغاتی هستند. اصلا. در عوض، به این معنی است که ما در مکالمه هوش مصنوعی مولد (GenAI) نیاز به دیدگاه و اغراق بسیار کمتری داریم.

همانطور که در مقاله IEEE Spectrum به تفصیل توضیح داده شد، برخی از کارشناسان، مانند ایلیا سوتسکور از OpenAI، معتقدند که افزودن یادگیری تقویتی با بازخورد انسانی می تواند توهمات LLM را از بین ببرد. اما دیگران، مانند یان لکون از متا و جف هینتون (که اخیراً از گوگل بازنشسته شده است)، استدلال می کنند که یک نقص اساسی تر در مدل های زبان بزرگ در حال کار است. هر دو معتقدند که مدل‌های زبان بزرگ فاقد دانش غیرزبانی هستند، که برای درک واقعیت زیربنایی که زبان توصیف می‌کند، حیاتی است.

در مصاحبه‌ای، متیو لاج، مدیرعامل Diffblue استدلال می‌کند که راه بهتری وجود دارد: «مدل‌های یادگیری تقویتی کوچک، سریع و ارزان‌تر به‌راحتی LLM‌های عظیم صد میلیارد پارامتری را در همه انواع کارها، از بازی کردن تا بازی، شکست می‌دهند. نوشتن کد.”

آیا در مکان های اشتباهی به دنبال طلای هوش مصنوعی هستیم؟

میایم یه بازی انجام بدیم؟

همانطور که مربوط به Lodge است، هوش مصنوعی مولد قطعاً جایگاه خود را دارد، اما ممکن است سعی کنیم آن را در مناطقی که یادگیری تقویتی بسیار بهتر است، مجبور کنیم. برای مثال بازی‌ها را در نظر بگیرید.

لوی روزمن، استاد بین‌المللی شطرنج، ویدئویی را پست کرد که در آن مقابل ChatGPT بازی می‌کند این مدل یک سری حرکات پوچ و غیرقانونی از جمله گرفتن قطعات خودش انجام می دهد. بهترین نرم افزار شطرنج منبع باز (Stockfish که اصلاً از شبکه های عصبی استفاده نمی کند) ChatGPT را در کمتر از ۱۰ حرکت پس از اینکه LLM نتوانست حرکت قانونی برای بازی پیدا کند، کناره گیری کرد. این یک نشان عالی است که LLM ها بسیار کمتر از هیاهوی هوش مصنوعی عمومی هستند، و این یک مثال مجزا نیست.

Google AlphaGo در حال حاضر بهترین هوش مصنوعی است و با یادگیری تقویتی هدایت می‌شود. یادگیری تقویتی با ایجاد (هوشمندانه) راه حل های مختلف برای یک مشکل، امتحان کردن آنها، استفاده از نتایج برای بهبود پیشنهاد بعدی، و سپس تکرار آن فرآیند هزاران بار برای یافتن بهترین نتیجه کار می کند.

رندر سمت سرور یک لحظه دارد

در مورد AlphaGo، هوش مصنوعی حرکات مختلفی را امتحان می‌کند و پیش‌بینی می‌کند که آیا این حرکت خوب است و آیا احتمال دارد که بازی را از آن موقعیت برنده شود یا خیر. از این بازخورد برای «دنبال کردن» توالی حرکت امیدوارکننده و ایجاد سایر حرکات ممکن استفاده می‌کند. اثر این است که جستجوی حرکات احتمالی انجام شود.

فرآیند جستجوی احتمالی نامیده می شود. نمی‌توانید هر حرکتی را امتحان کنید (تعداد زیادی وجود دارد)، اما می‌توانید زمانی را صرف جستجوی مناطقی از فضای حرکت کنید که احتمالاً بهترین حرکات در آن‌ها یافت می‌شود. برای بازی کردن بسیار موثر است. AlphaGo در گذشته استادان بزرگ go را شکست داده است. AlphaGo خطاناپذیر نیست، اما در حال حاضر بهتر از بهترین LLM های امروزی عمل می کند.

احتمال در مقابل دقت

هنگامی که با شواهدی مواجه می‌شوند که نشان می‌دهد LLMها به میزان قابل توجهی از سایر انواع هوش مصنوعی کمتر عمل می‌کنند، طرفداران استدلال می‌کنند که LLM‌ها «بهتر خواهند شد». با این حال، به گفته لاج، «اگر بخواهیم با این استدلال همراه شویم، باید درک کنیم که چرا آنها در این نوع وظایف بهتر خواهند شد.» او ادامه می دهد که اینجاست که همه چیز دشوار می شود، زیرا هیچ کس نمی تواند پیش بینی کند که GPT-4 برای یک درخواست خاص چه چیزی تولید می کند. این مدل توسط انسان قابل توضیح نیست. به همین دلیل است که، او استدلال می کند، “مهندسی سریع” یک چیز نیست. همچنین این تلاش برای محققان هوش مصنوعی است که ثابت کنند «ویژگی‌های اضطراری» LLM‌ها وجود دارند، بسیار کمتر پیش‌بینی می‌کنند. آنها تاکید می کند.

مسلماً بهترین استدلال استقراء است. GPT-4 در برخی از وظایف زبان بهتر از GPT-3 است زیرا بزرگتر است. از این رو، حتی مدل های بزرگتر بهتر خواهند بود. درست؟ خب…

لاج استدلال می‌کند: «تنها مشکل این است که GPT-4 همچنان با همان وظایفی که OpenAI خاطرنشان کرد برای GPT-3 چالش برانگیز هستند، مبارزه می‌کند. ریاضی یکی از این موارد است. GPT-4 در انجام جمع بهتر از GPT-3 است، اما همچنان با ضرب و سایر عملیات های ریاضی مشکل دارد.

بزرگ‌تر کردن مدل‌های زبان به طرز جادویی این مشکلات سخت را حل نمی‌کند، و حتی OpenAI می‌گوید که مدل‌های بزرگ‌تر راه‌حل نیستند. دلیل آن به ماهیت بنیادی LLM برمی گردد، به عنوان در یک انجمن OpenAI اشاره شد: «مدل‌های زبان بزرگ ماهیت احتمالی دارند و با تولید خروجی‌های احتمالی بر اساس الگوهایی که در داده‌های آموزشی مشاهده کرده‌اند، عمل می‌کنند. در مورد مسائل ریاضی و فیزیکی، ممکن است فقط یک پاسخ صحیح وجود داشته باشد و احتمال ایجاد آن پاسخ ممکن است بسیار کم باشد.»

در مقابل، هوش مصنوعی مبتنی بر یادگیری تقویتی در تولید نتایج دقیق بسیار بهتر است زیرا یک فرآیند هوش مصنوعی هدف‌دار است. یادگیری تقویتی عمداً به سمت هدف مورد نظر تکرار می شود و هدف آن تولید بهترین پاسخی است که می تواند پیدا کند، نزدیک به هدف. لاج خاطرنشان می کند که LLM ها برای تکرار یا جستجوی هدف طراحی نشده اند. آنها طراحی شده اند تا “به اندازه کافی خوب” را ارائه دهند پاسخ یک ضربه ای یا چند ضربه ای.”

گزارش نشان می دهد که تعداد کمی از پروژه های منبع باز به طور فعال نگهداری می شوند

یک پاسخ “یک شات” اولین پاسخی است که مدل تولید می‌کند، که با پیش‌بینی دنباله‌ای از کلمات از اعلان به دست می‌آید. در رویکرد «چند شات»، نمونه‌ها یا نکات اضافی به مدل داده می‌شود تا به پیش‌بینی بهتر کمک کند. LLM ها معمولاً برخی از تصادفی بودن را در خود جای می دهند (یعنی “تصادفی” هستند) تا احتمال پاسخ بهتر را افزایش دهند، بنابراین آنها به سوالات مشابه پاسخ های متفاوتی می دهند.

نه این که دنیای LLM از یادگیری تقویتی غافل شود. GPT-4 “یادگیری تقویتی با بازخورد انسانی” (RLHF) را در بر می گیرد. این بدان معناست که مدل اصلی متعاقباً توسط اپراتورهای انسانی آموزش داده می‌شود تا برخی از پاسخ‌ها را بر برخی دیگر ترجیح دهد، اما اساساً این پاسخ‌هایی را که مدل تولید می‌کند در وهله اول تغییر نمی‌دهد. برای مثال، لاج می‌گوید، یک LLM ممکن است گزینه‌های زیر را برای تکمیل جمله «وین گرتزکی یخ دوست دارد…» ایجاد کند.

  1. وین گرتزکی بستنی دوست دارد.
  2. وین گرتزکی هاکی روی یخ را دوست دارد.
  3. وین گرتزکی ماهیگیری روی یخ را دوست دارد.
  4. وین گرتزکی اسکیت روی یخ را دوست دارد.
  5. وین گرتزکی شراب یخی را دوست دارد.

اپراتور انسانی پاسخ‌ها را رتبه‌بندی می‌کند و احتمالاً فکر می‌کند که یک بازیکن افسانه‌ای هاکی روی یخ کانادایی با وجود جذابیت گسترده بستنی، به احتمال زیاد هاکی روی یخ و اسکیت روی یخ را دوست دارد. رتبه بندی انسان و بسیاری از پاسخ های نوشته شده توسط انسان برای آموزش مدل استفاده می شود. توجه داشته باشید که GPT-4 تظاهر نمی‌کند که تنظیمات برگزیده وین گرتزکی را دقیقاً می‌داند، فقط با توجه به درخواست، محتمل‌ترین تکمیل است.

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

استفاده از یادگیری تقویتی در نرم افزار

در مورد توسعه نرم افزار چطور؟ همانطور که نوشتم، GenAI در حال حاضر با توسعه دهندگانی که بهره وری بهتری را با استفاده از ابزارهایی مانند GitHub Copilot یا Amazon CodeWhisperer کشف کرده اند، لحظات خود را سپری می کند. این حدس و گمان نیست – در حال حاضر اتفاق می افتد. این ابزارها بر اساس کدهای قبل و بعد از نقطه درج در محیط توسعه یکپارچه، کد بعدی را پیش‌بینی می‌کنند.

نحوه پیاده سازی کش در حافظه در ASP.NET Core

در واقع، به عنوان دیوید رامل از مجله ویژوال استودیو پیشنهاد می کند، آخرین نسخه Copilot در حال حاضر ۶۱٪ از کد جاوا را تولید می کند. برای کسانی که نگران هستند این کار مشاغل توسعه‌دهنده نرم‌افزار را حذف می‌کند، به خاطر داشته باشید که چنین ابزارهایی نیاز به نظارت انسانی سخت‌گیر دارند تا تکمیل‌ها را بررسی کرده و آنها را ویرایش کنید تا کد کامپایل و به درستی اجرا شود. تکمیل خودکار از همان روزهای اولیه IDEها یک اصل اساسی IDE بوده است و Copilot و دیگر تولیدکنندگان کد آن را بسیار مفیدتر می کنند. اما کدنویسی مستقل در مقیاس بزرگ، که برای در واقع نوشتن ۶۱ درصد کد جاوا لازم است، اینطور نیست.

به گفته لاج، یادگیری تقویتی، با این حال، می‌تواند کدنویسی مستقل در مقیاس بزرگ را انجام دهد. البته، او علاقه زیادی به گفتن این موضوع دارد: در سال ۲۰۱۹، شرکت او، Diffblue، ابزار نوشتن تست واحد مبتنی بر یادگیری تقویتی تجاری خود، Cover را منتشر کرد. Cover مجموعه‌های کاملی از تست‌های واحد را بدون دخالت انسان می‌نویسد و خودکار کردن کارهای پیچیده و مستعد خطا را در مقیاس ممکن می‌سازد.

آیا Lodge مغرضانه است؟ کاملا. اما او همچنین تجربه زیادی برای حمایت از اعتقاد خود دارد که یادگیری تقویتی می تواند در توسعه نرم افزار از GenAI پیشی بگیرد. امروزه، Diffblue از یادگیری تقویتی برای جستجوی فضای تمام روش های آزمایشی ممکن استفاده می کند، کد آزمون را به طور خودکار برای هر روش می نویسد و بهترین آزمون را از بین روش های نوشته شده انتخاب می کند. تابع پاداش برای یادگیری تقویتی بر اساس معیارهای مختلفی از جمله پوشش آزمون و زیبایی شناسی است که شامل یک سبک کدگذاری است که به نظر می رسد یک انسان آن را نوشته است. این ابزار به طور میانگین در یک ثانیه تست هایی را برای هر روش ایجاد می کند.

اگر هدف نوشتن ۱۰۰۰۰ تست واحد برای برنامه‌ای است که هیچ فردی نمی‌فهمد، پس یادگیری تقویتی تنها راه‌حل واقعی است، لاج ادعا می‌کند. LLM ها نمی توانند رقابت کنند. هیچ راهی برای انسان ها وجود ندارد که به طور مؤثر بر آنها نظارت کند و کد آنها را در آن مقیاس تصحیح کند، و بزرگتر کردن و پیچیده تر کردن مدل ها این مشکل را برطرف نمی کند.”

نکته اصلی: قدرتمندترین چیز در مورد LLM این است که آنها پردازنده زبان عمومی هستند. آنها می توانند کارهای زبانی را انجام دهند که به صراحت برای انجام آنها آموزش ندیده اند. این بدان معنی است که آنها می توانند در تولید محتوا (کپی رایتینگ) و بسیاری از چیزهای دیگر عالی باشند. لاج تأکید می‌کند: «اما این باعث نمی‌شود که LLM جایگزین مدل‌های هوش مصنوعی، که اغلب مبتنی بر یادگیری تقویتی هستند، که دقیق‌تر، سازگارتر و در مقیاس هستند.»